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

@@ -23,6 +23,8 @@ public class RegionSetupManager {
private final EventEngine plugin;
// Temporäre Pos1-Speicher pro Spieler: UUID → [eventId, Location]
private final Map<UUID, Object[]> pos1Selection = new HashMap<>();
private final Map<UUID, Object[]> startPos1Selection = new HashMap<>();
private final Map<UUID, Object[]> goalPos1Selection = new HashMap<>();
public RegionSetupManager(EventEngine plugin) {
this.plugin = plugin;
@@ -78,6 +80,120 @@ public class RegionSetupManager {
player.sendMessage(plugin.prefix() + "§7Region für §e" + def.getDisplayName() + " §7entfernt (gesamte Welt).");
}
public void handleStartPos1(Player player, String eventId) {
EventDefinition def = plugin.getEventRegistry().get(eventId).orElse(null);
if (def == null) { player.sendMessage(plugin.prefix() + "§cEvent nicht gefunden: §f" + eventId); return; }
startPos1Selection.put(player.getUniqueId(), new Object[]{eventId, player.getLocation().clone()});
player.sendMessage(plugin.prefix() + "§aStart-Pos1 gesetzt: §f" + formatLoc(player));
player.sendMessage(plugin.prefix() + "§7Jetzt: §f/event race start pos2 " + eventId);
}
public void handleStartPos2(Player player, String eventId) {
EventDefinition def = plugin.getEventRegistry().get(eventId).orElse(null);
if (def == null) { player.sendMessage(plugin.prefix() + "§cEvent nicht gefunden: §f" + eventId); return; }
Object[] sel = startPos1Selection.get(player.getUniqueId());
if (sel == null || !sel[0].equals(eventId)) {
player.sendMessage(plugin.prefix() + "§cZuerst Start-Pos1 setzen: §f/event race start pos1 " + eventId);
return;
}
org.bukkit.Location pos1 = (org.bukkit.Location) sel[1];
org.bukkit.Location pos2 = player.getLocation().clone();
if (!pos1.getWorld().equals(pos2.getWorld())) {
player.sendMessage(plugin.prefix() + "§cBeide Positionen müssen in der gleichen Welt sein!");
return;
}
EventRegion region = new EventRegion(pos1, pos2);
def.setStartRegion(region);
if (def.isCustom()) plugin.getConfigManager().saveCustomEvent(def);
startPos1Selection.remove(player.getUniqueId());
player.sendMessage(plugin.prefix() + "§a✔ Startbereich gesetzt für §e" + def.getDisplayName() + "§a:");
sendRegionInfo(player, region);
}
public void handleStartClear(Player player, String eventId) {
EventDefinition def = plugin.getEventRegistry().get(eventId).orElse(null);
if (def == null) { player.sendMessage(plugin.prefix() + "§cEvent nicht gefunden: §f" + eventId); return; }
def.setStartRegion(null);
if (def.isCustom()) plugin.getConfigManager().saveCustomEvent(def);
player.sendMessage(plugin.prefix() + "§7Startbereich für §e" + def.getDisplayName() + " §7entfernt.");
}
public void handleStartInfo(Player player, String eventId) {
EventDefinition def = plugin.getEventRegistry().get(eventId).orElse(null);
if (def == null) { player.sendMessage(plugin.prefix() + "§cEvent nicht gefunden: §f" + eventId); return; }
if (!def.hasStartRegion()) {
player.sendMessage(plugin.prefix() + "§e" + def.getDisplayName() + " §7hat keinen Startbereich.");
return;
}
player.sendMessage("§8§m══════════════════════════════");
player.sendMessage("§6 Startbereich: §e" + def.getDisplayName());
sendRegionInfo(player, def.getStartRegion());
player.sendMessage("§8§m══════════════════════════════");
}
public void handleGoalPos1(Player player, String eventId) {
EventDefinition def = plugin.getEventRegistry().get(eventId).orElse(null);
if (def == null) { player.sendMessage(plugin.prefix() + "§cEvent nicht gefunden: §f" + eventId); return; }
goalPos1Selection.put(player.getUniqueId(), new Object[]{eventId, player.getLocation().clone()});
player.sendMessage(plugin.prefix() + "§aZiel-Pos1 gesetzt: §f" + formatLoc(player));
player.sendMessage(plugin.prefix() + "§7Jetzt: §f/event race goal pos2 " + eventId);
}
public void handleGoalPos2(Player player, String eventId) {
EventDefinition def = plugin.getEventRegistry().get(eventId).orElse(null);
if (def == null) { player.sendMessage(plugin.prefix() + "§cEvent nicht gefunden: §f" + eventId); return; }
Object[] sel = goalPos1Selection.get(player.getUniqueId());
if (sel == null || !sel[0].equals(eventId)) {
player.sendMessage(plugin.prefix() + "§cZuerst Ziel-Pos1 setzen: §f/event race goal pos1 " + eventId);
return;
}
org.bukkit.Location pos1 = (org.bukkit.Location) sel[1];
org.bukkit.Location pos2 = player.getLocation().clone();
if (!pos1.getWorld().equals(pos2.getWorld())) {
player.sendMessage(plugin.prefix() + "§cBeide Positionen müssen in der gleichen Welt sein!");
return;
}
EventRegion region = new EventRegion(pos1, pos2);
def.setGoalRegion(region);
if (def.isCustom()) plugin.getConfigManager().saveCustomEvent(def);
goalPos1Selection.remove(player.getUniqueId());
player.sendMessage(plugin.prefix() + "§a✔ Zielbereich gesetzt für §e" + def.getDisplayName() + "§a:");
sendRegionInfo(player, region);
}
public void handleGoalClear(Player player, String eventId) {
EventDefinition def = plugin.getEventRegistry().get(eventId).orElse(null);
if (def == null) { player.sendMessage(plugin.prefix() + "§cEvent nicht gefunden: §f" + eventId); return; }
def.setGoalRegion(null);
if (def.isCustom()) plugin.getConfigManager().saveCustomEvent(def);
player.sendMessage(plugin.prefix() + "§7Zielbereich für §e" + def.getDisplayName() + " §7entfernt.");
}
public void handleGoalInfo(Player player, String eventId) {
EventDefinition def = plugin.getEventRegistry().get(eventId).orElse(null);
if (def == null) { player.sendMessage(plugin.prefix() + "§cEvent nicht gefunden: §f" + eventId); return; }
if (!def.hasGoalRegion()) {
player.sendMessage(plugin.prefix() + "§e" + def.getDisplayName() + " §7hat keinen Zielbereich.");
return;
}
player.sendMessage("§8§m══════════════════════════════");
player.sendMessage("§6 Zielbereich: §e" + def.getDisplayName());
sendRegionInfo(player, def.getGoalRegion());
player.sendMessage("§8§m══════════════════════════════");
}
public void handleInfo(Player player, String eventId) {
EventDefinition def = plugin.getEventRegistry().get(eventId).orElse(null);
if (def == null) { player.sendMessage(plugin.prefix() + "§cEvent nicht gefunden: §f" + eventId); return; }
@@ -101,4 +217,11 @@ public class RegionSetupManager {
+ p.getLocation().getBlockY() + ", "
+ p.getLocation().getBlockZ();
}
private void sendRegionInfo(Player player, EventRegion region) {
player.sendMessage("§7 Welt: §f" + region.getWorldName());
player.sendMessage("§7 Von: §f" + region.getMinX() + ", " + region.getMinY() + ", " + region.getMinZ());
player.sendMessage("§7 Bis: §f" + region.getMaxX() + ", " + region.getMaxY() + ", " + region.getMaxZ());
player.sendMessage("§7 Größe: §f" + region.getSizeX() + "x" + region.getSizeY() + "x" + region.getSizeZ());
}
}