RegionSpawnMobs-2.0.4.jar
What's new
RegionSpawnMobs 2.0.4
Version 2.0.4 improves the route system introduced previously by fixing Patrol NPC isolation, allowing points to be edited directly in the world, and adding clearer visualization for Markers and routes.
Patrol Route Isolation
- Marker routes are no longer published to Hytale's global Path catalog and are now assigned to RSM NPCs as private
TransientPathinstances. - Region routes now use private paths as well.
- Fixed an issue where any NPC in the world with
Patrolbehavior could follow a route created by RegionSpawnMobs. - Private routes are restored when an NPC is loaded again with its chunk.
- Global paths and markers created by the previous implementation are removed during migration.
- Fixed a
NullPointerExceptioncaused by attempting to remove a route fromWorldPathDataafter it was already absent.
Dedicated Persistent Visual Entities
- Marker and Region route points now use dedicated RSM visual entities without interfering with the global Path system.
- Point labels clearly identify their owner:
Marker - MarkerName - RouteName #indexRegion - RegionPath - RouteName #index
- Fixed Marker route visuals disappearing after a server restart.
- Visuals persisted by a previous session are validated and recreated when their chunk is loaded.
- Incomplete visual entities have their transform, network, model, nameplate, and interaction components restored.
- Deleting a point, route, Marker, or Region immediately removes its loaded visuals.
- Periodic orphan validation remains only as a fallback for chunks loaded later.
Direct In-World Point Editing
- Marker centers can now be moved with Hytale's entity tool.
- Marker route points can also be moved directly without deleting and recreating them.
- Region route points received the same movement support.
- New positions are automatically persisted to the corresponding JSON files.
- Private paths assigned to loaded NPCs are refreshed immediately after a point is moved.
- Region route points remain restricted to their Region boundary; invalid movement is reverted.
- Moving a Marker between chunks no longer leaves a visual copy at its previous position.
Marker Block Centering
- Marker centers now follow the same positioning convention as SpawnPoints.
- Saved coordinates represent integer block positions, while the visual entity is placed at the center using
X + 0.5andZ + 0.5. - The Y coordinate is aligned to the block as well.
- Moving a Marker automatically snaps its visual entity to the center of the new block.
- Existing Markers with fractional coordinates are normalized automatically.
Quick Route Tool
- Pressing
QwithRsm_MarkerEditToolnow opens a compact screen for selecting the nearest Marker, creating a route, or adding the current position as a new point. - The quick screen retains access to the complete Marker configuration.
- Fixed the footer so the Markers and Close buttons remain inside the container.
- Fixed point deletion disconnecting the player with a CustomUI error involving
@routeId. - Dynamic events now correctly send literal identifiers through the
RouteIdandMobIdfields.
rsmshow Visualization
- Markers are now displayed by
rsmshow truewith a centered box matching the SpawnPoint visual convention. - Region route points are connected by lines to display the path the NPC will travel.
- Circular routes connect the last point back to the first; other modes are not incorrectly displayed as closed loops.
- Marker routes display point boxes, a center line, radius discs, and a translucent corridor matching the configured margin.
- Live NPCs owned by Markers display a ring and a line to the closest point on their route.
- The line turns red when the NPC is outside the allowed margin.
- Region NPCs assigned to routes now point to the closest location on their path instead of only to their spawn origin.
- Colors now have consistent meaning:
- Marker: stable color generated from its name;
- points and center line: stable route color;
- point radius: green;
- route corridor: cyan-blue;
- NPC outside the margin: red.
Spatial Coverage Optimization
- Route-distance checks now use a cached spatial index divided into 16-block X/Z cells.
- Only route segments near the NPC are queried.
- Nearby points and overlapping radii share spatial coverage, avoiding repeated calculations for the same area.
- Each candidate segment is tested only once per query, even when it appears in multiple cells.
- Final confirmation still uses exact 3D distance, preserving route height, slopes, and curves.
- The complete closest-point calculation runs only when an NPC actually requires correction.
- The cache is automatically invalidated when Marker or Region route points are added, removed, or moved.
- The optimization does not remove or merge points and does not change route order or behavior.
Compatibility and Version
- New components and text were registered in English, Brazilian Portuguese, Russian, and Ukrainian.
- Existing Marker and Region files remain compatible.
- Plugin and manifest versions were updated to
2.0.4.
Verification
- Java compilation completed successfully using Java 25.
RegionSpawnMobs-2.0.4.jarwas generated successfully.- The project has no automated test sources, so the test task completes as
NO-SOURCE.
Version: 2.0.4
This mod has no additional files

