From 7cdd3c5b6b6432a6bfa22a6b72af7f51ff447bf9 Mon Sep 17 00:00:00 2001 From: hacker_marc Date: Fri, 16 Jan 2026 21:35:29 +0100 Subject: [PATCH] Add commands, config.yml and compelitions --- .../de/marc/folterkammer/folterplugin.java | 144 +++++++++++++++++- src/main/resources/config.yml | 16 ++ 2 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/config.yml diff --git a/src/main/java/de/marc/folterkammer/folterplugin.java b/src/main/java/de/marc/folterkammer/folterplugin.java index 93814a9..fff226e 100644 --- a/src/main/java/de/marc/folterkammer/folterplugin.java +++ b/src/main/java/de/marc/folterkammer/folterplugin.java @@ -1,13 +1,28 @@ 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.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.inventory.ItemStack; +import org.bukkit.command.TabCompleter; + +import java.util.ArrayList; +import java.util.List; public final class folterplugin extends JavaPlugin { @Override public void onEnable() { + //Write Config + saveDefaultConfig(); + // Plugin startup logic getCommand("folterkammer"); getLogger().info("Folterkammer Plugin geladen!"); @@ -22,7 +37,7 @@ public final class folterplugin extends JavaPlugin { public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (!sender.hasPermission("folter.use")) { - sender.sendMessage("§cPermission denied!"); + sender.sendMessage("§cNur Folterer dürfen das!\nDu kannst dich bei Marc bewerben, wenn du den folterer Rang willst."); return true; } @@ -30,5 +45,132 @@ public final class folterplugin extends JavaPlugin { sender.sendMessage("§cNo Args!"); return true; } + + String mode = args[0].toLowerCase(); + Player player = (Player) sender; + + Boolean enabled = true; + + if (!enabled) { + player.sendMessage("§cFolterkammer Befehle deaktiviert!"); + } + + World world; + int x; + int y; + int z; + + switch (mode) { + case "enter": + List folterkammer = getConfig().getStringList("positions.folterkammer"); + + world = Bukkit.getWorld(folterkammer.get(0).toString()); + x = ((Number) folterkammer.get(1)).intValue(); + y = ((Number) folterkammer.get(2)).intValue(); + z = ((Number) folterkammer.get(3)).intValue(); + + Location folter_loc = new Location(world, x, y, z); + player.teleport(folter_loc); + + case "exit": + List spawn = getConfig().getStringList("positions.spawn"); + + world = Bukkit.getWorld(spawn.get(0).toString()); + x = ((Number) spawn.get(1)).intValue(); + y = ((Number) spawn.get(2)).intValue(); + z = ((Number) spawn.get(3)).intValue(); + + Location spawn_loc = new Location(world, x, y, z); + player.teleport(spawn_loc); + + 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); + + case "player": + if (args.length != 2) { + player.sendMessage("§cHast du da vielleicht etwas vergessen??"); + return true; + } + + Player target = Bukkit.getPlayer(args[1]); + + List folter_spawn = getConfig().getStringList("positions.spawn"); + + world = Bukkit.getWorld(folter_spawn.get(0).toString()); + x = ((Number) folter_spawn.get(1)).intValue(); + y = ((Number) folter_spawn.get(2)).intValue(); + z = ((Number) folter_spawn.get(3)).intValue(); + + Location folter_spawn_loc = new Location(world, x, y, z); + target.teleport(folter_spawn_loc); + + enabled = false; + + case "enable": + if (!player.hasPermission("folter.admin")) { + player.sendMessage("§cDas darfst du nicht!!"); + return true; + } + + enabled = true; + + player.sendMessage("§aFolterkammer Befehle sind an!"); + + case "disable": + if (!player.hasPermission("folter.admin")) { + player.sendMessage("§cDas darfst du nicht!!"); + return true; + } + + enabled = false; + + player.sendMessage("§aFolterkammer Befehle sind aus!"); + + 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); + + } + + return true; + } + + public List onTabComplete(CommandSender sender, Command command, String label, String[] args) { + List completions = new ArrayList<>(); + + 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; } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml new file mode 100644 index 0000000..f5d944e --- /dev/null +++ b/src/main/resources/config.yml @@ -0,0 +1,16 @@ +positions: + folterkammer: + - minecraft:folterraum + - 21 + - 42 + - 29 + folterkammer_player: + - minecraft:folterraum + - 21 + - 38 + - 7 + spawn: + - minecraft:overworld + - 500 + - 200 + - 494 \ No newline at end of file