/
zenith.update.notify permission get notified when a new version is availableactive_case now correctly set to null after unmute (instead of unmute case ID)ip_muted status now properly cleared when unmuting IP-muted playersIP_MUTE and IPMUTE punishment types in unmute logicupdatePlayerMuteStatus now sets active_case to null instead of unmute case IDIP_MUTE and IPMUTE types"expiry_time" and "expiryTime" formatsactive_case set to unmute case ID prevented re-muting playersip_muted status not cleared after unmuting IP-muted playersIP_MUTE and IPMUTE types"expiryTime" formatactive_case correctly set to null after unmuteip_muted status properly cleared after unmuting IP-muted playersIP_MUTE and IPMUTE supported in unmute operations (I dont even know why I did IP_MUTE and IPMUTE in the first place 😭)"expiry_time" and "expiryTime" JSON formatshttps://api.modrinth.com/v2/project/z-mod/versionClickEvent.OPEN_URLzenith.update.notify (default: OP only)MUTE, IP_MUTE, and IPMUTE typesactive_case to null instead of unmute case IDip_muted status when unmuting IP-muted playersadditional_data for audit trail"expiry_time" (underscore) and "expiryTime" (no underscore)expiry_time value from JSON stringsremainingSeconds = (expiryTime - currentTime) / 1000DurationParser.formatDuration() for readable time displayIP_MUTE and IPMUTE typesreason LIKE baseReason + "%" instead of reason LIKE "%(%"zenith.update.notify for update notificationsactive_case now correctly set to null after unmuteip_muted status now properly cleared after unmuting IP-muted playersIP_MUTE and IPMUTE supported in unmute operations"expiry_time" format (with underscore)Version: 1.2.2
Released: January 17, 2025
Platform: Paper 1.21.4+

Advanced moderation plugin with ban/mute systems, escalation templates, offline support, and Web-API integration for professional server management.