Vault is a hard dependency. ShopChest also requires an economy provider registered through Vault; Vault alone is not enough. All creation charges, refunds, buys, sells, balance checks, and displayed currency formatting use that provider.
| Plugin | Verified ShopChest behavior |
|---|---|
| WorldGuard | Registers create-shop, use-shop, and use-admin-shop state flags and checks them during creation and trading. It also supplies the region membership used by marketplace-scoped storefront discovery. |
| Towny | Restricts shop creation to configured plot types according to resident, mayor, and king context. |
| PlotSquared | Registers and evaluates shop flags for supported old and newer PlotSquared API layouts. |
| BentoBox | Registers a shop flag and checks island access. |
| GriefPrevention | Checks claim permission before shop creation/use through its listener hook. |
| AreaShop | Removes shops on configured region lifecycle events; its listener is used with the WorldGuard-backed integration. |
| ASkyBlock / uSkyBlock / IslandWorld | Checks island ownership or access through the installed plugin API. |
| AuthMe | Ignores shop interactions from players who are not authenticated. |
Each hook has an enable-*-integration setting. Most are also listed as soft dependencies so they load before ShopChest when installed. Restart after adding, removing, updating, or toggling an integration.
shopchest.external.bypass lets trusted staff bypass integrated region, plot, island, or claim denials while using shops. shopchest.create.protected separately bypasses a cancelled creation event.
The default storefront-discovery.location-scope: MARKETPLACE includes a shop
only when WorldGuard confirms that it is in world general and region shops,
or the configured replacements. If WorldGuard is absent, disabled, or cannot
answer the region lookup, discovery fails closed. This affects public profiles,
item search, Featured Listing eligibility, and advertising.
GLOBAL is available for servers that intentionally want broader in-game
discovery. Ordinary coordinates remain non-clickable, and the reviewed website
snapshot remains limited to the configured /warp shops marketplace.
AFK Shrine Tokens are earned through the 1MB-Library /afkshrine trades, but
ShopChest does not depend on an AFK Shrine API or guess an internal PDC key.
An administrator holds one genuine token and runs
/shops admin advertise currency capture. ShopChest serializes that complete
ItemStack with amount normalized to 1 in its own data folder.
At purchase time a candidate stack is also normalized to amount 1 and accepted
only when Bukkit's ItemStack.isSimilar says it matches the captured template.
Plain LIGHT_BLUE_DYE, renamed dyes, copied display names/lore, and items with
missing, extra, or changed PDC/components are rejected. A missing or unreadable
template disables purchases rather than falling back to a weaker identity.
This capture boundary lets the AFK Shrine implementation evolve without making ShopChest depend on a guessed token schema. After an intentional token format change, staff should clear and recapture the new genuine item during a maintenance window.
CMI is an optional soft dependency. When installed and
cmi-worth-price-warning.enabled is true, ShopChest uses CMI's public
WorthManager API to compare proposed normal-shop unit prices with the
product's loaded /sell worth. It can flag direct resale opportunities and
unusually low or high ratios without blocking shop creation.
ShopChest does not parse Worth.yml, schedule a file scan, or perform this
comparison during normal trades. It makes one lookup only when a valid
normal-shop proposal is being created. CMI remains responsible for interpreting
item metadata and its worth configuration. /shops admin debug reports whether
the advisory is active and which thresholds are loaded.
Multiverse-Core and MultiWorld are soft dependencies used to improve load ordering for persisted shops in multiple worlds. Shop records include world and block coordinates.
When enable-vendor-bungee-messages is enabled, ShopChest sends vendor notifications over the outgoing BungeeCord plugin channel. This is message forwarding, not shared shop storage. A network that needs common shops must configure a shared MySQL database and validate concurrent behavior in staging.
This custom fork does not include bStats or transmit usage metrics. It also does not contact the original Spigot resource for update information. Plugin updates are distributed as reviewed 1MoreBlock builds through normal server maintenance.
ShopChest does not provide a PlaceholderAPI expansion and does not integrate with mcMMO. Hologram placeholders are internal to ShopChest; external plugins should not treat the fake display entities as players.