Files
NexusLobby/src/main/java/de/nexuslobby/commands/BuildCommand.java
2026-02-05 22:44:21 +01:00

72 lines
2.5 KiB
Java

package de.nexuslobby.commands;
import de.nexuslobby.NexusLobby;
import org.bukkit.GameMode;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.UUID;
public class BuildCommand implements CommandExecutor {
private static final ArrayList<UUID> buildModePlayers = new ArrayList<>();
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) return true;
Player player = (Player) sender;
if (!player.hasPermission("nexuslobby.build")) {
player.sendMessage("§cKeine Rechte.");
return true;
}
UUID uuid = player.getUniqueId();
if (buildModePlayers.contains(uuid)) {
// BAUMODUS DEAKTIVIEREN
buildModePlayers.remove(uuid);
// Inventar leeren
player.getInventory().clear();
player.getInventory().setArmorContents(null);
// Lobby-Items über das Modul wiedergeben
if (NexusLobby.getInstance().getItemsModule() != null) {
NexusLobby.getInstance().getItemsModule().giveLobbyItems(player);
}
// Gamemode zurücksetzen
String defaultGmName = NexusLobby.getInstance().getConfig().getString("lobby.default-gamemode", "Adventure");
try {
GameMode gm = GameMode.valueOf(defaultGmName.toUpperCase());
player.setGameMode(gm);
} catch (IllegalArgumentException e) {
player.setGameMode(GameMode.ADVENTURE);
}
player.sendMessage("§8» §6§lBuild §8| §7Baumodus §cdeaktiviert§7.");
} else {
// BAUMODUS AKTIVIEREN
buildModePlayers.add(uuid);
player.getInventory().clear();
player.getInventory().setArmorContents(null);
player.setGameMode(GameMode.CREATIVE);
player.sendMessage("§8» §6§lBuild §8| §7Baumodus §aaktiviert§7.");
}
return true;
}
public static boolean isInBuildMode(Player player) {
return buildModePlayers.contains(player.getUniqueId());
}
public static void removePlayerFromBuildMode(Player player) {
buildModePlayers.remove(player.getUniqueId());
}
}