tapscrollWIKI

FAQ

Common Gavel questions — item safety, economy setup, custom items, migration and what to do when a price looks wrong.

Gavel v1.0.0Paper · Folia supported1.21 – 1.21.x

Can players lose items?

The design answer is no, and there are three specific reasons.

Everything that could otherwise be lost goes to the mailbox: expired listings, cancelled listings, won auctions and admin restores. With mailbox.purge-after-days: 0 (the default) nothing is ever deleted.

Menus never contain real items. What you see in a GUI is a rendered copy; a click resolves to a listing ID. The sell flow takes the item by inventory slot, not by matching item values. This closes the entire class of duplication bugs that comes from putting live ItemStacks in an inventory holder.

Money moves before the row does. A purchase debits the buyer, then does a compare-and-set on the listing. If somebody else won the race, the money is refunded. The reverse order produces sold listings that were never paid for.

Will listings survive a Minecraft update?

Items are stored with ItemStack#serializeAsBytes, which runs through Mojang's DataFixerUpper. That is the same mechanism that migrates your world data, so listings survive the format changes that broke other auction plugins on 1.20.5 and 1.21.5.

Which economy plugins work?

Anything Vault supports, out of the box. For everything else, EconomyProvider is public API — the interface for wiring up CoinsEngine, PlayerPoints or an item currency is documented in the plugin's README.

YAML
economy:  provider: VAULT

Do custom items work?

Yes. Gavel soft-depends on ItemsAdder, Nexo, Oraxen, MMOItems, ExecutableItems and EcoItems. Items from those plugins list, render and price like anything else.

Price estimates for custom items work through the same fallback cascade: exact key first, then a relaxed key, then a component estimate.

The suggested price looks wrong

Check the confidence tier first. Below 10 samples it is labelled low, and a low-confidence estimate on a rarely traded item is exactly as reliable as it says it is.

If confidence is high and the number still looks wrong, one of these is usually the cause:

  • Your server is young. window-days: 30 with a two-week-old economy is a small sample.
  • The market genuinely moved. Lower half-life-days from 5 to 3 so the estimate reacts faster.
  • Somebody is manipulating it. Check plugins/Gavel/logs/integrity.log. If flags are there but exclude-from-pricing is off, turn it on.

Can somebody manipulate the market?

They can try. Trading an item back and forth with an alt to pump its median is the standard attack, and Gavel's integrity system is built specifically for it — repeat-pair scoring, volume, price outliers, shared-address and self-trade checks.

The important part is that flagged trades are excluded from the price sample by default. Even if nobody ever reads the log, the manipulation produces no effect on the number it was trying to move.

How do I stop 32k swords being sold?

The blacklist has an enchantment cap built in:

YAML
auction:  blacklist:    max-enchant-levels:      "*": 10      "minecraft:sharpness": 5      "minecraft:protection": 4    reject-suspicious-attributes: true

"*" applies to any enchantment not listed individually. reject-suspicious-attributes also refuses items with attribute modifiers beyond vanilla ranges, which catches the modified-gear variants that have no illegal enchantment at all.

Can I run one market across my whole network?

Yes — MySQL for storage, Redis for live invalidation. Full setup on Cross-server.

The one thing to get right first: your economy must be shared too. A shared market with separate per-server balances is a currency transfer exploit.

Does it work on Folia?

Yes, folia-supported: true. No configuration differences.

How do I add another language?

Copy plugins/Gavel/lang/en.yml to fr.yml (or any code) and translate it. The file name is the code. With general.follow-client-locale: true, players whose client is set to that language get it automatically; /ah lang <code> always overrides.

German ships with the plugin.

Can I change the menus?

Every layout lives in plugins/Gavel/gui/ — one file per menu, with slots, materials and lore. /aha reload picks up changes without a restart.

A player says their item vanished

Run this first:

BASH
/aha listings PlayerName

It shows their listings including expired ones. If the listing expired, the item is in their mailbox — /ah mail. If you need to hand it back manually, hold a replacement and run /aha give PlayerName, which sends it to their mailbox rather than dropping it at their feet.