Add support for lingering potions across code and docs, bump version to 9.4.3c, and improve potion handling and logging. Key changes:
- Introduce lingering field in PotionInfo (constructor, getter/setter) and include it in serialization/PDC.
- Parse old/new potion config formats (backwards compatible with 4-value PDC) and add config/docs for
lingeringin dev-bukkit, modrinth, spigot.bbcode, and wiki.- Map multiple potion name aliases (e.g. INSTANT_HEAL/HEALTH -> HEALING, INSTANT_DAMAGE/DAMAGE -> HARMING, JUMP_BOOST -> LEAPING, INCREASE_DAMAGE -> STRENGTH) and adapt to 1.20.5+ names.
- Ensure correct item material selection for potions (POTION, SPLASH_POTION, LINGERING_POTION) and include lingering checks when matching/creating potion ItemStacks.
- Register sellable items even if out-of-bounds for GUI display (so 'worth' shops can sell without display slots) and fix ITEMTABLE lookup to use the actual material key; add defensive logging for registration and lookup fallbacks.
- Add extensive debug/logging in Item, Sell, Shop, WorthDisplayManager to aid troubleshooting of potion resolution, matching, registration and finds.
- Bump Maven version to 9.4.3c.
These changes add lingering potion capability, improve backwards compatibility and alias handling, and make item registration/lookup and troubleshooting more robust.
FIXED:
- Some base classes from XSeries were missing during the shading process. Found the ones we needed, and shaded those ONLY.
HOT FIXED:
- Transaction UI not supporting smaller stacks of items, now will intelligently resize automatically.
Bump version to 9.4.3 and introduce permission checks and UI/UX improvements. Changes include:
- pom.xml: version bumped to 9.4.3
- ItemActionHandler: check guishop.shop.<shop> and guishop.shop.* permissions (with OP bypass) and send no-permission message.
- Menu & Shop: unify how player-balance display name and lore are selected (prefer 'name' then 'shop-name'; 'lore' then 'shop-lore'), build a proper player head with owning player, set PDC keys for GUI elements and add editor mode hints.
- Shop: add refreshDynamicPrices() to efficiently update dynamic pricing lore/itemstacks without rebuilding the whole GUI, and openAtPage(player, page) helper to open to a specific page.
- Quantity & TransactionGui: remember the page the player opened from (returnPage) and, when returning/backing out, refresh dynamic prices and open the shop at the original page instead of a full reload.
- Fixed PLAYER_BALANCE items not correctly reading the lore or name from configs
Introduce a dynamic pricing subsystem and integrate it across configs, UI and docs. Key changes: create dynamicpricing.yml (auto-created on init) and load its enabled flag from ConfigManager; update TransactionGui to refresh prices after transactions; extend ItemType to treat SHOP/ITEM/COMMAND as purchasable and adjust editor/shop deserialization/auto-conversion logic; add market/admin commands/docs and marketplace persistence notes; auto-blacklist GUIShop inventories from worth display; refactor SkullCreator to use URI and remove authlib usage; simplify NBT extraction fallback in GuishopCommand; add paperweight manifest entry and adjust maven-shade settings to avoid Paper PluginRemapper; remove obsolete .mojang-mapped resource and bump project version to 9.4.2; update documentation and examples to include SHOP_SHORTCUT and other new/clarified item types. Fixed bugs hiding the showing of buy/selling lore, and prices not refreshing with dynamic pricing enabled.
ADDED:
- Sell Chest/Sell Inventory capability via GUIShop API
- Introduce per-item override support for dynamic pricing
- Introduce ItemType.isPurchasable() as to fix cannot buy and sell lores
FIXED:
- Stack trace when players open regular chests on Folia. Made thread safe.
ADDED:
- 'rows' config option for each shop.
Fix command item placeholders and add sudo mode
- Fix {PLAYER_NAME}, {PLAYER_UUID}, {PLAYER_WORLD}, {PLAYER_BALANCE} not being replaced in COMMAND items
- Add sudo: true/false config option to run commands as player instead of console
- Add sudo toggle button in Item Editor GUI
- Add PDCUtil.KEY_SUDO for editor state persistence
- Create Command-Items.md wiki page with full placeholder documentation
- Update spigot.bbcode, modrinth.md, dev-bukkit.html with command item details
- Add build-time placeholder processing for docs (target/processed-docs/)
- Add configurable variables in pom.xml: mc.version.min/max, supported.platforms, etc.
