๐Ÿฅš

SpawnersPlus

A spawner customisation plugin that lets players upgrade any spawner's speed, mob quantity, and drop tier through an in-game GUI, paid for in Vault economy. Released publicly on SpigotMC.

Public SpigotMC Vault
About

SpawnersPlus turns vanilla mob spawners into upgradable economy items. Right-click any spawner and a 27-slot GUI opens with three upgrade tracks, speed, quantity, and drops, each with five tiers. Costs scale geometrically and are deducted via Vault, so any economy plugin (EssentialsX, CMI, etc.) plugs straight in.

It's designed to live on long-running survival or economy servers where spawners are a natural progression goal: players buy or find a spawner, then sink money into making it pay off harder over time. Spawners can also be silk-touched up and re-placed without losing their levels.

The three upgrade tracks

Every spawner starts at level 1 across the board. Each upgrade in the GUI shows the current level โ†’ next level, the resulting stat, and the price; clicking purchases it and refreshes the GUI live.

โšก Speed ร—0.9 / level
Reduces the spawn cooldown. Default starts at 20s and multiplies by 0.9 per level, so level 5 is around 13.1s. The min/max delay variation can be tuned via Speed.MaxSpeedVariation.
๐Ÿ– Quantity +1 / level
Increases the number of mobs per spawn. Default starts at 2 and adds QuantityPerLevel mobs per upgrade, so a level-5 quantity spawner can spit out 6 mobs at once.
๐Ÿ’Ž Drops per-mob tables
Replaces the spawned mob's natural drops with a config-defined table per mob type per level. Out of the box: Blaze (blaze rods), Pig (porkchops), Iron Golem (iron + poppies). Other mobs default to none until you author tables for them.

Pricing for any upgrade is StartingPrice ร— PriceMultiplier^(currentLevel - 1). With the defaults (start 100, ร—1.5), the level 1โ†’2 upgrade costs 100, then 150, 225, 337.5, and so on, so the final upgrade is the most expensive by far.

Speed upgrade tile in the GUI: Level 1 โ†’ 2, 20s โ†’ 18s, Price 100
Speed
Quantity upgrade tile in the GUI: Level 1 โ†’ 2, 2 Iron Golems โ†’ 3 Iron Golems, Price 100
Quantity
Drop upgrade tile in the GUI: Level 1 โ†’ 2, 2x Iron Ingot โ†’ 3x Iron Ingot, Price 100
Drops
Spawner identity & persistence

Per-location data. Levels are stored in an in-memory map keyed on world + block coordinates. On server shutdown the map is serialised into data.yml as world:x:y:z โ†’ speed:quantity:drop; on startup it's read back, then the file is wiped (configurable via clearDataFileOnLaunch) so the file doesn't bloat with stale entries.

Drop-level branding. Spawned mobs get an automatic custom name like Level 3 Pig showing their tier. On death the plugin reads the level back out of the name to look up the correct drop table for that level, so two spawners spawning the same mob type at different levels yield different loot.

Drop replacement is spawner-only. Custom drops only apply when the mob's name was set by a spawner (i.e. it has the level prefix). Wild-spawned mobs with no level prefix keep their normal vanilla drops, so the plugin doesn't accidentally rewrite drops across the whole world.

Silk-Touch + lore round-trip. Breaking a spawner with a Silk-Touch tool drops a custom item with the mob type and all three levels baked into its lore. Placing that item back down restores the spawner with its levels intact, letting players relocate progress without losing investment.

Pig Spawner item tooltip, Type: Pig, Speed Level 1, Quantity Level 1, Drop Level 1
Pig spawner item
Zombie Spawner item tooltip, Type: Zombie, Speed Level 1, Quantity Level 1, Drop Level 1
Zombie spawner item
Permissions

The GUI is gated by permission, with both global and per-entity nodes:

- spawnersplus.usespawner: open the upgrade GUI on any spawner type
- spawnersplus.usespawner.<entity>: open the GUI only for a specific mob type (e.g. spawnersplus.usespawner.pig)
- spawnersplus.help: see the help command output
- spawnersplus.reload: reload config.yml
- spawnersplus.givespawner: admin command to spawn the custom-NBT spawner item

Commands

All commands available under /sp or /spawnersplus.

  • /sp help
    Lists every command the player has permission to run.
  • /sp reload
    Reloads config.yml: picks up new prices, multipliers, level caps, drop tables.
  • /sp givespawner <amount> <entityType>
    Gives the player amount spawner items pre-named for the given entity, with all three levels initialised at 1. Aliases: gs, spawner, give. The entity name follows Minecraft's enum (e.g. PIG, BLAZE, IRON_GOLEM).
Vault dependency: the plugin disables itself on enable if Vault isn't installed and registered with an economy provider, every upgrade is paid for through Vault's API.
Config & tuning

All numbers live in config.yml. Each upgrade track has its own StartingPrice, PriceMultiplier, and UpgradeCap, plus track-specific tunables:

- Speed: DefaultSpeed (seconds), TimerMultiplier (per level), MaxSpeedVariation
- Quantity: DefaultQuantity, QuantityPerLevel
- Drops: a nested Drops.<ENTITY>.<level>.<MATERIAL>: <quantity> tree

To author drops for, say, a Skeleton spawner, replace its SKELETON: none entry with a level tree mirroring the Pig/Blaze examples in the default config. Mobs left as none simply don't get the Drop track surfaced in their GUI.