Depending on ChestShop(top)
You can use maven to add ChestShop as a dependency to your project:
ChestShop is getting more and more event-driven. Here is a summary of all events currently existing:
- AccountCheckEvent - checks for the existence of an account
- CurrencyAddEvent - represents an addition of currency to entity
- CurrencyAmountEvent - checks the amount of currency available
- CurrencyCheckEvent - represents a check for the existence of specified currency amount
- CurrencyFormatEvent - represents a moment when the currency needs to be shown
- CurrencyHoldEvent - checks if the account can hold the amount of currency
- CurrencySubtractEvent - represents a subtraction of currency to entity
- CurrencyTransferEvent - represents a transaction of goods between two entities
- PreTransactionEvent - It's a pre-transaction event. It can be used to cancel transactions, for example when the player hasn't got enough EXP.
- TransactionEvent - It's a post-transaction event, so it is fired after a transaction is made. It can be used, for example, for logging transactions.
- PreShopCreationEvent - Called when a shop is being created. Can be used to cancel shop creation, modify the sign, etc.
- ShopCreatedEvent - Called after a shop is created. Can be used for logging/rewarding with EXP, etc.
- ShopDestroyedEvent - Called when a shop is destroyed.
- BuildPermissionEvent - checks if a shop can be made in its location. It's only blocking shop creation if all plugins that used it blocked the usage.
- ProtectBlockEvent - this event is called to tell protection plugins to protect the block. You should usually check if the block has been protected already before protecting it.
- ProtectionCheckEvent - checks if a block is protected and if the player from the event can access the block.
- AccountQueryEvent - used to query the account information from the sign name. If you want special shop owners (e.g. clans or factions) then you'll want to work with this.
- ItemInfoEvent - can be used to add item information to the /iteminfo command, or for logging the usage of it. It's a post-action event.
- ItemParseEvent - parses item stacks from the strings on a sign. Can be used to add custom item functionality or additional data
- MaterialParseEvent - parses the material name from the sign string. Can be modified for custom item support