Tags
Creators
Details
Spigot_Paper_Purpur_1.0.18
Compatibility
Changes
ShopShelves 1.0.18 — TradeShelves Compatibility Update
ShopShelves and TradeShelves (item-for-item trading on shelves) now work together on the same server: https://modrinth.com/plugin/tradeshelves Install both and they detect each other on startup. ShopShelves always takes priority.
NEW — TradeShelves compatibility
- Automatic detection: ShopShelves finds TradeShelves on startup and logs that compatibility mode is active and which hand each plugin uses for player shops.
- One shelf, two hands: with both plugins installed, the hand you place the shelf with decides which
kind of player shop you make. By default:
- main hand = ShopShelves shop
- off-hand = TradeShelves trade shelf Set TradeShelves_offhand: false to swap the hands. Admin shops are not affected and keep using each plugin's own admin mode.
- Money and trades on one chest: the same owner can put a ShopShelves shop AND a trade shelf on the same chest, barrel, copper chest or double chest. A chest already linked to another player's shop (from either plugin) can't be used.
- One reload for both: /shops reload reloads ShopShelves first, then TradeShelves. /trades reload reloads ShopShelves first as well.
- Trade shelves are left alone completely: ShopShelves never interacts with, protects, breaks or re-chains a TradeShelves shelf.
NEW — Compatible settings (config.yml)
New settings, added to your config automatically. They only do something while TradeShelves is installed:
─── Compatible settings (only used when TradeShelves is installed) ───
true: ShopShelves player shops use the main hand, TradeShelves player shops use the off-hand.
false: the other way around.
TradeShelves_offhand: true
true: TradeShelves uses the ShopShelves permission nodes (tradeshelves.X = shopshelves.X).
TradeShelves_permissions: false
true: TradeShelves uses the default player shop limit from this config.
TradeShelves_ownlimit: false
- TradeShelves_permissions: true lets one set of shopshelves.* permissions control both plugins (tradeshelves.arrow is checked as shopshelves.mode).
- TradeShelves_ownlimit: true makes TradeShelves use this config's default_player_shelf_limit.
FIXED — Off-hand player shops
- Sneak-placing a shelf against a container with the off-hand now creates a player shop. Before, it did nothing.
- Without TradeShelves installed, both hands work.
NEW — Shelf compatibility for other plugins (developers)
- ShopShelves now ignores any shelf that another plugin has claimed. A shelf is foreign when its PersistentDataContainer holds, in any namespace other than shopshelves: <namespace>:shelf_claim any value <namespace>:shop_mode any value except NONE drawershelf:type any value except NONE (DrawerShelves)
- TradeShelves and DrawerShelves follow the same rule, so one claim key makes a shelf invisible to all three plugins. See the Developer API section on the plugin page.
- DrawerShelves drawers are recognised through the same check. Before, they had a separate check.
IMPROVED
- Sneak-placing a shelf against a container now always tells you why no shop was made: container already linked, no permission, or player shop limit reached. Before, some of these failed silently.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:SmwrUlZx:ycInYScu"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:SmwrUlZx:ycInYScu"
}

