promotional bannermobile promotional banner

RegionSpawnMobs

Take full control of how mobs spawn in your world. Define where they appear, how many, when, and under what conditions.

File Details

RegionSpawnMobs-1.1.6.jar

  • R
  • May 13, 2026
  • 474.53 KB
  • 40
  • Early Access

File Name

RegionSpawnMobs-1.1.6.jar

Supported Versions

  • Early Access

Changelog - Version 1.1.6

Release Summary

This release adds Batch Spawn Placement to presets, giving admins control over how mobs in a spawn batch are positioned. It also revises the time-of-day periods for more accurate condition matching, adds a per-region Dynamic Condition Reconcile toggle, and makes containment smarter — mobs now return to their exact spawn position instead of a random point.


New for Server Admins

1) Batch Spawn Placement — new preset field

Controls how mobs in a batch are positioned when a preset spawns more than 1 mob per cycle.

Value Behavior
Distributed Each mob spawns at a different random position (default)
GroupedMixed All mobs in the batch spawn together at the same position, mixed types
GroupedSameType Same as GroupedMixed, but all mobs in the batch are the same type

How to configure:

  • Open the Preset editor
  • Set the Batch Spawn Placement field
  • Choose the desired mode

Practical impact:

  • useful for creating mob groups that appear together (packs, patrols)
  • GroupedSameType ensures a homogeneous group (e.g. 3 wolves together)
  • Distributed keeps the default behavior from previous versions

2) Time-of-day periods revised

The time periods have been revised to cover the full day without gaps.

Period Hours
Dawn 05h – 07h
Morning 07h – 12h
Afternoon 12h – 17h
Dusk 17h – 19h
Night 19h – 05h

The Day and Night aliases still work:

  • Day = any hour between 05h and 19h (Dawn, Morning, Afternoon, Dusk)
  • Night = any hour between 19h and 05h

Practical impact:

  • mobs with time conditions now activate and deactivate at the correct moment
  • all hours are covered with no gaps between periods

3) New toggle: Dynamic Condition Reconcile

Each region now has a dedicated toggle to control whether mobs that no longer meet their time or weather condition are automatically removed.

  • Enabled (default): mobs that no longer meet their time/weather condition are removed on the next cycle
  • Disabled: mobs stay alive even after their condition is no longer met — only quantity and safety limits continue to run

How to configure:

  • Region editor → Region tab → Dynamic Condition Reconcile checkbox

Practical impact:

  • allows keeping mobs alive even after their time/weather condition changes
  • useful for bosses or event mobs that should not disappear at dawn

Fixes

Containment now returns mobs to their exact spawn position

The RegionTrackerComponent now stores the exact position (X, Y, Z) where each mob spawned.

New behavior:

  • when a mob leaves the region, the system first tries to return it to where it spawned
  • if the mob was spawned from a SpawnPoint, it returns to that SpawnPoint
  • if neither is valid, falls back to a random safe position inside the region

Practical impact:

  • mobs return to where they actually appeared, not a random point
  • more predictable containment behavior for regions without SpawnPoints

Containment respects terrain SpawnMode (FLOOR, FLUID, EMPTY)

When searching for a safe return position, the containment system now uses the same SpawnMode as the spawn system for that mob's configured terrain type.

Practical impact:

  • water mobs are returned to fluid positions
  • flying mobs are returned to valid air positions
  • ground mobs continue to be returned to solid floor positions

Containment no longer removes mobs immediately on failure

Previously, if no safe position was found, the mob was removed immediately.

New behavior:

  • the system retries on subsequent containment checks
  • the mob is only removed after 3 consecutive failures

Practical impact:

  • mobs are not lost due to temporary world instability (unloaded chunks, etc.)

Runtime state cleanup

Internal control collections (wave tracking, threshold warnings, spawn intervals) are now pruned periodically to remove entries for regions that no longer exist.

Practical impact:

  • lower memory usage on servers with long uptime
  • no impact on spawn behavior

Compatibility

  • Data compatibility: fully compatible with 1.1.5
  • Migration required: no
  • New fields in RegionTrackerComponent codec: SpawnXSpawnYSpawnZ (existing mobs default to 0,0,0 and fall back to random containment on first trigger)
  • New field in SpawnPreset: batchSpawnPlacement (defaults to Distributed)
  • New field in SpawnRegion: dynamicConditionReconcile (defaults to true)

Version: 1.1.6