PerfectSpawner - Mob Spawner System v2.0.3

Fully configurable mob spawner blocks with proximity activation, day/night toggle, multi-entity ...
PerfectSpawner v2.0.3 - Major reliability update

This release fixes two critical bugs that were affecting servers running
multiple worlds or letting spawners persist overnight, and adds three
quality-of-life features along with new live diagnostic commands.

Critical fixes

- Hologram entity leak. The hologram sync routine used to run every
single tick (1 second) regardless of chunk state. When a spawner's
chunk was unloaded, the plugin could not find the existing hologram
entity in the ECS, so it spawned a fresh one - over and over again.
One server reported 18,000+ orphan hologram entities accumulated
overnight, dragging FPS to single digits.
Now the sync runs every 60 seconds (configurable), is dispatched
per-world instead of globally, and is gated by a chunk-loaded check
so spawners in unloaded chunks are skipped entirely.

- Cross-world spawn failure. The hologram manager used to capture a
single world's EntityStore at startup. Spawners placed in any other
world failed every sync with "Assert not in thread" because the
plugin was reaching into the wrong world's data from the wrong
thread, leaking error spam in the console and never tracking the
affected holograms.
Each hologram operation now resolves its own per-world store on the
fly. Multi-world setups work correctly.

New features

- Skyblock-friendly passive spawning. New config flag:
"requirePlayerNearby": false
When set to false, spawners ignore the proximity check entirely
and tick mobs even when no player is in the world. Designed for
Skyblock-style servers where players are on distant islands but
still want their mob farms ticking. Default stays true to preserve
the v2.0.0 behavior.

- Per-world hologram sync. The 60-second hologram sync now runs once
per world that actually has spawners, instead of running on a single
world for the entire server. Spawners in instances or sub-worlds
are properly maintained.

- Configurable sync interval. New config field:
"hologramSyncIntervalSec": 60
Default is 60 seconds, minimum 10. Big servers with many spawners
can raise this further without losing functionality.

New diagnostic commands

- /spawner debug
Prints a snapshot to chat and console: spawner count, holograms
currently tracked, total spawns / removes / syncs (cumulative),
time since last sync, live config snapshot, and a live ECS scan
that counts orphan Nameplate entities near each spawner.
Healthy server shows tracked == registered and 0 orphans.

- /spawner sweep
Scans Nameplate entities within 3 blocks of every spawner in the
current world and deletes the ones not tracked by the plugin.
Run this once after upgrading from an older version to clean up
any leftover entities the leak fix cannot reach on its own.

Background diagnostics

- The scheduler now writes a one-liner to the console every minute:
[PerfectSpawner][1min] spawners=N tracked=N spawned=N(+delta)
removed=N(+delta) syncs=N
If a suspicious gap is detected (sudden spawn growth while tracked
lags behind), the log appends " <-- POSSIBLE LEAK" so the server
owner notices without having to dig.

Permissions

- /spawner debug and /spawner sweep both require perfectspawner.admin
(the same permission as /spawner reload).

Upgrade notes

- Drop-in upgrade from v2.0.x. Existing config.json will auto-add the
two new fields (requirePlayerNearby, hologramSyncIntervalSec) on
first load with their default values. No data migration required.
- If you were affected by the leak on v2.0.0, run /spawner sweep in
each affected world once after upgrading to wipe leftover orphan
hologram entities. A server restart also speeds up cleanup.

Compatibility

- Hytale Update 5 (Pre-Release 5).

Wiki: https://perfectplugins.github.io/wiki/perfectspawner/
Discord: https://discord.gg/perfectplugins
PerfectSpawner v2.0
2026-05-26

Hytale Update 5 compatibility update.

Changes:
  • Updated for Hytale Update 5 (Pre-Release 5).
  • Recompiled against the latest server API (JOML vectors, new permission and HUD APIs).
  • Fixed the red "Target Version" warning shown in the mod manager.
  • No feature changes. Your existing configs, data and saved files are kept as is.

