Releases: ez-plugins/EzShops
Releases · ez-plugins/EzShops
2.2.3
What's Changed
- Add EzBoost Discount Boost Support (#25) by @matheusherman in #34
- fix: not in rotation check by @ez-plugins in #37
Full Changelog: 2.2.2...2.2.3
2.2.2
- New NBT filter options for sell prevention ( by @matheusherman in #27 )
- Added NBT data whitelist
- Added NBT data blacklist
Default config.yml settings
sell:
# Ignore items with NBT (custom tags/metadata) during /sellhand and /sellinventory
# When enabled, only plain items without NBT will be sold.
# For example: if you have a "Supreme Bone" (with NBT) and normal bones,
# only the normal bones will be sold when using /sellinventory.
# Default: false
ignore-items-with-nbt: false
# NBT tag filter for more granular control
# Mode: 'off', 'whitelist', or 'blacklist'
# - 'off' (default): Ignore the filter, use ignore-items-with-nbt setting only
# - 'whitelist': Only allow items with NBT tags in the whitelist
# - 'blacklist': Block items with NBT tags in the blacklist
nbt-filter:
mode: "off"
whitelist: []
blacklist: []2.2.1
- Added
item-typeoption to make it easier to prevent normal shop executionITEM— Default. The player receives the configured ItemStack when they buy the item.COMMAND— The player is charged and pricing/dynamic effects are applied, but no ItemStack is given. Any configuredon-buycommands (orbuy-commands) will be executed.NONE— The player is charged and pricing/dynamic effects are applied, but no ItemStack is given and no commands are executed. Useful for non-physical purchases (tokens, permissions, etc.).
2.2.0
- Added toggle in configuration to disable player-shop protection
# When true, other players cannot open or break player shop chests/signs.
# Set to false to allow other players to open the chest and break the sign.
protection-enabled: true- Added automated testing in Github project
- Added CI to run feature and unit tests when pull request is created in Github project
- Added CI to validate YML configuration files in Github project
2.1.3
- Fixed typing quantity in chat for creating new
/playershop - Fixed typing price in chat for creating new
/playershop
2.1.2
- Improved pagination logic
- Added
preserve-last-rowoption to preserve the row with actions for the actions only - Added pagination documentation
- Added command autocomplete for configured
price-ids to show when using/shop buy <material>and/shop sell <material>
2.1.1
Per-item price keys (price-id) (optional)
To allow multiple independent price entries for the same Minecraft Material (for example two different shop items that both use EXPERIENCE_BOTTLE), items may declare an optional price-id string in their configuration. When present, the plugin uses this price-id as the pricing key (and as the dynamic-pricing state key stored in shop-dynamic.yml) instead of the material name.
Notes:
price-idis optional; if omitted the material name (e.g.DIAMOND,EXPERIENCE_BOTTLE) is used and pricing remains material-scoped (backwards compatible).price-idmust be unique across your shop configuration if you want independent pricing/multipliers for two items that share the same material.- Dynamic state (multipliers) are saved by
price-idinshop-dynamic.ymlwhen present; legacy material keys continue to be supported.
Example (category item):
my-exp-bottle-item:
material: EXPERIENCE_BOTTLE
price-id: exotic_exp_1 # optional unique key to separate pricing
buy: 10.0
sell: 5.0
dynamic-pricing:
starting-multiplier: 1.0
min-multiplier: 0.5
max-multiplier: 3.0
buy-change: 0.01
sell-change: 0.012.1.0
- Added pagination in shop category detail GUI
- Added custom
{translation:TRANSLATION_KEY}placeholders to use translated values from themessages/system.
{translate:hooks.player-lacking-permission-message}- Moved player shop class
SignFormatin new class for reusability purposes - Updated all configuration files through AI to implement translation placeholders in the language files.
- Added command execution on shop buy or selling
categories:
enchantments:
name: "{translate:shop.categories.enchantments.name}"
...
display-name: "{translate:shop.common.menu.fill-display-name}"
items:
sharpness_v:
...
on-buy:
execute-as: console
commands:
- "broadcast test 1 2 3"
enchantments:
sharpness: 5