-
-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
| Requirement | Notes |
|---|---|
| Java 21+ | The plugin is compiled for Java 21. An older JVM will refuse to load it. |
Paper / Spigot / Bukkit 1.21.10 – 26.2 |
Or Folia 1.21.11 – 26.2. Outside this range the plugin disables itself — see Compatibility. |
| Vault | Optional. Only for sharing the economy with other plugins, or using an external economy. |
| PlaceholderAPI |
Optional. Registers the uvs placeholder expansion. |
No database server is required — SQLite is the default and needs no setup.
-
Download the jar Grab
UltimateVirtualSpawner-<version>.jarfrom the releases page, or build it yourself (see Building from Source). -
Drop it into
plugins/Stop the server first if you prefer; hot-loading a fresh install works, but a restart is the safe path. -
Start the server On first start the plugin will:
- check that the server software and version are supported,
- download its JDBC drivers (SQLite and MySQL are declared as
librariesinplugin.yml, so the jar itself stays small — this needs internet access on the first start only), - create
plugins/UltimateVirtualSpawner/with all five config files, - create the SQLite database
spawners.db.
-
Check the console A healthy start looks like this:
[UltimateVirtualSpawner] [Compatibility] Paper 1.21.10 (supported: 1.21.10 - 26.2) [UltimateVirtualSpawner] [Database] Connected using SQLite. [UltimateVirtualSpawner] [SpawnerManager] Loaded 0 managed spawner(s) from the database. [UltimateVirtualSpawner] [Economy] Using the built-in economy (no external economy plugin required). [UltimateVirtualSpawner] UltimateVirtualSpawner v1.0 enabled on Paper.On Folia the last line ends with
(region scheduler). -
Verify in game
/spawner version
plugins/UltimateVirtualSpawner/
├── config.yml compatibility gate, database, economy and currency
├── spawners.yml spawner behaviour, anti-ESP, sell prices, drop tables
├── menus.yml every GUI layout: sizes, slots, materials, titles, lore
├── messages.yml every chat message
├── sounds.yml a sound effect for each spawner action
└── spawners.db SQLite database (only when DATABASE.TYPE is SQLITE)
See Configuration for what to change first.
The defaults are safe, but three of them are worth a decision before players get their hands on spawners:
| Setting | Default | Why you may want to change it |
|---|---|---|
ECONOMY.PROVIDER in config.yml
|
VAULT |
If you have no Vault economy installed, selling will not work. Set it to INTERNAL to use the built-in economy, or AUTO to fall back automatically. See Economy. |
SETTINGS.MAX_STACK_PER_BLOCK in spawners.yml
|
100000 |
Sets the ceiling for a single spawner block. Lower it if you want spawner stacks to stay meaningful on your economy. |
SELL.PRICES in spawners.yml
|
a starter list | These prices define your entire spawner economy. Tune them before release; a material with no price simply cannot be sold. |
- Stop the server.
- Replace the old jar with the new one.
- Start the server.
Your configs are not overwritten. On every load each file is compared against the packaged defaults and any missing keys are written back in, so a new option added by an update appears in your file automatically while everything you customised stays as it is.
Your database is untouched by updates. Back it up anyway before a major version jump — see Database.
Delete the jar and restart. Note what happens to spawners that are already placed:
- The blocks stay in the world as ordinary vanilla spawners.
- Their virtual storage is not dropped — it lives in the plugin's database, so back that up if you might reinstall.
- If
CANCEL_MOB_SPAWNwastrue, the plugin had already switched vanilla spawn logic off inside the block itself (maxNearbyEntities = 0), so those blocks stay inert even with the plugin gone. Break and replace them, or reset them with a command block, if you want real mobs again.
Repository · Releases · Issues · Discord · MIT License
Getting started
Reference
Configuration
Features
Operations
Development