-
-
Notifications
You must be signed in to change notification settings - Fork 0
Compatibility
| Software | Minecraft range |
|---|---|
| Paper / Spigot / Bukkit |
1.21.10 – 26.2
|
| Folia |
1.21.11 – 26.2
|
Java 21 or newer is required. The ranges are baked into the jar at build time and reported by
/spawner version.
The platform is detected from classes on the server, not from a name string:
| Detected as | Because |
|---|---|
| Folia |
io.papermc.paper.threadedregions.RegionizedServer is present |
| Paper | Paper configuration or scheduler classes are present |
| Spigot |
org.spigotmc.SpigotConfig is present |
| Bukkit | none of the above |
Forks are detected as whatever they are built on — Purpur and Pufferfish report Paper, and are supported on that basis.
If Folia classes are on the classpath but the platform did not resolve to Folia, the plugin logs a warning and runs in Folia-safe mode:
[Compatibility] Folia classes detected on a non-Folia platform report; running in Folia-safe mode.
COMPATIBILITY:
ENABLED: true
STRICT: true| Key | Default | Effect |
|---|---|---|
ENABLED |
true |
false = log a warning and start anyway on an unsupported server. |
STRICT |
true |
true = an unparseable Minecraft version counts as unsupported. false = allow it through with a warning. |
Both are read before anything else loads, so a change needs a restart.
On a healthy start the console shows:
[Compatibility] Paper 1.21.10 (supported: 1.21.10 - 26.2)
On an unsupported one the plugin refuses to enable and prints a boxed report:
+--------------------------------------------------------------+
| UltimateVirtualSpawner FAILED TO ENABLE |
+--------------------------------------------------------------+
| This server is not supported by this plugin build. |
| |
| Plugin version : 1.0 |
| Server software : Paper |
| Server version : 1.21.4 |
| Supported range : 1.21.10 - 26.2 |
| |
| Reason: your Minecraft version is TOO OLD. |
| Update the server to at least 1.21.10. |
| |
| Supported software: |
| Paper / Spigot / Bukkit : 1.21.10 - 26.2 |
| Folia : 1.21.11 - 26.2 |
+--------------------------------------------------------------+
Three failure reasons: TOO_OLD, TOO_NEW, and UNKNOWN_VERSION (the version string could not be parsed).
Both are unsupported paths. Nothing is guaranteed, and bug reports from a server running outside the range will be asked to reproduce inside it.
Unparseable version — a fork with an unusual version string:
COMPATIBILITY:
STRICT: falseThe version cannot be checked, so it is allowed through with a warning. This is the milder of the two, and the right choice for an exotic fork on a supported Minecraft version.
Skip the gate entirely:
COMPATIBILITY:
ENABLED: falseStarts on any server. Use this for testing a new Minecraft release before an updated build exists — and expect breakage, since a new version can change the Bukkit APIs the plugin relies on.
The plugin is Folia-native, not merely Folia-tolerant. Every piece of world access is dispatched through the appropriate scheduler:
| Work | Scheduler |
|---|---|
| Reading or writing a spawner block | region scheduler, for that block's region |
| Anything involving a player | entity scheduler, for that player |
| The generation task | global scheduler, dispatching per-region work |
| Teleporting from the admin panel | asynchronous teleport API |
Nothing assumes a main thread. On Paper the same code paths fall back to the ordinary Bukkit scheduler, so behaviour matches on both.
Confirm which one is active:
/spawner version
Scheduler: Folia (regionised)
Folia's minimum is 1.21.11 rather than 1.21.10 because the regionised scheduler API this plugin uses landed in that build.
Built for Java 21. On an older JVM the server logs UnsupportedClassVersionError and the
plugin never loads. Check with:
java -versionJava 21, 22, 23, 24 and 25 all work; 21 is the minimum.
| Plugin | Needed for | Without it |
|---|---|---|
| Vault | Sharing the economy, or using an external one | The built-in economy still works |
| PlaceholderAPI | The uvs placeholder expansion |
Placeholders are not registered; everything else works |
Both are soft dependencies — the plugin loads after them if present, and loads fine if not.
| Plugin type | Notes |
|---|---|
| Claim / protection plugins | Cancelled block-place and block-break events are honoured, so claims work normally. Note that hopper extraction has no ownership check — protect the block below a spawner if you enable it. |
| Other spawner plugins | Do not run two. Both will handle the same events, and the outcome depends on event priority. |
| Anti-X-ray | Composes fine. Anti-ESP sends client-side block changes for managed spawners only; server-side anti-X-ray handles the rest of the world. |
| World-edit style tools | Pasting a schematic containing spawner blocks does not create managed spawners — they are ordinary spawners until placed from a spawner item. |
Include the whole of:
/spawner version
/version
java -version
plus the full stack trace from logs/latest.log — not a screenshot of chat. Open an issue at
github.com/BeestoXd/UltimateVirtualSpawner/issues.
- Installation — requirements
-
config.yml — the
COMPATIBILITYreference - Troubleshooting
Repository · Releases · Issues · Discord · MIT License
Getting started
Reference
Configuration
Features
Operations
Development