Releases: VibeCodeMonster/CoreProtectFix
Releases · VibeCodeMonster/CoreProtectFix
CoreProtect Fix 1.0
CoreProtectFix – Release Notes
A lightweight compatibility patch that makes CoreProtect behave correctly on hybrid/Forge-like servers (ArcLight/Mohist/Kettle) while staying fully compatible with vanilla Paper/Spigot/Purpur.
✨ What’s inside
- Hybrid-server compatibility layer
Bridges Paper-only APIs that CoreProtect expects and safely degrades on ArcLight/Mohist. - Event shims & null-safety
Guards against missing/relocated events and edge cases that previously caused startup/runtime errors. - Strict type checks & fallbacks
EliminatesClassCastExceptionand similar crashes in mixed-mod environments. - Zero behavior changes on pure Paper
If you run standard Paper/Spigot/Purpur, the fix stays passive.
🛠 Fixed (highlights)
- Startup failure on ArcLight due to missing
AsyncChatEvent/ relocated chat events. - Occasional
ClassCastExceptionwhere third-party plugins return unexpected types (e.g.,StringvsList). - NPE hazards from optional/absent services in hybrid stacks.
- Safer listener registration when specific event classes are not present at runtime.
Note: The fix does not modify CoreProtect data or its logging semantics. It only prevents hybrid-stack incompatibilities and hard crashes.
✅ Compatibility
- CoreProtect: 21.x – 23.x (recommended: latest)
- MC servers: Paper / Spigot / Purpur; ArcLight / Mohist / Kettle (1.20.x proven)
- Java: 17+
- ProtocolLib: Not required (supported if present)
If you’re on a custom fork, the fix attempts graceful detection and will disable itself if it cannot guarantee safety.
📦 Install / Upgrade
- Update CoreProtect to the latest compatible version.
- Drop
CoreProtectFix-<version>.jarinto/plugins/. - Restart the server (do not hot-reload).
- Check console for:
CoreProtectFix enabled (hybrid layer: ON|OFF).
To update: replace the JAR and perform a clean restart.
⚙️ Configuration (optional)
A minimal config.yml is generated on first run:
# plugins/CoreProtectFix/config.yml
enabled: true # Master switch
strict-mode: true # Fail fast if the runtime looks unsupported
suppress-warnings: false # Hide noisy but harmless compatibility warnings
debug: false # Verbose diagnostics to help troubleshooting