Changelog
0.3.1-neoforged - 2025-11-29
Changes since 0.2.3
Now Compatible with NeoForge 21.1.215+, Youer-1.21.1, AsyncYouer-1.21.1
Added
- Added
/cleanup configcommands to list, read, and set config values at runtime with tab completion, validation against the config spec, and saving changes before re-baking settings. - Added automatic discovery of config bindings and tracking of the active server config during load and reload so runtime updates target the correct spec.
Changed
- Bumped NeoForge to 21.1.215 and retargeted the mod version to
0.3.1-neoforged. - Disabled console cleanup summaries by default (configurable via
consoleDebugLogging). - Replaced chunk AABB scanning with
level.getAllEntities()and per-level schedules to keep cleanup in lockstep with async ticking environments.
- Wildcard filter added. Please keep in mind that filtered Items still counts toward the threshold, as they still contribute to server load.
In Detail:
Added wildcard-aware matching in PolicyEngine.filterPredicate, enabling filterList entries to use * and ? patterns and translating them into regex via new helper methods so namespace-wide and prefix filters (e.g., minecraft:, minecraft:oak) are honored.
⚙️ Enhancement
- Added a new configuration option to disable console output:
consoleDebugLogging = false - It is recommended to keep console output enabled initially to verify your setup and disable it once confirmed. Re-enable logging whenever you suspect a bug or need to provide debug information.
🐞 Resolved
New Features
- Implemented
/cleanup now,/cleanup now force,/cleanup stats, and/cleanup dryruncommand handlers. (Not all working as intended for now, i.e. empty stats.)- Includes aggregated feedback for admins.
- Supports dry-run previews and per-dimension reporting.
Refactors & Improvements
-
Refactored the cleanup engine to:
- Expose reusable analysis summaries.
- Support forced execution overrides.
- Improve logging with detailed configuration context for each run.
-
Updated
/cleanupcommand registration to use the standard permission system, allowing execution by OP players or the server console.
Code Maintenance
- Removed the unused forced-analysis overload and redundant threshold accessor to eliminate dead code.
- Ensured tracked item entries correctly mark saved data as dirty when their last-seen timestamp changes, improving persistence accuracy.
Fixed:
- Jitter configuration is now respected.
- Possible NullPointer-Exception resolved, if cleanup filter list was empty.
- Potential infinite grow of persistent data, fixed.
- Fixed problem where setDirty ran every tick.
resolved issue: https://github.com/metl-play/smartitemdeleterv2/issues/2#issue-3572517315
Initial release for testing if this mod behaves as expected. This release is NOT compatible with AsyncYouer, but normal Youer is fine. Tested with 51 Mods Simultanously. -> Not in depth, not tested if other mods behavior breaks. This mod works with them installed.



