FAQ
Frequently asked questions about using JoyMart. Click a question to expand its answer.
Q: Player's inventory cleared after entering a game?
A: This is by design — JoyMart saves and clears the inventory on entry, and restores it on leave. If a server crash prevented restoration, restart and have the player enter then leave JoyMart once to recover it.
Q: Multiplayer invitation sent but recipient didn't get it?
A: Check config.yml's invitations.style setting (json / actionbar / title), and whether the recipient is on the same server (cross-server invitations require MySQL mode + BungeeCord event forwarding — this version does not include built-in cross-server invitation forwarding).
Q: Shop items don't respond when clicked?
A: Check tokenShop.yml for correct indentation, and that the item's buyPermission is properly assigned by your permission plugin.
Q: Cursor item disappeared when listing/unlisting?
A: Earlier versions modified the cursor synchronously inside InventoryClickEvent, which conflicted with client prediction and caused the item to "vanish". This version wraps all cursor modifications and build() calls inside Bukkit.getScheduler().runTask(), deferring them to the next tick to fully resolve the issue. If you still encounter it, confirm your jar is the latest build.
See Configuration Files - Shop Management GUI for the "listing / unlisting fix" notes.
Q: How to edit lottery/slot machine prizes?
A: An admin runs /gba games → picks the game → clicks the Prize Pool button to visually add/remove prizes, adjust weights and rewards in the GUI. Saving writes the result to the corresponding game's config.yml automatically — no manual editing needed.
See Configuration Files - Lottery / Slot Machine Prize Pool for the prize-pool config format.
Q: Maze too easy/hard?
A: The maze size is hard-coded to 9×9 (recursive backtracking guarantees a unique path). To change it, modify the n constant in MazeSession.java and rebuild.
Q: How to add own language?
A: Copy plugins/JoyMart/language/language_en.yml to language_xx.yml, translate all keys, and set language.default: xx in config.yml. Game-specific language files live in language/game_<game>/language_xx.yml — copy and translate the same way.
Q: Set Chinese but game still shows English?
A: Make sure language.default: zh in config.yml, then run /gba reload. The plugin will copy language_zh.yml and each game's language_zh.yml to the plugins/JoyMart/language/ directory automatically.