File Details
Paradigm 2.0.0 (forge 1.21.11)
- R
- Mar 14, 2026
- 375.88 KB
- 7
- 1.21.11
- Forge
File Name
Paradigm-forge-1.21.11-2.0.0.jar
Supported Versions
- 1.21.11
Curse Maven Snippet
Added
- Added
persistConfig()helpers to config handlers for explicit runtime saves:MainConfigHandlerAnnouncementsConfigHandlerChatConfigHandlerMOTDConfigHandlerMentionConfigHandlerRestartConfigHandlerEmojiConfigHandlerCooldownConfigHandler
- Added in-game update notifier support in
UpdateChecker:- caches last update check result/config
- exposes helper getters (
isUpdateAvailable,getLastResult,getLastModrinthUrl) - registers player join/leave hooks to notify operators when an update is available.
- Added cooldown flush on server stop (
CommandManager.onServerStopping) to persist pending cooldown data. - Added WebEditor owner notifications for socket-based apply flow:
- in-game colorized feedback for
applied,unchanged, anderroroutcomes.
- in-game colorized feedback for
Changed
- Reload permissions:
/paradigm reloadnow accepts either OP level orparadigm.reloadpermission./customcommandsreloadnow accepts either OP level orparadigm.reloadpermission.
- Module state refresh flow:
Reload.refreshModuleStates(...)is now reusable/static and updates stored state map.Helpcommand triggers module-state refresh before rendering output.
- Reload scheduling behavior:
- re-schedules announcements/restart timers on relevant reload targets (
main,announcements,restart,all).
- re-schedules announcements/restart timers on relevant reload targets (
- Config path resolution is now platform-aware for custom command files:
CMConfignow resolvesconfig/paradigm/commandsfrom platformIConfig.EditorApplierwrites config/custom command files through platform config directory (with fallback).
CommonRuntimenow initializes:EmojiConfigHandlerwith debug logger/validatorCMConfigwith platform config- in-game update notifier registration (
UpdateChecker.registerInGameNotifier).
Servicesnow uses injectedWebEditorStoreinstance instead of always creating a new one.- Telemetry server ID persistence now uses
MainConfigHandler.persistConfig()instead of manual file write logic. - Default announcements examples now use explicit clickable tags (
<click:...>) for command suggestion/open URL links. - WebEditor command feedback (
/paradigm editor,/paradigm apply) is now colorized and state-specific. - WebEditor socket
CHANGE_RESPONSEpayload now provides richer apply results:statecan beapplied,unchanged, orerror- includes
appliedCount,unchangedCount, andmessage(andnewSessionCodewhen available).
- Restart countdown placeholders were expanded:
- added
{clock}/{hhmmss}(HH:mm:ss) - default restart bossbar message now uses
{clock}.
- added
Fixed
Announcementsmodule now respectsmain.json -> announcementsEnableas a master switch.Announcements.rescheduleAnnouncements()now avoids re-scheduling when module is disabled.Restart.rescheduleNextRestart()now avoids re-scheduling when module is disabled.CooldownConfigHandlerpersistence logic improved:- batched/time-based writes (
SAVE_BATCH_SIZE,SAVE_INTERVAL_MS) - synchronized flush path for explicit and automatic saves
- reduced allocations in
getLastUsage(...)viaCollections.emptyMap()fallback.
- batched/time-based writes (
- WebEditor socket owner message is now colorized (
[WebEditor] Socket connected) instead of plain text. - WebEditor apply parsing now accepts both wrapped
ConfigEntryobjects and plain scalar/list values from payloads.- fixes errors like
JsonSyntaxException ... BEGIN_OBJECT but was BOOLEAN(e.g.motd.iconEnabled).
- fixes errors like
- Restart bossbar time now shows hours when relevant:
{minutes}:{seconds}is auto-expanded to fullHH:mm:ssif remaining time is over 1 hour.