Quark Shop Guard¶
Stops Quark's inventory buttons (Insert, Extract, Restock, Sort) from working inside plugin menus such as shops, so they cannot be used to pull items out of a GUI. They still work in real chests.
What it does¶
- Quark adds buttons that move or sort many items at once. In a plugin menu (a shop, a vault, any GUI a Bukkit plugin opens) those buttons can take items the plugin never meant to hand out.
- This mod blocks those bulk actions only in plugin menus. Chests, shulker boxes and other normal containers work exactly as before. Sorting your own inventory always works.
- A blocked action does nothing. The player gets no message. The server console logs a warning with the action, the menu type, and the player's name and UUID.
Server-side only. Clients install nothing.
How players use it¶
Players do not interact with this mod. Quark's buttons simply do nothing in shop and plugin menus.
Staff guide¶
There are no commands. If you suspect someone is trying to exploit a menu, search the console for the warnings this mod writes; each names the player and the action.
Configuration¶
None.
Data and storage¶
None.
Troubleshooting¶
| Symptom | Cause | Fix |
|---|---|---|
| Server fails to boot after a Quark update | The mod only accepts Quark 4.1-481 or 4.1-488, and its mixins are required |
Check the new Quark code, update the mixins, and rebuild |
| Quark buttons blocked in a normal chest | Should not happen; only Bukkit-opened menus are blocked | Report it with the menu class from the log |
Player reports Quark buttons "do nothing" in /shop |
Working as intended | None |
Boot line: Quark Shop Guard loaded; bulk inventory actions are blocked in Bukkit plugin menus.
Maintainer notes¶
- Two mixins:
InventoryTransferHandler.transfer(Insert, Extract, Restock) andSortingHandler.sortInventory(container sorting). Both are required. - How a plugin menu is detected: Youer wraps inventories opened through Bukkit's
Player#openInventoryinorg.bukkit.craftbukkit.inventory.CraftContainer. Normal block interaction opens native menus (ChestMenu,ShulkerBoxMenu, mod menus). OnlyCraftContaineris blocked, on the server, before Quark reads or changes any slot. - The Quark dependency is pinned to exactly
4.1-481or4.1-488(488 renamedsortInventorytosortContainer; the mixin targets both) so an update fails at boot instead of silently removing the protection.
Building¶
./gradlew clean build -Pquark_jar=/absolute/path/to/Quark-4.1-488.jar
Output: build/libs/quarkshopguard-<version>.jar. If this folder has no Gradle wrapper, use another
mod's: from the Mods folder run
./trainer-card-balance-hider/gradlew -p quarkshopguard clean build -Pquark_jar=....
Full command, permission and config tables: Reference.