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.
Back to Files

RegionSpawnMobs-2.0.0.jar

File nameRegionSpawnMobs-2.0.0.jar
Uploader
MATIASTGMMATIASTGM
Uploaded
Jul 24, 2026
Downloads
53
Size
677.5 KB
File ID
8499791
Type
R
Release
Supported game versions
  • 0.5

What's new

Changelog - Version 2.0.0

Release Summary

This is a major release that consolidates everything built since 1.1.9 into a single production-ready version. The main goals were:

  • complete the SpawnPoint visual system with interactive drag-to-relocate support
  • add a region picker for overlapping regions
  • introduce /rsmkilllost for cleaning up untracked entities inside regions
  • refactor the visualization layer into dedicated renderer classes
  • finalize all UI files and item definitions for the full admin toolset
  • ship full i18n coverage across en-US, pt-BR, ru-RU, and uk-UA

New for Server Admins

1) SpawnPoint Visual Entities

SpawnPoints are now represented by persistent visual entities in the world.

Behavior:

  • a colored cube model appears at each SpawnPoint position
  • the SpawnPoint name is shown as a nameplate above the entity
  • visuals are only visible to admins (adventure-mode players do not see them)
  • clicking a SpawnPoint visual opens the region editor directly on the SpawnPoints tab, with that point pre-selected
  • dragging the visual entity to a new position inside the region automatically relocates the SpawnPoint and saves the region
  • if the visual is dragged outside the region boundary, it snaps back to the original position
  • orphan visuals (SpawnPoint was deleted) are automatically removed on the next tick cycle
  • visuals are recreated automatically if they disappear (chunk reload, server restart)

New component: SpawnPointVisualComponent — stores spawnPointId and regionId on the visual entity.

New system: SpawnPointVisualTickingSystem — runs every 5 seconds per world, reconciles visuals with the current SpawnPoint list.

New service: SpawnPointVisualManager — handles creation and update of visual entities.

New interaction handler: SpawnPointVisualInteraction — resolves which region and SpawnPoint a clicked visual belongs to and opens the correct editor tab.

2) Region Picker for Overlapping Regions

When the admin opens the region editor while standing inside multiple overlapping regions, a picker screen is shown instead of opening one arbitrarily.

Behavior:

  • lists all regions that contain the player's current position
  • sorted alphabetically by full path
  • clicking Edit on a row opens that region's config directly
  • if only one region contains the player, the picker is skipped

New screen: RegionPickerGui — uses the existing ConfigMenuRegionRow.ui row component.

3) New Command: /rsmkilllost

Removes loaded entities inside region boundaries that match the region's configured entity ids but are not tracked by RegionTrackerComponent.

Use case: clean up mobs that were spawned by a previous version, a different plugin, or manually placed and are now occupying region capacity without being tracked.

Behavior:

  • scans all active regions across all loaded worlds
  • matches entities by NPC role name, NPC type id, or model asset id (case-insensitive)
  • only removes entities that are inside the region boundary and have no tracker component
  • reports removed count per region and total

Command: /rsmkilllost Permission: admin


Visualization Refactor

RegionVisualizationService was refactored from a single large class (~540 lines) into dedicated renderer classes. Each renderer handles one visual concern:

Class Responsibility
BoundaryRenderer Region boundary box shapes
ChunkDensityRenderer Per-chunk density overlay (gray/green/yellow/red)
LiveMobRenderer Flock ring + leash line from mob to spawn origin
SpawnPointRenderer SpawnPoint cube visuals in REGIONS mode
ZoneRenderer Zone and cut area shapes
DebugShapeSender Low-level shape packet dispatch

Practical impact:

  • easier to maintain and extend individual visual modes
  • no behavior change for admins — all existing visualization modes work the same

UI Files Finalized

All UI definition files are now complete and registered:

Region:

  • RegionConfig.ui — tabbed region editor (Region / SpawnPoints / Mobs / Zones)
  • RegionConfigMobRow.ui, RegionConfigMobGroupHeader.ui, RegionConfigMobBreakdownRow.ui, RegionConfigMobSearchRow.ui
  • RegionConfigSpawnPointMobRow.ui, RegionConfigVisualPanel.ui
  • RegionConfigZoneRow.ui, RegionConfigZoneBoxRow.ui
  • RegionPicker.ui — overlapping region picker
  • SpawnPointCreate.ui — SpawnPoint creation screen

Zone / Cut:

  • ZoneConfig.ui, ZoneConfigZoneRow.ui, ZoneConfigBoxRow.ui
  • CutConfig.ui, CutConfigCutRow.ui, CutConfigBoxRow.ui

Marker:

  • MarkerConfig.ui, MarkerConfigRow.ui, MarkerCreate.ui, MarkerEdit.ui

Global / Preset / Terrain:

  • GlobalConfig.ui, PresetConfig.ui, TerrainTypeConfig.ui

Config Menu:

  • ConfigMenu.ui, ConfigMenuRegionRow.ui

HUD Legends:

  • Hud/RsmConfigToolLegend.ui
  • Hud/RsmMarkerToolLegend.ui
  • Hud/RsmMarkerMenuLegend.ui

Admin Items

Two items are available in the Tools tab in Creative mode:

Item Left Click Right Click
RSM Config Tool (Rsm_ConfigMenu) Opens the main config menu Opens the region editor for the region under the player
RSM Marker Tool (Rsm_MarkerEditTool) Opens the marker list Right-click a marker visual to open its editor

All items use the Rsm_Developer quality and show a HUD legend while held.

Root interactions registered:

  • Open_RsmConfigMenu
  • Open_RsmRegionEditMenu
  • Open_RsmCutConfigMenu
  • Open_RsmZoneConfigMenu
  • Open_RsmMarkerConfigMenu
  • Open_RsmMarkerCreate
  • Open_RsmMarkerEditFromVisual
  • Open_RsmMarkerEditTarget
  • Open_RsmSpawnpointMenu
  • Open_RsmSpawnPointVisual

Models

Two custom models are now registered:

Model Used by
RSM_SpawnPoint SpawnPoint visual entities
RSM_Spawn_Marker Spawn Marker visual entities

Internationalization

Full translation coverage for all player-facing strings:

Language File
English en-US/server.lang (434 keys — source of truth)
Portuguese (BR) pt-BR/server.lang (434 keys)
Russian ru-RU/server.lang (402 keys)
Ukrainian uk-UA/server.lang (402 keys)
Fallback fallback.lang (64 keys)

Key pattern: server.rsm.<group>.<action>.<type>


Internal Changes

  • RotationUtil added — normalizes rotation vectors to finite values before writing to TransformComponent, preventing NaN/Infinity in saved entity data
  • RegionSpawnPointPolicy updated — accounts for SpawnPoint visual entities when evaluating spawn eligibility
  • SpawnPoint model updated — added setX, setY, setZ setters and getDisplayName() for nameplate sync
  • SpawnMarker model updated — additional fields for activation-aware reconcile introduced in 1.1.9 are now fully persisted
  • MarkerSpawnController updated — combat leash and tamed-mob tracker cleanup from 1.1.8/1.1.9 finalized
  • MarkerVisualManager updated — visual entity lifecycle aligned with SpawnPointVisualManager pattern
  • All commands updated — permission checks and translation keys aligned with the final i18n schema
  • RegionConfigGui expanded — Zones tab added, mob breakdown rows, SpawnPoint visual interaction wired in

Compatibility

  • Data compatibility: fully compatible with 1.1.9
  • Migration required: no
  • New component type registered: SpawnPointVisualComponent
  • New system registered: SpawnPointVisualTickingSystem
  • Existing regions, markers, presets, and terrain types load without changes

Version: 2.0.0

This mod has no additional files