SpawnerX - Custom Spawners & Upgrades v2.3.0

Allows players to stack spawners, multiply mob spawns, and display holograms for info.

PlaceholderAPI Integration​

SpawnerX now provides deep PlaceholderAPI support. Server owners can display spawner statistics anywhere scoreboards, holograms, chat, and custom GUIs.
Available placeholders:
  • %spawnerx_total_spawners% Total spawners the player owns
  • %spawnerx_total_spawned% Cumulative mobs spawned across all spawners
  • %spawnerx_active_boosters% Number of spawners with active boosters
  • %spawnerx_virtual_spawners% Count of virtual-mode spawners
  • %spawnerx_spawner_count_<type>% Spawner count by entity type (e.g. %spawnerx_spawner_count_zombie%)
  • %spawnerx_upgrade_level_<type>_<upgrade>% Highest upgrade level (e.g. %spawnerx_upgrade_level_zombie_range%)

Spawner List GUI (/sx list)​

New paginated inventory GUI that shows all of a player's placed spawners at a glance. Each entry displays:
  • Entity type and stack size
  • Total upgrade levels and active status
  • Virtual/storage mode indicator
  • Booster status and remaining time
  • World and coordinates
Click a spawner to teleport directly to it, shift-click to open its upgrade GUI.

Protection Plugin Hooks​

SpawnerX now respects region protection from:
  • WorldGuard Checks region build permissions before allowing spawner place, break, and interaction
  • GriefPrevention Respects claim trust settings
  • Towny Checks town build permissions
All hooks are opt-in via config.yml under the new protection: section. Reflection-based no hard dependencies required.

Quality of Life Improvements​

Right-Click GUI Access (No Stick Needed!)​

The #1 UX pain point is now fixed. Right-clicking a spawner with an empty hand directly opens the upgrade GUI. Shift-right-click with empty hand opens virtual storage. The old stick mechanic still works as a fallback.

Configurable via:
  • gui.open-with-empty-hand: true Enable/disable empty-hand right-click
  • gui.virtual-storage-item: HOPPER Configurable item for virtual storage access

Better /sx help Command​

The help output is now categorized into Player Commands, Interaction Tips, and Admin Commands with clearer descriptions. An explicit /sx help subcommand is now available with tab completion.

Sell-Modifiers Now Apply​

The sell-modifiers section in shop.yml actually works now:
  • per-upgrade-level Bonus value per upgrade level on the spawner item
  • per-stack Bonus multiplier per additional stack size
Both sellSpawner() and sellAllSpawners() now calculate upgrade/stack value correctly.

Config Validation on Startup​

SpawnerX now validates configuration at startup and logs warnings for:
  • Extremely high/low virtual upgrade costs
  • max-stack-size above 64
  • Very high entity spawn limits (>5000)
  • Empty MySQL password with database enabled
  • Invalid spawn modes
  • Overly frequent hologram update intervals

Performance Improvements​

Lazy Hologram Updates​

Holograms now only refresh when a player is within viewing distance (default 48 blocks, configurable via holograms.player-distance). Combined with the increased default update interval (40 ticks / 2 seconds), this significantly reduces server load on spawner-heavy servers.

Critical Bug Fix​

Virtual Storage Persistence (Data Loss Fix)​

Virtual storage items were previously stored in memory only and lost on server restart. The storageData map in VirtualUpgradeData is now properly serialized to PDC and restored on load.

How it works:
  • VirtualStorage.serializeToMap() / deserializeFromMap() handles the serialization
  • Items are restored from VirtualUpgradeData.storageData when the storage is first accessed
  • Periodic auto-save task (configurable virtual-upgrade.save-interval-ticks, default 60 seconds) persists items
  • Withdrawals force an immediate save to PDC
  • saveAll() runs on plugin disable

Configuration Changes​

New Options​

gui:
open-with-empty-hand: true
virtual-storage-item: HOPPER
virtual-upgrade:
save-interval-ticks: 1200 # Auto-save every 60 seconds
holograms:
player-distance: 48.0 # Only update holograms within this range
update-interval: 40 # Default changed from 20 to 40 ticks
protection:
worldguard: false # Enable WorldGuard region checks
griefprevention: false # Enable GriefPrevention claim checks
towny: false # Enable Towny town checks

Improved Defaults​

  • virtual-upgrade.upgrade-cost: 500,000 → 100,000 (more accessible)
  • spawner.stacking.max-stack-size: 64 → 16 (better balance)
  • stat-limits.spawn-count.max: 10,000 → 500 (prevents entity overload)

Admin Changes​

