
ShopShelves
New advanced way of admin shops and playershops. ShopShelves and PlayerShelves
Making textdisplays not spam packets to players, making textdisplays more reliable and less data consuming (lesser lag)
Making ShopShelves mod more reliable over all
Feedback is always apreciated check my discord!
Fixed sell and buy prices from config not working properly Fixed formatting Stronger compatibility with Chat Mod TextDisplay's updated to perform better
Нет описания изменений
Downgraded to java 21 (for 1.21.9+ to work again) Fixed Bug: OutOfMemoryError
ShopShelves Spigot — Changelog
Version 1.0.12
New Feature: Sale & Tax System • Added /shops sale and /shops tax commands for applying server-wide or per-player price modifiers to admin shops. • Global deals replace each other (only one global sale and one global tax active at a time). • Player deals stack — multiple timed deals can coexist without losing earlier ones when a newer one expires. • Resolution logic: highest sale wins, highest tax wins, they cancel each other out. A 25% sale and 20% tax results in a net 5% sale. • Global deals take priority over personal deals when the global percentage is higher on that side. • Added /shops deals command to view active global and personal deal percentages at a glance. • Text displays on admin shops automatically update to reflect the active global deal price when a sale or tax is set or cleared. • Player-owned shelf shops (PLAYERSHELF mode) are completely immune to deals — sales and taxes are an admin tool and do not affect player shops. • Added player_deals_online config option: when enabled, personal deal timers only count down while the player is connected to the server. Global deals always use wall-clock time. • Timed deals accept duration tokens: 30m (minutes), 6h (hours), 7d (days).
New Permission Nodes • shopshelves.sale — allows using /shops sale. • shopshelves.sale.
— allows applying a sale up to N% (e.g. shopshelves.sale.20). • shopshelves.sale.# — allows applying a sale of any percentage. • shopshelves.tax — allows using /shops tax. • shopshelves.tax. — allows applying a tax up to N%. • shopshelves.tax.# — allows applying a tax of any percentage. • shopshelves.deals — allows viewing active deals via /shops deals. Defaults to true (all players). New: Deal Placeholders The following placeholders are now available in messages.yml and display format strings: • %sale% — net effective sale % after global+personal cancellation (0 if none). • %tax% — net effective tax % after global+personal cancellation (0 if none). • %sale_format% — always renders as "Sale X%" even when 0. • %tax_format% — always renders as "Tax X%" even when 0. • %if_sale% — renders "Sale X%" only when a sale is active, otherwise empty. • %if_tax% — renders "Tax X%" only when a tax is active, otherwise empty. • %global_deal% — shows the winning side for global deals only ("Sale X%" or "Tax X%" after they offset each other, or empty if equal/zero). • %player_deal% — shows the winning side for the combined player result (global + personal). Whichever side is larger after cancellation wins.
Developer API • Added price modifier API to ShopshelvesApi. Third-party plugins can now apply and remove per-player price multipliers for admin shops programmatically. • ShopshelvesApi.setPlayerPriceModifier(uuid, multiplier) — applies a permanent modifier. 0.80 = 20% discount, 1.20 = 20% surcharge. • ShopshelvesApi.setPlayerPriceModifier(uuid, multiplier, durationMs) — timed version. • ShopshelvesApi.removePlayerPriceModifier(uuid) — removes any modifier set by the calling plugin. • ShopshelvesApi.getEffectivePriceMultiplier(uuid) — returns the combined effective multiplier for a player (all sources: API + command + global). • ShopshelvesApi.hasActiveModifier(uuid) — returns true if any deal is currently active for a player. • API modifiers feed into the same stacking system as command-set deals and respect all existing PLAYERSHELF immunity rules. • Added DealEntry.Source.API to distinguish API-set modifiers from command-set ones internally.
Persistence • All deals (global and player) are persisted in the existing shopshelves.db SQLite file across server restarts. A new deals table is created automatically on first run — no migration steps required.
Нет описания изменений
Нет описания изменений
Changelog:
- Custom Price GUI New Statistics Book.
- Customer GUI Shift right/left click the shops top front face.
- Breaking the container of a playershop now correctly gets rid of the shop.
- World list added to main config when list empty allow all worlds otherwise list is allowing.
- Shop labels can now be changed using the Custom Price GUI.
- Custom price chat input now accepts item amount.
- Old configs should now get the new messages added to them automatically on mod update.
- /shops admin
now accepts a player name to set other players in admin mode. - Main config now accepts a language setting for %item% (found in the statistics books and chat messages).
Changes:
- Missing messages in the configs will now apply to existing configs on update.
- Player shops now better "remove" when container is broken.
- /Shops admin
is now a thing - The main config now supports a language setting for the %item% placeholder.
Big Changelog:
- World Guard support allow-shop flag for convenience using same flag as other shop plugins for easy migration.
- World list in config now accepts a list of worlds that allow the shops to work in when list is empty all worlds allow shops.
- Shop Labels the custom price gui now allows changing your shops name!
- Players can now see the actuall shelf block contents by shift right clicking the name of the shop to open a GUI.
- Custom price chat input now accepts an item amount.
- New permissions: shopshelves.setlabel, shopshelves.setlabel.color, shopshelves.playershelf.worlds, shopshelves.playershelf.
Custom Price GUI:
New Shop Shelf Statistics Book:
Shows the slot number item name and amount in lore + the profit and loss made on this shop
More Compatible with DrawerShelves: No longer turns Drawers into shops:
- Now also removes drawers from being turned into player shops.
- Now allows admins and shop owners to break the container to remove the playershop.
- Now adds copper chests to playershop containers (to match the fabric version)
Custom Price GUI:
New Shop Shelf Statistics Book:
Shows the slot number item name and amount in lore + the profit and loss made on this shop
Нет описания изменений
Update Changelog
Fabric Mod from 1.0.1 to 1.0.6 to match plugin version. Configs have been moved from JSON to YML. Formatting now better matches the plugin variant too. Mod is young and new my apologys for the config changes.
💎 New Features
- Custom Price GUI: A dedicated interface for setting and managing item prices.
- Explosion Immunity: Shelf blocks are now 100% immune to all mob-based explosions (e.g., Creepers, Ghasts), keeping your shop safe.
🔧 Interaction & Logic Updates
- Refined Interaction Zones: * Price Config: Right-click or Shift + Right-click the top 4 or bottom 4 horizontal pixels of the front face to open the custom price GUI.
- Shop Mode: The "Switch Shop Mode" function now only triggers when interacting with the 8x16 pixel front slots.
- Left/Right Click Logic: General updates to interaction handling for a smoother user experience.
- TextDisplays: No longer visible thru walls.
🛡️ Security & Protection
- Slot Hardening: The 8x16 pixel front face slots no longer allow breaking, preventing accidental destruction of the display area.
- Hopper Lockdown: Hoppers are now completely disabled for Shop Shelves. They can no longer pull items out or push items in, ensuring manual-only transactions.
Quick fix: Textdisplays will no longer be visible thru blocks, walls, buildings. Cons: They are a little less bright
Update Changelog
💎 New Features
- Custom Price GUI: A dedicated interface for setting and managing item prices.
- Explosion Immunity: Shelf blocks are now 100% immune to all mob-based explosions (e.g., Creepers, Ghasts), keeping your shop safe.
🔧 Interaction & Logic Updates
- Refined Interaction Zones: * Price Config: Right-click or Shift + Right-click the top 4 or bottom 4 horizontal pixels of the front face to open the custom price GUI.
- Shop Mode: The "Switch Shop Mode" function now only triggers when interacting with the 8x16 pixel front slots.
- Left/Right Click Logic: General updates to interaction handling for a smoother user experience.
🛡️ Security & Protection
- Slot Hardening: The 8x16 pixel front face slots no longer allow breaking, preventing accidental destruction of the display area.
- Hopper Lockdown: Hoppers are now completely disabled for Shop Shelves. They can no longer pull items out or push items in, ensuring manual-only transactions.
🛠️ ShopShelves Spigot - Version 1.0.5
📦 Smart Inventory Check (Purchase Protection) We’ve fixed an issue where players were sometimes charged for items even if their inventory was full. If you don't have enough room to fit the entire purchase, the transaction will safely cancel, and you won't lose a single cent! 🏷️ Stable Shop Displays Fixed a rare visual bug where the "Price" and "Amount" text labels on a shelf could sometimes swap places or flicker. Labels are now "locked" to their specific lines, ensuring your shop looks professional and consistent at all times. 🍺 BreweryX Integration Full support for BreweryX custom brews! Shops now recognize specific Brewery recipes and their quality levels. You can now set custom prices for different types of aged drinks and specialized brews just like any other item.Fixing TextDisplays vanishing / being removed
Spigot and Paper plugin Bug fix north and south mixing up slots
Нет описания изменений

