Skip to content

Releases: ez-plugins/EzShops

2.2.3

02 Mar 12:20
8992d6e

Choose a tag to compare

What's Changed

Full Changelog: 2.2.2...2.2.3

2.2.2

09 Feb 21:31
5e14cdd

Choose a tag to compare

  • 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

08 Feb 15:39
026f273

Choose a tag to compare

  • Added item-type option to make it easier to prevent normal shop execution
    • ITEM — 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 configured on-buy commands (or buy-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

31 Jan 11:02
5abca5a

Choose a tag to compare

  • 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

29 Jan 22:08
502ec2f

Choose a tag to compare

  • Fixed typing quantity in chat for creating new /playershop
  • Fixed typing price in chat for creating new /playershop

2.1.2

29 Jan 13:06
7a9fa8d

Choose a tag to compare

  • Improved pagination logic
  • Added preserve-last-row option 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

29 Jan 00:03
6a9a133

Choose a tag to compare

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-id is optional; if omitted the material name (e.g. DIAMOND, EXPERIENCE_BOTTLE) is used and pricing remains material-scoped (backwards compatible).
  • price-id must 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-id in shop-dynamic.yml when 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.01

2.1.0

28 Jan 08:55
1be3d8b

Choose a tag to compare

  • Added pagination in shop category detail GUI
  • Added custom {translation:TRANSLATION_KEY} placeholders to use translated values from the messages/ system.
{translate:hooks.player-lacking-permission-message}
  • Moved player shop class SignFormat in 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

2.0.3

24 Jan 21:17
4f09884

Choose a tag to compare

  • Fixed issue: 1 dynamic pricing looks strange buy price (#8)
  • Fixed issue: Prevent item dragging in stock GUIs (#10)
  • Fixed Discord notification formatting (#11)

2.0.2

23 Jan 20:48
a92e518

Choose a tag to compare