New Commands​

  • /sx help Show categorized help with descriptions and interaction tips
  • /sx list Open the spawner list GUI
  • /sx debug Inspect a looked-at spawner and dump all data (entity, owner, upgrades, virtual state, booster, trust, location)
  • Added Folia support SpawnerX now officially supports Folia in addition to Paper/Spigot.

Virtual Upgrade​

  • One-time premium upgrade to convert a spawner into a high-performance virtual spawner.
  • Behavior: No physical mobs spawn; drops are simulated and stored in per-spawner virtual storage.
  • Benefits: Massive performance gains (≈99% reduction in entity overhead) and automatic item collection.
  • Purchasing: Buyable from the spawner Upgrade GUI (slot 22) or toggled with admin command /sx virtual enable.
  • Cost: Default: $500,000 (configurable via config.yml: virtual-upgrade.upgrade-cost).
  • Permission: Controlled by spawnerx.upgrade.virtual (configurable virtual-upgrade.require-permission).

Per-Spawner Drop Configuration​

  • Per-entity drop tables are defined in src/main/resources/spawners/*.yml under virtual-drops:.
  • Each spawner type now ships with sensible default virtual drops (Zombie, Skeleton, Creeper, Spider, Blaze, Enderman, Witch, Slime, Magma Cube, Drowned, Chicken, Cow, Pig, Sheep, Villager, Iron Golem, Pillager).

GUI Integration & UX​

  • Virtual Upgrade button added to the Spawner Upgrade GUI (slot 22) with dynamic cost and status display.
  • Virtual Storage GUI: Right-click spawner with a Hopper to open virtual storage (withdraw items, withdraw all).
  • GUI displays tooltips, capacity and stored items count; localized messages added.

Fixes & Improvements​

  • Improved GUI refresh behavior after purchases and upgrades.

Configuration & Upgrade Notes​

  • New/updated config options in config.yml under virtual-upgrade:
  • enabled (boolean)
  • upgrade-cost (double) default: 500000.0
  • require-permission (boolean) default: true
  • default-capacity (int) default: 27
  • max-capacity (int) default: 54
  • Backup your data before upgrading. Virtual storage data is persisted to PDC on each spawner.
  • If you previously used the /sx virtual admin command, retry after updating the NPE has been resolved.

Permissions​

  • New permission: spawnerx.upgrade.virtual (default: false)
  • Existing admin commands for virtual mode still use spawnerx.admin.

Cross-Server Synchronization (Network Update)​

  • MySQL Support: Spawners and their stats can now be stored in a central MySQL database.
  • Redis Integration: Real-time synchronization of spawner limits and updates across multiple servers.
  • Global Limits: Spawner limits are now enforced globally across your network.

Temporary Boosters​

  • New Item: Spawner Boosters.
  • Functionality: Right-click a spawner to multiply its spawn rate for a limited time.
  • Commands: /sx giveboosters <player> <multiplier> <duration> (alias: /sx givebooster).
  • Visuals: Holograms show a countdown and "Boosted" status.

Admin Dashboard​

  • New Command: /sx admin (or /sx panel).
  • Features:
    • View global spawner stats.
    • One-click configuration reload.
    • Global Panic Button: Pause/Resume all spawning instantly.
    • Network connectivity status indicators.

Shop & Upgrades​

  • Sell All: Shift-Click the "Sell" button in the Shop to sell ALL spawners in your inventory at once.
  • Upgrade All: New button in the Upgrade GUI to automatically buy the cheapest upgrades until maxed out.

Technical Changes​

  • Added HikariCP and Jedis libraries for robust database connectivity.
  • New configuration file: database.yml.
  • Refactored SpawnerLocationManager for hybrid local/remote caching.

Mob Stacking​

  • Identical mobs spawned from the same spawner are automatically stacked into a single entity.
Spawners can now be restricted to specific environmental conditions:
  • Biome Whitelists - Limit spawning to specific biomes
  • Y-Level Range - Set minimum and maximum Y-levels for spawning
  • Light Level - Require an exact light level for spawns to occur

World Whitelist​

Restrict spawners to specific worlds - perfect for Skyblock, prison, or custom game modes.

Nearby Mob Cap​

New custom mob cap system separate from vanilla limits. Efficiently checks nearby entities before each spawn.

Example​

YAML:
conditions:
  biomes: [THE_VOID, END_HIGHLANDS]
  worlds: [skyblock_world]
  min-y: 0
  max-y: 100
  light-level: 0
  nearby-mob-cap: 50
  nearby-mob-cap-radius: 16
Previously, a generic stacked spawner (x64) effectively ran the spawn mechanic 64 times per cycle. This caused massive TPS drops with high entity counts or complex MythicMobs.
  • Implemented spawn-mode: STACKED.
  • Now spawns ONE entity per cycle.
  • The entity is marked with stack_size: N in its persistent data.
  • Drops & XP are multiplied by the stack size on death.

New Configuration Options​

Added to config.yml:
YAML:
performance:
  # STACKED: Spawn 1 entity + metadata (Recommended)
  # VIRTUAL: No entities, just loot/xp (Experiemental)
  # VANILLA: Old behavior (loops)
  spawn-mode: STACKED
We have completely overhauled how spawners are configured to give you granular control over every mob type.
  • Individual Files: Spawners are now defined in separate YAML files located in /plugins/SpawnerX/spawners/.
    • Example: blaze.yml, custom_mob.yml.
    • Per-Spawner Settings: You can now configure unique settings for each spawner type, including:
      • Upgrade Prices: distinct economy for every mob.
      • Spawn Settings: ranges, delays, and conditions specific to that mob.
      • Shop Settings: buy/sell prices per spawner.
      • Auto-Generated Defaults: On first run, the plugin effectively populates the folder with default configurations for all standard vanilla mobs.

Shop Overhaul​

The shop system has been refactored to work seamlessly with the new configuration files.
  • Simplified
    ID-Based Mapping: Shop items now reference the spawner-id defined in your spawner files.
    shop.yml
    : The main shop config is now much cleaner. It acts as a "menu configuration," defining which items appear in the shop.
  • Dynamic Pricing: Prices can be overridden in shop.yml or inherited directly from the spawner's file.

Improvements​

  • Polished /sx give Command:
    • Giving a spawner now intelligently looks up your custom definitions first.
    • Spawners given to players (or admins) look identical to those in the shop, complete with custom names and lore (e.g., "Blaze Spawner" instead of "Spawner").
  • MythicMobs Integration: Improved compatibility and fixed compilation issues with newer MythicMobs API versions.
  • Resource Management: Default files are now loaded as proper resources, ensuring they are formatted correctly and easy to edit.

Fixes​

  • Fixed an issue where upgrade prices would sometimes revert to global defaults instead of using specific configuration.
  • Resolved compilation warnings and deprecation notices related to ChatColor and ItemMeta.
  • Improved error handling when checking for ActiveMob in spawn listeners.
  • Added MythicMob custom spawner support
    Example in shop.yml
YAML:
skeletalknight:

  mythic-mob: SkeletalKnight

  buy-price: 50000

  display-name: "&cSkeletal Knight Spawner"
Buy a license now
$9.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 10% commission.
962 Views
3 Purchases
5 Downloads
Dec 28, 2025 Published
Jun 16, 2026 Updated
Not yet rated
3.9 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. No
Type
  1. Gameplay
  1. Mobs
  1. Shop
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
  1. 1.15
  1. 1.14
Supported languages
  1. This product doesn't contain text
Creator
Recommended for you
a custom-designed prefix system intended to replace the standard prefix display used by LuckPrerms
Not yet rated
33 purchases
Premium Fancy Menu is a configuration package of deluxe menus and RTP plugins.
5.00 star(s) 2 ratings
21 purchases
Feature characters such as Tung Tung Tung Sahur, Tralallelo and more
Not yet rated
22 purchases
Labubu dolls are collectible figurines, These are their models !
Not yet rated
17 purchases
The Ultra Deluxe Tags Configuration is a configuration package for the Deluxe Tags plugin.
Not yet rated
7 purchases
Share and earn
Refer this resource and earn a 10% commission.
962 Views
3 Purchases
5 Downloads
Dec 28, 2025 Published
Jun 16, 2026 Updated
Not yet rated
3.9 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. No
Type
  1. Gameplay
  1. Mobs
  1. Shop
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
  1. 1.15
  1. 1.14
Supported languages
  1. This product doesn't contain text
Creator
Recommended for you
a custom-designed prefix system intended to replace the standard prefix display used by LuckPrerms
Not yet rated
33 purchases
Premium Fancy Menu is a configuration package of deluxe menus and RTP plugins.
5.00 star(s) 2 ratings
21 purchases
Feature characters such as Tung Tung Tung Sahur, Tralallelo and more
Not yet rated
22 purchases
Labubu dolls are collectible figurines, These are their models !
Not yet rated
17 purchases
The Ultra Deluxe Tags Configuration is a configuration package for the Deluxe Tags plugin.
Not yet rated
7 purchases
Top