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.2.jar

  • B
  • Apr 9, 2026
  • 245.74 KB
  • 62
  • Early Access

File Name

RegionSpawnMobs-1.1.2.jar

Supported Versions

  • Early Access

Changelog - Version 1.1.2

Breaking Changes

Sub-Regions Removed — Unified Region System

  • Sub-regions have been completely eliminated from the system
  • Every region is now a SpawnRegion with folderPath support for hierarchical organization
  • Legacy sub-region files (parentRegionName) are automatically migrated to independent regions on first load
  • Sub-region commands (/rsmcreatesub/rsmdeletesub/rsminfosub/rsmaddmobsub/rsmsubinfomenu/rsmsubeditmenu/rsmrelocatesub) have been removed

Added

Folder System for Regions

  • Regions can now be organized into folders and sub-folders using the folderPath field
  • The /rsmcreate command accepts up to 2 optional folder arguments before the region name:
    • /rsmcreate <region> — creates at root
    • /rsmcreate <folder> <region> — creates inside a folder
    • /rsmcreate <folder> <category> <region> — creates inside a nested folder
  • The full region path is displayed as folder/category/name across all menus and commands
  • On disk, each region is saved at regions/<folderPath>/<name>.json
  • Empty folders are removed automatically when regions inside them are deleted
  • The folderPath field is saved in the JSON and validated automatically on load — inconsistencies are corrected with a warning log

SpawnPoints

  • Regions now support a list of SpawnPoints: fixed positions inside the region where mobs can spawn
  • When a region has SpawnPoints configured, the system uses exclusively those positions instead of random positions inside the boundary
  • Each SpawnPoint has:
    • spawnPointId — unique UUID generated automatically
    • name — optional name for identification
    • xyz — exact position in the world
    • allowedEntities — optional list of mobs allowed at this point (entity filter)
  • If allowedEntities is empty, the SpawnPoint uses the full region mob pool
  • Command /rsmaddspawnpoint [name] — creates a SpawnPoint at the player's current position, inside the region they are standing in
  • SpawnPoints are managed through the region edit menu (RegionConfig)

Updated Region Menu (RegionConfig)

  • The region edit menu has been completely redesigned to cover what was previously split between region and sub-region
  • New Folder field (read-only) displays the current folderPath of the region
  • New Name field allows renaming the region directly from the menu
  • Spawn Mode section now uses a dropdown with options: Continuous, Wave, Threshold
  • New Spawn Points section in the menu:
    • Dropdown to select the active SpawnPoint
    • Editable name field for the selected SpawnPoint
    • SpawnPoint position display
    • Total SpawnPoint count
    • Dropdown to add a mob to the SpawnPoint filter
    • Dropdown to remove a mob from the SpawnPoint filter
    • Button to save SpawnPoint changes
    • Button to delete the selected SpawnPoint

Spawn System — Native Tick Integration

  • Spawn system now runs inside the native Hytale server tick cycle instead of an external scheduler
  • Eliminated the 10-second join cooldown that existed to avoid conflicts with world loading
  • Spawn intervals are now counted in real server time using the world's own tick counter — no variation from OS load or other processes
  • Each world instance is now processed completely independently on its own thread, with no cross-world state access

Spawn Modes per Region

  • Added spawnMode field to regions, configurable through the edit menu
  • Three modes available:
    • CONTINUOUS — default behavior, unchanged from previous versions. Replenishes mobs continuously while there is space and the interval has passed
    • WAVE — spawns mobs gradually until maximum capacity is reached. No new mobs appear until all mobs from the current wave die. Ideal for dungeons and challenge areas
    • THRESHOLD — only resumes spawning when the mob population drops below 40% of maximum capacity. Designed for strong areas where continuous replenishment would be too aggressive
  • All existing regions default to CONTINUOUS automatically — no migration needed

Threshold Warning

  • Server logs a one-time warning when a region uses THRESHOLD mode with a very low maximum capacity, informing that the behavior will be close to WAVE

Changed

Region Persistence

  • File structure on disk now reflects the folder hierarchy: regions/<folderPath>/<name>.json
  • The folderPath field is persisted in each region's JSON
  • When renaming a region through the menu, the file is automatically moved to the new path
  • Automatic backup (.json.bak) continues to work for all files

Region Identification

  • Regions are identified by their full path folderPath/name (case-insensitive)
  • Commands that accept a region name also accept the full path: /rsminfo dungeons/boss_room
  • If the name is unique across all folders, it can be used without the full path

ISpawnableRegion Interface

  • The ISpawnableRegion interface has been simplified — there is no longer a distinction between region and sub-region in the spawn system
  • getDisplayName() returns the full path (folderPath/name)

Removed

Sub-Regions

  • SubRegion class removed
  • All sub-region commands removed (see Breaking Changes)
  • Sub-region menus removed (/rsmsubinfomenu/rsmsubeditmenu)
  • parentRegionName field no longer exists in new files (supported only for legacy migration)

Migration

Automatic Sub-Region Migration

  • On load, the system detects files with subRegionName (legacy format)
  • Each sub-region is converted into an independent region with folderPath equal to the parent region name
  • Example: sub-region boss of region wolf_arena becomes region boss in folder wolf_arena
  • The legacy file is replaced with the new format automatically
  • A warning is logged for each migrated file

Version: 1.1.2
Compatibility: Automatic sub-region migration — no manual action required. Sub-region commands have been removed.