3 releases, newest first.
The owner menu is a SnLib menu now. SnLib 1.28.0 added menus that can receive an item
(input cells + an open player inventory + item offers), and this release moves the owner menu
onto it. The layout lives in guis/owner.yml, in the same dialect as the buyer menu; the old
owner-menu.yml at the plugin folder root is no longer read, and the plugin logs a pointed
warning if it finds one. "Your item is read, never consumed" is now enforced by SnLib itself.
What changed in how the menu behaves, each on purpose:
guis/owner.yml (SnLib menu dialect). The old
owner-menu.yml is ignored; delete it once restyled. To remove the withdraw button, delete
the w from the layout - there is no toggle key any more.hologram: in config.yml:
bounce-amplitude (0.1 blocks, 0 turns it off) and bounce-period-ticks (80). The bob is
carried by the same push the spin already sends, so it costs nothing extra no matter how many
shops are loaded.1k, 1.5m, 2b, up to Qi, and
1.500.000 typed back exactly as the menu prints it. Numbers written out in full stay exact at
any size. A line with more than one separator, or one past the largest price there is, is
refused instead of guessed at.config.yml ships two example currencies instead of six - one command-backed, one
EdTools-backed, one of each shape. currencies: is marked extensible, so nothing an operator
already declared is added, removed or touched by the update.Player-owned display shops: place a tagged item, set a price, and it trades on its own.
ItemDisplay spinning above a text line, with
DecentHolograms driving the text where it is installed and a native TextDisplay where it is not.%sndisplayshops_shops_count%, %sndisplayshops_shops_max%,
%sndisplayshops_shops_total%.Everything the plugin says and every number it uses lives in config.yml, lang/messages_en.yml,
guis/buyer.yml and owner-menu.yml. All four are managed: new keys are merged in on upgrade and
your edits are kept.
Two worth knowing before you tune them:
database.pool-size ships at 1 on purpose. Two writers can land a shop's stock updates out of
order, and the losing write is the one that survives a restart. The plugin logs a SEVERE if it
finds MySQL configured above 1.limits.max-pickup-stacks has no "off" value. Picking up a shop hands its whole stock back in
one tick, so an unbounded value is a hang rather than a preference.