ChestShop's API

Overview of ChestShop's API


Depending on ChestShop

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:

Economical events

  • AccountCheckEvent - checks for the existence of an account
  • CurrencyAddEvent - represents an addition of currency to entity
  • CurrencySubtractEvent - represents a subtraction 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
  • CurrencyTransferEvent - represents a transaction of goods between two entities

Transaction Events

  • 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.

Shop Events

  • 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.

Protection Events

  • 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.
  • ProtectionCheckEvent - checks if a block is protected and if the player from the event can access the block.
  • 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.

Miscellaneous Events

  • 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.
  • 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.