File Details
RegionSpawnMobs-1.1.3.jar
- B
- Apr 17, 2026
- 260.79 KB
- 90
- Early Access
File Name
RegionSpawnMobs-1.1.3.jar
Supported Versions
- Early Access
Changelog - Version 1.1.3
Added
SpawnPoint maxSpawn
- Each
SpawnPointcan now have an optionalmaxSpawn maxSpawnlimits how many live mobs from that point can exist at the same time- Accepted values:
null/ empty /Unlimited= no limit1..50= active limit
- The control uses the
spawnPointIdsaved in the tracker and the count performed during the region scan
maxAlive per entity
- Each
EntitySpawnConfigcan now have an optionalmaxAlive maxAlivelimits how many mobs of thatentityIdcan be alive in the region- Accepted values:
null/ empty /Unlimited= no limit1..200= active limit
- The filter happens before the final spawn roll, using the scan by
entityId
Expanded scan
- The region scan now counts:
- total mobs
- density per chunk
- density per
SpawnPoint - density per
entityId
- This allows applying
maxSpawnandmaxAlivewithout a parallel runtime system
Containment — Return to SpawnPoint
- When a mob leaves the region boundary and is teleported back, it now returns to its original
SpawnPointinstead of a random position inside the region - The
spawnPointIdis already stored in theRegionTrackerComponentsince spawn, so the lookup is direct via UUID — no ambiguity even if multiple SpawnPoints share the same name - If the mob has no SpawnPoint (spawned without one) or the SpawnPoint was deleted, the system falls back to the existing random safe position behavior
Region Parent System
- Any region can now declare a
parentRegionPathpointing to another region - When a field is empty/null locally, the region inherits it from the parent
- Inheritable fields:
entities— mob list and configspresetId— spawn interval and quantitiesspawnMode— CONTINUOUS, WAVE or THRESHOLDspawnConditions— time of day, weather, terrainignoreChunkDensity— chunk density bypass
- Non-inheritable fields (always local):
boundary,spawnPoints,regionId,regionName,folderPath,isActive,maxPerChunk
- Rules:
- Maximum 1 level of depth — a parent cannot have a parent
- A region cannot be its own parent
- Deleting a region that has children is blocked until the children are unlinked
- Renaming a parent region automatically updates
parentRegionPathin all children - Moving files manually outside the mod is the admin's responsibility
parentRegionPathis stored as the full path string (folderPath/regionName) in the JSON- If the parent is not found by full path, the system attempts fallback by unique name
- If not found at all, the region operates as independent and logs a warning
Preset and Mode — Required Fields
presetIdandspawnModeno longer default todefault/CONTINUOUSon region creation- Both fields now start as
null(none), forcing explicit configuration - If a region has no parent and tries to spawn without preset or mode configured, the system skips spawn and logs a warning in the console
- The warning is throttled to once every 15 seconds per region to avoid console spam
- If the region has a parent configured,
noneis valid — the values are inherited
RegionConfig Menu — Parent Field
- New
Parentdropdown added to the Region section of the config menu - Positioned below
Folder— alongside other structural fields (Name, Folder, Parent, World) - Lists all regions that are valid parents (no parent themselves, not the region being edited)
- Select
(none)to remove the parent link PresetandModedropdowns now include(none)as the first option- Saving without preset or mode configured (and no parent) is blocked with a clear error message in the menu status bar
Changed
Redesigned RegionConfig
RegionConfigwas reorganized into 3 columns:RegionSpawnPointsMobs
- The screen became wider and clearer for large configurations
SpawnPointnow shows a shortPoint IDto differentiate points with similar names
SpawnPoint filter flow
Allow MobandRemove Mobremain as dropdowns- Selections are applied directly when clicking
Save SpawnPoint - Separate add/remove filter buttons were removed
Unified menus
Region,PresetandTerrain Typenow follow the same visual and interaction pattern- The global menu was also updated to the same style
Migration and persistence
- Missing or invalid
folderPathis now automatically corrected based on the actual file folder - Normalization happens on the loaded file itself, without creating duplicates
- Regions at the root are saved to
regions/<name>.json - Regions in a folder are saved to
regions/<folderPath>/<name>.json
Fixed
Saving and normalization
- Fixed behavior that created duplicate JSON during migration of old regions
- Fixed
folderPathinference to reflect the actual folder insideregions/ - Fixed use of
System.errin persistence warnings, replaced by Hytale logger
RegionConfig
- Fixed visual inconsistency in the
SpawnPointflow - Adjusted layout to avoid overlap between sections and footer
- Improved consistency of
SpawnPointfilter saving
Terrain Type Config
- Improved reading of the configured terrain types list
- Fixed visual behavior of the panel with long content and scroll
Notes
maxSpawnresolves local control per pointmaxAliveadds a regional cap per entity when that global control is desired- Both options work together with
SpawnPoint,spawnModeandignoreChunkDensity - The parent system is designed for reuse — create one region with all mobs configured and link multiple regions to it, each with its own boundary and SpawnPoints
- Preset and mode are now intentionally required — a region without them and without a parent will not spawn anything and will warn the admin every 15 seconds
Version: 1.1.3
Compatibility: compatible with old regions; folderPath is automatically normalized when necessary. Existing regions without presetId or spawnMode will log warnings until configured.