How to update:
  • Stop your server.
  • Replace the old PerfectSpawner jar with this one.
  • Start your server. Nothing else to do.
PerfectSpawner v2.0 — Major Update

NEW FEATURES
  • Single-page admin UI — Dark flat design with 3 tabs (Spawners, Types, Settings), sidebar navigation, search and pagination
  • Proximity activation — Spawners only activate when a player is within a configurable radius (default 32 blocks, -1 = always active)
  • Day/Night toggle — Per-type setting: spawn always, day only, or night only
  • Drop rate multiplier — Per-type configurable multiplier (0.5x to unlimited)
  • Multi-entity editor — Add, remove, and edit entity weights directly in the UI with NPC picker
  • NPC Picker — Search and select from 166+ entity types when adding to spawn tables
  • Toast notifications — Visual feedback on save, delete, and toggle actions
  • Portuguese translations — 6th language added (EN, FR, ES, DE, IT, PT)

IMPROVEMENTS
  • Removed all debug console spam
  • Proximity check runs on game thread for accurate position reading
  • Entity list is now mutable (add/remove entities without editing JSON)
  • Spawner tab shows read-only stats with hidden +/- buttons
  • Stale sidebar icons properly cleared when switching tabs
  • Settings tab includes activation radius control

TECHNICAL
  • SpawnerPlayerTracker now properly registered as ECS system
  • Time restriction uses real API: getTick() + getDaytimeDurationSeconds()
  • Version bump: manifest 2.0.0

PerfectSpawner v1.5 — Patch Notes​

Bug Fixes​

  • Fixed spawner holograms not reappearing after returning from a distant area. When a player moved far enough for the chunk to unload, Hytale would destroy the hologram entities. The syncHolograms() method only checked if the spawner key existed in the internal tracking map — since the stale UUID was still present, it assumed the hologram was alive and never respawned it. The sync now validates each hologram entity via getRefFromUUID() + isValid(). If the entity was destroyed by a chunk unload, the stale entry is cleared and the hologram is automatically respawned. Since the sync runs every second, holograms reappear almost instantly when the player returns.

Technical Details​

  • Modified SpawnerHologramManager.syncHolograms() to verify ECS entity liveness before skipping respawn
  • Stale UUID entries are cleaned from holoMap when the referenced entity no longer exists in the store
  • No additional scheduler needed — leverages the existing 1-second sync cycle from SpawnerScheduler

New: Chunk Keep-Loaded​

Spawners can now keep their chunk loaded even when no player is nearby. This means spawners continue to function at all times — mobs spawn whether or not anyone is in range.

  • Per-spawner toggle in the Spawner List UI (Loaded / Unload button)
  • Uses Hytale's native addKeepLoaded() / removeKeepLoaded() chunk ref-counting system
  • Automatically re-applied on server restart for spawners that had it enabled
  • Properly cleaned up when a spawner is broken or removed
  • Multiple spawners in the same chunk share the keep-loaded reference safely
    Capture d'écran 2026-03-18 001716.png

PerfectSpawner v1.4 — Patch Notes​

New: Unique 3D Cage Models per Spawner​

Every spawner now has its own merged 3D model combining the cage with the actual NPC inside it. Instead of a generic spawner block, you can now visually identify which mob a spawner will produce just by looking at it.

  • 167 unique spawner models — every single spawner has its own cage+mob visual
  • Each NPC model is automatically scaled and centered inside the cage
  • Textures are combined per-spawner for a seamless look
  • Variant-aware: Skeleton spawners show the correct color (White, Frost, Burnt, Sand), Zombie spawners show their variant, etc.
  • Covers all mob categories: Wildlife, Beasts, Undead, Intelligent (Goblins, Trorks, Outlanders), Bosses (Dragons, Rex, Yeti), and more

