Upload folder via GUI - src

This commit is contained in:
Git Manager GUI
2026-04-08 02:42:04 +02:00
parent 4e18de17fc
commit 87f80d30c5
16 changed files with 1160 additions and 22 deletions

View File

@@ -53,6 +53,7 @@ public class EventManager {
runCommands(def.getStartCommands(), null);
handlerRegistry.get(def.getType()).ifPresent(h -> h.onStart(currentEvent));
plugin.getScoreboardManager().start(currentEvent);
if (def.getDurationSeconds() > 0) {
final ActiveEvent snap = currentEvent;
@@ -87,6 +88,7 @@ public class EventManager {
Bukkit.getScheduler().cancelTask(currentEvent.getTaskId());
handlerRegistry.get(def.getType()).ifPresent(h -> h.onEnd(currentEvent));
plugin.getScoreboardManager().stop();
broadcast(plugin.prefix() + "§6✦ §e" + def.getDisplayName()
+ " §7ist beendet! §7(" + reason + ")");
@@ -106,6 +108,16 @@ public class EventManager {
return true;
}
public boolean endEventWithWinner(Player winner, String reason) {
if (currentEvent == null || currentEvent.getState() == ActiveEvent.State.ENDED) return false;
if (winner != null) {
currentEvent.setWinner(winner.getUniqueId());
broadcast(plugin.prefix() + "§6🏁 " + winner.getName() + " §ehat das Ziel erreicht und gewinnt!");
distributeWinnerRewards(currentEvent.getDefinition(), winner);
}
return endEvent(reason);
}
public boolean join(Player player) {
if (currentEvent == null || currentEvent.getState() == ActiveEvent.State.ENDED) {
player.sendMessage(plugin.prefix() + "§cKein Event aktiv."); return false;
@@ -121,6 +133,7 @@ public class EventManager {
broadcast(plugin.prefix() + "§a" + player.getName() + " §7nimmt teil! §8("
+ currentEvent.getParticipantCount() + "/" + def.getMaxPlayers() + ")");
handlerRegistry.get(def.getType()).ifPresent(h -> h.onPlayerJoin(currentEvent, player));
plugin.getScoreboardManager().onJoin(player, currentEvent);
return true;
}
@@ -130,6 +143,7 @@ public class EventManager {
currentEvent.removeParticipant(player);
handlerRegistry.get(currentEvent.getDefinition().getType())
.ifPresent(h -> h.onPlayerLeave(currentEvent, player));
plugin.getScoreboardManager().onLeave(player);
player.sendMessage(plugin.prefix() + "§7Du hast das Event verlassen.");
}
@@ -161,6 +175,11 @@ public class EventManager {
}
}
private void distributeWinnerRewards(EventDefinition def, Player winner) {
if (def.getWinnerRewards().isEmpty() || winner == null) return;
runCommands(def.getWinnerRewards(), winner);
}
private void runCommands(List<String> cmds, Player player) {
for (String cmd : cmds) {
String filled = player != null ? cmd.replace("%player%", player.getName()) : cmd;