Update from Git Manager GUI

This commit is contained in:
2026-02-20 18:38:42 +01:00
parent d14646c5ae
commit 535b0aa2f3
5 changed files with 375 additions and 187 deletions

View File

@@ -51,9 +51,13 @@ public class TicketManager {
* und sendet optional eine Discord-Webhook-Nachricht.
*/
public void notifyTeam(Ticket ticket) {
// Sicherheitschecks für null-Werte
String creatorName = ticket.getCreatorName() != null ? ticket.getCreatorName() : "Unbekannt";
String message = ticket.getMessage() != null ? ticket.getMessage() : "";
String msg = plugin.formatMessage("messages.new-ticket-notify")
.replace("{player}", ticket.getCreatorName())
.replace("{message}", ticket.getMessage())
.replace("{player}", creatorName)
.replace("{message}", message)
.replace("{id}", String.valueOf(ticket.getId()));
for (Player p : Bukkit.getOnlinePlayers()) {
@@ -63,19 +67,32 @@ public class TicketManager {
}
}
// Discord-Webhook (asynchron, kein Einfluss auf Server-Performance)
// Discord-Webhook (asynchron)
plugin.getDiscordWebhook().sendNewTicket(ticket);
}
/**
* Benachrichtigt den Ersteller, wenn sein Ticket angenommen wurde.
* --- FIX PROBLEMK 1: NIE "UNBEKANNT" ---
*/
public void notifyCreatorClaimed(Ticket ticket) {
Player creator = Bukkit.getPlayer(ticket.getCreatorUUID());
if (creator != null && creator.isOnline()) {
// 1. Versuch: Name aus dem Ticket-Objekt
String claimerName = ticket.getClaimerName();
// 2. Versuch: Wenn Name fehlt, aber UUID vorhanden -> Namen über Bukkit holen
if (claimerName == null && ticket.getClaimerUUID() != null) {
claimerName = Bukkit.getOfflinePlayer(ticket.getClaimerUUID()).getName();
}
// 3. Fallback: Falls immer noch kein Name da ist, nimm "Support" (nie "Unbekannt")
if (claimerName == null) claimerName = "Support";
String msg = plugin.formatMessage("messages.ticket-claimed-notify")
.replace("{id}", String.valueOf(ticket.getId()))
.replace("{claimer}", ticket.getClaimerName());
.replace("{claimer}", claimerName);
creator.sendMessage(msg);
}
}
@@ -101,8 +118,10 @@ public class TicketManager {
public void notifyForwardedTo(Ticket ticket, String fromName) {
Player target = Bukkit.getPlayer(ticket.getForwardedToUUID());
if (target != null && target.isOnline()) {
String creatorName = ticket.getCreatorName() != null ? ticket.getCreatorName() : "Unbekannt";
String msg = plugin.formatMessage("messages.ticket-forwarded-notify")
.replace("{player}", ticket.getCreatorName())
.replace("{player}", creatorName)
.replace("{id}", String.valueOf(ticket.getId()));
target.sendMessage(msg);
}
@@ -121,7 +140,6 @@ public class TicketManager {
/**
* Benachrichtigt den Ersteller, wenn sein Ticket geschlossen wurde.
* @param closerName Name des Admins/Supporters der es geschlossen hat (für Discord, kann null sein)
*/
public void notifyCreatorClosed(Ticket ticket, String closerName) {
notifiedClosedTickets.add(ticket.getId());