Skip to content

Troubleshooting

BeestoXd edited this page Aug 15, 2026 · 1 revision

Troubleshooting

Start here:

/spawner version

and read logs/latest.log. Almost every problem below is logged there with a [Compatibility], [Database], [Economy], [Worth], [Config] or [SpawnerManager] tag. Config mistakes are never reported in chat.


The plugin will not enable

FAILED TO ENABLE box in the console

The version gate rejected the server. The box states the reason: too old, too new, or an unparseable version. See Compatibility.

UnsupportedClassVersionError

The server is running Java 20 or older. The plugin needs Java 21+.

The database is unavailable…

The plugin refuses to start rather than treat every managed spawner as vanilla — which would let players break them and lose their stacks. Fix the connection error logged just above and restart. See Database.

Failed to load configuration files.

A YAML syntax error. The stack trace names the file and usually the line. Common causes: tabs instead of spaces, a missing quote around a value starting with &, or a stray : in an unquoted string.


Spawners

Placing a spawner item does nothing

  • Is SETTINGS.ENABLED true?
  • Is another plugin cancelling the place event? Test with only this plugin (plus Vault / PlaceholderAPI) installed.
  • Is a claim plugin blocking the build?

Right-click does not open the menu

  • Are you holding a spawner item? That stacks instead of opening. Empty your hand.
  • Do you pass the access check? A non-owner sees You do not have access to that spawner.
  • Is it actually a managed spawner? A vanilla dungeon spawner has no GUI. /spawner info will say so.

"You need Silk Touch to break this spawner!"

Working as configured. SETTINGS.REQUIRE_SILK_TOUCH is true, and it applies to all spawners including vanilla ones. Exemptions are Creative mode and ultimatevirtualspawner.spawner.bypass — being an operator alone is not enough, though ops hold that node by default.

Sneak-break did not take the whole stack

By design: sneak-break removes up to 64 spawners per break, not the entire stack. Break repeatedly for a larger stack.

Cannot stack onto an existing spawner

  • Types must match — one block, one mob type (You can only stack the same spawner type…).
  • The block may be at MAX_STACK_PER_BLOCK.
  • You must pass the access check.

A spawner spawns real mobs

  • Check SETTINGS.CANCEL_MOB_SPAWN: true.
  • Confirm it is actually managed with /spawner info — vanilla spawners are unaffected until broken and replaced from a spawner item.

A spawner block became a vanilla spawner

The database row was lost — usually a rollback, a restore, or a wiped database file. If the block still carries its persistent data the plugin adopts it back automatically on the next interaction and logs Restored a stray … spawner …. Stack and ownership return; stored loot does not.


Generation

A spawner produces nothing

Work down this list:

  1. SETTINGS.ENABLED: true?
  2. Are all its filters disabled? Open the filter menu and click Enable All.
  3. Has a material hit STORAGE_CAP_PER_LOOT_KEY? At the cap, generation of that material is silently discarded. The main menu's percentage shows this.
  4. REQUIRE_PLAYER_NEARBY: true with nobody in PLAYER_NEARBY_RADIUS?
  5. PROCESS_ONLY_LOADED_CHUNKS: true with the chunk unloaded?
  6. Does the type still exist in spawners.yml? A removed or ENABLED: false type stops its spawners generating. Re-add it and they resume, catching up all at once.
  7. Does the drop table produce anything? Check CHANCE is above 0 and MAX is at least 1.

Way too much loot

BASE_ITEMS_PER_CYCLE multiplies the whole drop table, and stack size multiplies it again. Run the numbers in How It Works before shipping a type.

A huge lump of loot arrived at once

Normal catch-up. Elapsed time accrues while a spawner is ineligible and is paid out in one go when it becomes eligible again. See How It Works.


Selling

"Selling is disabled or no economy plugin is installed"

/spawner version

If it says Economy: unavailable (mode: VAULT), ECONOMY.PROVIDER is VAULT — the packaged default — but no Vault economy is registered. Set it to INTERNAL or AUTO in config.yml and restart (this setting is not picked up by /spawner reload).

Also check SELL.ENABLED: true in spawners.yml.

"There are no sellable items stored in that spawner"

Every stored material either has no price or is filtered off. Add prices under SELL.PRICES, and check the filter menu. See Selling.

A material sells for the wrong amount

  • A SELL_PRICE on a drop entry overrides SELL.PRICESglobally, for every type.
  • Permission multipliers stack on top of SELL.MULTIPLIER; only the highest node a player holds counts.
  • Watch for a stray [Worth] Unknown material in SELL.PRICES: warning at start-up.

Money does not show up in another plugin's shop

Two separate pots. Either set ECONOMY.INTERNAL.REGISTER_WITH_VAULT: true with Vault installed, or switch to PROVIDER: VAULT so the other plugin owns money. See Economy.


Economy commands

"Money is handled by X on this server"

ECONOMY.PROVIDER is VAULT, or AUTO with an external economy registered. Use that plugin's commands, or switch to INTERNAL and restart.

/balance says no permission

ultimatevirtualspawner.command.balance is granted to everyone by default; something in your permission plugin is negating it. Check for a -ultimatevirtualspawner.* node on the group.


GUIs

A menu opens empty or looks broken

  • SIZE must be a multiple of 9, at most 54.
  • Two buttons on the same SLOT will overwrite each other.
  • A button whose SLOT falls inside the loot area is treated as a storage slot and does nothing.

See menus.yml.

Colour codes show as literal text

Quote values starting with &: TITLE: '&aSell All'.

{placeholder} shows literally

Wrong menu — each screen supports its own set. Check the table in menus.yml.


Anti-ESP

Players see stone instead of their spawner

Working as intended until they get within OWNER_SEE_RADIUS (default 9) with line of sight. Raise the radius if it feels wrong, or set REQUIRE_LINE_OF_SIGHT: false.

Camouflage blocks stay after the spawner is gone

Concealment is client-side. A stale block clears on the next update — moving, teleporting, or relogging. If it persists, /spawner reload refreshes every online player.


Config changes do not take effect

/spawner reload covers almost everything. These need a full restart:

Setting
ECONOMY.PROVIDER The provider is wired at start-up
DATABASE.* The connection is opened at start-up
COMPATIBILITY.* The gate runs before anything else
SETTINGS.GENERATION_INTERVAL_SECONDS The task keeps its original period; output rates do change immediately

Also check the console after reloading — an invalid material or entity type is logged as a warning and skipped, leaving the old value in place.


Placeholders

%uvs_...% shows as literal text

  • Is PlaceholderAPI installed? Look for [Hooks] Registered PlaceholderAPI expansion 'uvs'. at start-up.
  • Is the name right? Check Placeholders — a typo returns the literal text.
  • %uvs_looking_*% and %uvs_world% need an online player and return empty otherwise.

Still stuck

Collect:

  1. /spawner version output
  2. /version output
  3. java -version output
  4. The full stack trace from logs/latest.log — text, not a screenshot
  5. The relevant section of any config you changed
  6. Whether it still happens with only this plugin (plus Vault / PlaceholderAPI) installed

Then:

  • Questions and setup helpDiscord
  • Bugs and feature requestsGitHub Issues
  • Security issues — do not open a public issue for anything exploitable (dupe bugs, permission bypasses, economy exploits). Report them privately on Discord.

Clone this wiki locally