v1.2.0: Implement improvement plan features

- Setback System: Teleports flagged players to lastSafeLocation (opt-in per check)
- TPS Lag Compensation: isServerLagging() helper, guards in Fly/Spider/Glide checks
- Universal Buffer System: Buffer fields for Jesus/Reach/KillAura/Timer/FastPlace/Scaffold/FastEat
- /xac debug command: Shows check-specific debug info for players
- Public API: XACApi with isFlagged(), getViolationLevel(), getTotalViolations(), isBypassed()
- Performance Metrics: /xac stats command with checks/flags/punishments tracking
This commit is contained in:
2026-03-15 13:17:28 -03:00
parent a4a87e62de
commit 112a61cf0c
23 changed files with 387 additions and 16 deletions

View File

@@ -123,6 +123,7 @@ public class PunishmentManager {
kickCmd = kickCmd.replace("%player%", playerName).replace("%reason%", reason);
executeCommand(kickCmd);
logPunishment(type, player, checkName, vl);
plugin.getMetricsManager().recordPunishment();
}
case "TEMPBAN" -> {
String tempbanCmd = plugin.getConfigManager().getString("punishments.tempban_command",
@@ -130,6 +131,7 @@ public class PunishmentManager {
tempbanCmd = tempbanCmd.replace("%player%", playerName).replace("%reason%", reason);
executeCommand(tempbanCmd);
logPunishment(type, player, checkName, vl);
plugin.getMetricsManager().recordPunishment();
}
case "PERMBAN" -> {
String permbanCmd = plugin.getConfigManager().getString("punishments.permban_command",
@@ -137,6 +139,7 @@ public class PunishmentManager {
permbanCmd = permbanCmd.replace("%player%", playerName).replace("%reason%", reason);
executeCommand(permbanCmd);
logPunishment(type, player, checkName, vl);
plugin.getMetricsManager().recordPunishment();
}
}
}