Skip to content

Configuration

BeestoXd edited this page Aug 15, 2026 · 1 revision

Configuration

Everything lives in plugins/UltimateVirtualSpawner/.

File Contents Page
config.yml Compatibility gate, database, economy and currency formatting config.yml
spawners.yml Spawner behaviour, anti-ESP, sell prices, drop tables per type spawners.yml
menus.yml Every GUI layout: sizes, slots, materials, titles, lore menus.yml
messages.yml Every chat message messages.yml
sounds.yml A sound effect for each spawner action sounds.yml

How loading works

On every load — start-up and /spawner reload — each file goes through the same steps:

  1. If the file does not exist, the packaged default is written out.
  2. The file is read.
  3. It is compared against the packaged defaults, and any missing key is filled in from them.
  4. The result is written back to disk.

So:

  • Updating the plugin never wipes your customisations. New options added by a release appear in your file automatically, with their default values, right where they belong.
  • You cannot delete an option to "disable" it. It comes back on the next load. To turn something off, set it to false / '' / 0, whichever the option documents.
  • Comments and key order in your file are preserved for keys you already have; newly injected keys are appended by the YAML writer without their explanatory comments. Compare against the jar's copy (or this wiki) if a new key appears with no explanation.

What /spawner reload picks up

Almost everything:

  • drop tables and spawner types
  • stack and storage limits, generation gating, hopper extraction
  • anti-ESP radii, camouflage materials, bypass permission
  • sell prices and multipliers
  • all menu layouts, all messages, all sounds

Needs a full server restart instead:

Setting Why
ECONOMY.PROVIDER The provider is wired up once, at start-up
DATABASE.* The connection is opened once, at start-up
COMPATIBILITY.* The gate runs before anything else loads
SETTINGS.GENERATION_INTERVAL_SECONDS The repeating task keeps its original period until restart. The new value is used for catch-up maths, so output changes immediately, but the tick rhythm does not.

Colour codes

Anywhere text is configurable — messages, menu titles, lore, item names — these all work:

Style Example Result
Legacy &aGreen text classic 16-colour codes
Hex &#FF5733Orange text any RGB colour
Gradient <#FF0000>Red to blue</#0000FF> smooth fade across the string

PlaceholderAPI placeholders (%player_name%, %vault_eco_balance%, …) are resolved in messages and menus when PlaceholderAPI is installed. See Placeholders.

Editing safely

  1. YAML is indentation-sensitive. Use spaces, never tabs. Two spaces per level, matching what is already there.
  2. Keep the quotes. Values starting with & or containing : must be quoted: '&dPig Spawner'.
  3. Material names are Bukkit names, uppercase — ROTTEN_FLESH, not rotten flesh. An unrecognised material is logged as a warning and skipped, not silently accepted.
  4. Validate before reloading. Paste into any online YAML linter if a change is large.
  5. Reload, then check the console. Config problems are logged as [Config], [Worth] or [SpawnerManager] warnings, not shown in chat.

First things worth changing

Setting File Why
ECONOMY.PROVIDER config.yml Defaults to VAULT. With no Vault economy installed, selling silently does not work — set INTERNAL or AUTO.
SELL.PRICES spawners.yml These prices are your entire spawner economy.
SETTINGS.MAX_STACK_PER_BLOCK spawners.yml Default 100000 is generous.
SETTINGS.GENERATION_INTERVAL_SECONDS spawners.yml Higher = less frequent, larger payouts, cheaper.
TYPES spawners.yml Add the mobs your server actually uses — see Spawner Types.
PREFIX messages.yml Match your server branding.

See also

Clone this wiki locally