package de.marc.folterkammer; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.plugin.java.JavaPlugin; import java.util.ArrayList; import java.util.List; public final class folterplugin extends JavaPlugin { private Boolean enabled = true; private String old_group; @Override public void onEnable() { //Write Config saveDefaultConfig(); // Plugin startup logic getCommand("folterkammer").setExecutor(this); getCommand("fkleave").setExecutor(new FKLeave(this)); getLogger().info("Folterkammer Plugin geladen!"); } @Override public void onDisable() { // Plugin shutdown logic getLogger().info("Folterkammer Plugin deaktiviert"); } public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (!sender.hasPermission("folter.use")) { sender.sendMessage("§cNur Folterer dürfen das!\nDu kannst dich bei Marc bewerben, wenn du den folterer Rang willst."); return true; } if (args.length == 0) { sender.sendMessage("§cNo Args!"); return true; } String mode = args[0].toLowerCase(); Player player = (Player) sender; if (!enabled) { if (!mode.equals("enable")) { player.sendMessage("§cFolterkammer Befehle deaktiviert!"); return true; } } World world; int x; int y; int z; switch (mode) { case "enter": ConfigurationSection folterkammer = getConfig().getConfigurationSection("positions.folterkammer"); world = Bukkit.getWorld(folterkammer.getString("world")); x = folterkammer.getInt("x"); y = folterkammer.getInt("y"); z = folterkammer.getInt("z"); Location folter_loc = new Location(world, x, y, z); player.teleport(folter_loc); break; case "exit": ConfigurationSection spawn = getConfig().getConfigurationSection("positions.spawn"); world = Bukkit.getWorld(spawn.getString("world")); x = spawn.getInt("x"); y = spawn.getInt("y"); z = spawn.getInt("z"); Location spawn_loc = new Location(world, x, y, z); player.teleport(spawn_loc); break; case "key": ItemStack tag = new ItemStack(Material.NAME_TAG, 1); ItemMeta meta = tag.getItemMeta(); meta.setDisplayName("folter_key"); tag.setItemMeta(meta); player.getInventory().addItem(tag); break; case "player": if (args.length != 2) { player.sendMessage("§cHast du da vielleicht etwas vergessen??"); return true; } Player target = Bukkit.getPlayer(args[1]); ConfigurationSection folter_spawn = getConfig().getConfigurationSection("positions.folterkammer_player"); world = Bukkit.getWorld(folter_spawn.getString("world")); x = folter_spawn.getInt("x"); y = folter_spawn.getInt("y"); z = folter_spawn.getInt("z"); Location folter_spawn_loc = new Location(world, x, y, z); target.teleport(folter_spawn_loc); Bukkit.dispatchCommand("lp user " + target.getName() + " ") player.sendMessage("§aFolterkammer Befehle deaktiviert und " + player.getName() + " wurde in die Folterkammer teleportiert!"); break; case "enable": if (!player.hasPermission("folter.admin")) { player.sendMessage("§cDas darfst du nicht!!"); return true; } this.enabled = true; player.sendMessage("§aFolterkammer Befehle sind an!"); break; case "disable": if (!player.hasPermission("folter.admin")) { player.sendMessage("§cDas darfst du nicht!!"); return true; } this.enabled = false; player.sendMessage("§aFolterkammer Befehle sind aus!"); break; case "admin_key": if (!player.hasPermission("folter.admin")) { player.sendMessage("§cDas darfst du nicht!!"); return true; } ItemStack tag2 = new ItemStack(Material.NAME_TAG, 1); ItemMeta meta2 = tag2.getItemMeta(); meta2.setDisplayName("folter_admin_7uiozE867WE8S6"); tag2.setItemMeta(meta2); player.getInventory().addItem(tag2); break; default: player.sendMessage("§cHast du dich vielleicht vertippt??"); break; } return true; } public List onTabComplete(CommandSender sender, Command command, String label, String[] args) { List completions = new ArrayList<>(); if (!label.equals("fkleave")) { if (args.length == 1) { completions.add("player"); completions.add("key"); completions.add("enter"); completions.add("exit"); if (sender.hasPermission("folter.admin")) { completions.add("enable"); completions.add("disable"); completions.add("admin_key"); } } if (args.length == 2) { for (Player p : Bukkit.getOnlinePlayers()) { completions.add(p.getName()); } } } return completions; } }