Added
- JSON5 Configuration: Replaced TOML with a more flexible JSON5 format.
- World Limits: Added global mob caps for world-wide restrictions.
- Vanilla Despawn Control: Introduced
vanilla_despawn
settings (vanilla
,custom
,disabled
) to manage mob persistence. - Removal Types: Added
removal_type
(despawn
for silent removal,kill
for loot drops) for both world and chunk limits. - Priority System: Chunk limits now follow a clear priority: specific mob → category → namespace → default.
- Asynchronous Processing: Mob limit checks and cache updates now run asynchronously.
- Commands:
- Added
/moblimiter info
to display current settings. - Removed
/moblimit debug
and/moblimit stats
for a simpler command structure.
- Added
Changed
- Config Structure: Reworked into
world_limits
,chunk_limits
, andvanilla_despawn
sections, with the ability to enable/disable each. - Default Removal: Set to
despawn
(previously removed silently) to avoid unintended loot drops. - Command Namespace: Updated from
/moblimit
to/moblimiter
for consistency.
Fixed
- ConcurrentModificationException: Resolved crash during mob removal in high-load scenarios.
- Config Parsing: Improved error handling for invalid mob IDs and config formats.
- Config Duplication: Fixed duplication of config file after reloading with
/moblimiter reload
.
Note
- Existing TOML configs (
moblimiter.toml
) must be migrated to JSON5 (moblimiter.json5
). Check the new config file for updated structure and examples.
The initial release of the mod.
- Support for individual mob limits via moblist.
- Support for embedded groups (peaceful, hostile, all) via groups.
- Support for user groups via custom_groups.
- Added the commands /moblimit reload, /moblimit debug, and /moblimit stats.
- Implemented basic spawn check and removal of unnecessary mobs via MobLimitChecker.