Attachments

  • Capture d'écran 2026-03-17 174121.png
    Capture d'écran 2026-03-17 174121.png
    1.7 MB · Views: 1

⬥ PerfectSpawner ⬥
Patch 1.3.1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Bug Fixes

Spawners are now breakable
  • Fixed spawner blocks being impossible to mine — they were using an invalid GatherType
  • Spawners can now be broken by hand or with any tool
  • Breaking a spawner drops the item back and cleans up hologram + data automatically

Fixed item duplication on break
  • Removed the plugin-side item give on break — the game already handles the drop natively
  • Previously, breaking a spawner would give two copies of the item (one from the game, one from the plugin)


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Changes

Removed "Drop on Break" setting
  • The toggle has been removed from the settings UI as it is no longer needed
  • Spawners always drop their item when broken — this is now handled by the game engine


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Updated all 167 spawner block definitions (GatherType: Stones → SoftBlocks)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


PerfectSpawner 1.3.1 — KatsuyaTV
PerfectSpawner v1.3 — Patch Notes

More than 160 icons have been updated using images from the corresponding NPCs.
Feran_Burrower.png
Fox.png


Holograms

  • New compact single-line format: Goblin Spawner • 2 mobs/10s • Max 4
  • Stack count displayed when > 1: Goblin Spawner x3 • 6 mobs/10s • Max 12
Spawners & Chunks
  • Spawners only tick when their chunk is loaded (compatible with MobFarmingTools)
  • Fixed a bug where spawners were removed from the registry when their chunk was unloaded
Translations
  • Updated all 5 languages (EN, FR, ES, DE, IT)
Upgrade Note
  • Delete PerfectSpawner-1.2.jar from your Mods/ folder before adding PerfectSpawner-1.3.ja
Buy a license now
$5.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.
1,089 Views
17 Purchases
20 Downloads
Feb 28, 2026 Published
Jun 15, 2026 Updated
3.50 star(s)
Average rating (4)
8.4 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Gameplay
  1. GUI
  1. Mobs
Game mode
  1. Survival
  1. Factions
  1. Roleplay
Supported languages
  1. English
  1. Spanish
  1. German
  1. French
  1. Portugese
  1. Italian
Creator
Recommended for you
Live web dashboard with smart recommendations, auto-apply config patches, CPU flamegraph ...
Not yet rated
0 purchases
The most advanced hologram plugin for Hytale servers. Colors, images, custom fonts...
5.00 star(s) 2 ratings
23 purchases
The all-in-one anti-cheat and moderation solution.
4.50 star(s) 2 ratings
13 purchases
Place waystones and fast travel across your world.
Not yet rated
5 purchases
Complete OneBlock gamemode for Hytale, 5 phases, economy, shop, quests, auction house, prestige ...
Not yet rated
3 purchases
Share and earn
Refer this resource and earn a 10% commission.
1,089 Views
17 Purchases
20 Downloads
Feb 28, 2026 Published
Jun 15, 2026 Updated
3.50 star(s)
Average rating (4)
8.4 MB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. Yes
Type
  1. Gameplay
  1. GUI
  1. Mobs
Game mode
  1. Survival
  1. Factions
  1. Roleplay
Supported languages
  1. English
  1. Spanish
  1. German
  1. French
  1. Portugese
  1. Italian
Creator
Recommended for you
Live web dashboard with smart recommendations, auto-apply config patches, CPU flamegraph ...
Not yet rated
0 purchases
The most advanced hologram plugin for Hytale servers. Colors, images, custom fonts...
5.00 star(s) 2 ratings
23 purchases
The all-in-one anti-cheat and moderation solution.
4.50 star(s) 2 ratings
13 purchases
Place waystones and fast travel across your world.
Not yet rated
5 purchases
Complete OneBlock gamemode for Hytale, 5 phases, economy, shop, quests, auction house, prestige ...
Not yet rated
3 purchases
Top