This commit is contained in:
marc-go
2026-01-30 19:12:52 +01:00
parent b358630eb4
commit 83760b2c9b
4 changed files with 80 additions and 22 deletions

View File

@@ -0,0 +1,47 @@
package de.marc.folterkammer;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
public class FKLeave implements CommandExecutor {
private folterplugin plugin;
public FKLeave(folterplugin folterplugin) {
this.plugin = folterplugin;
}
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
Player player = (Player) sender;
if (!player.hasPermission("folter.tour")) {
player.sendMessage("§cDas darfst du nicht!");
return true;
}
if (!player.getGameMode().equals(GameMode.SPECTATOR)) {
player.sendMessage("§cWill da etwa jemand heimlich verschwinden??");
return true;
}
ConfigurationSection spawn = plugin.getConfig().getConfigurationSection("positions.spawn");
World world = Bukkit.getWorld(spawn.getString("world"));
int x = spawn.getInt("x");
int y = spawn.getInt("y");
int z = spawn.getInt("z");
Location loc = new Location(world, x, y, z);
player.teleport(loc);
player.setGameMode(GameMode.SURVIVAL);
return true;
}
}

View File

@@ -11,14 +11,14 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.inventory.ItemStack;
import org.bukkit.command.TabCompleter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public final class folterplugin extends JavaPlugin { public final class folterplugin extends JavaPlugin {
private Boolean enabled = true; private Boolean enabled = true;
private String old_group;
@Override @Override
public void onEnable() { public void onEnable() {
@@ -27,6 +27,7 @@ public final class folterplugin extends JavaPlugin {
// Plugin startup logic // Plugin startup logic
getCommand("folterkammer").setExecutor(this); getCommand("folterkammer").setExecutor(this);
getCommand("fkleave").setExecutor(new FKLeave(this));
getLogger().info("Folterkammer Plugin geladen!"); getLogger().info("Folterkammer Plugin geladen!");
} }
@@ -52,7 +53,7 @@ public final class folterplugin extends JavaPlugin {
Player player = (Player) sender; Player player = (Player) sender;
if (!enabled) { if (!enabled) {
if (mode != "enable") { if (!mode.equals("enable")) {
player.sendMessage("§cFolterkammer Befehle deaktiviert!"); player.sendMessage("§cFolterkammer Befehle deaktiviert!");
return true; return true;
} }
@@ -118,7 +119,9 @@ public final class folterplugin extends JavaPlugin {
Location folter_spawn_loc = new Location(world, x, y, z); Location folter_spawn_loc = new Location(world, x, y, z);
target.teleport(folter_spawn_loc); target.teleport(folter_spawn_loc);
this.enabled = false; Bukkit.dispatchCommand("lp user " + target.getName() + " ")
player.sendMessage("§aFolterkammer Befehle deaktiviert und " + player.getName() + " wurde in die Folterkammer teleportiert!"); player.sendMessage("§aFolterkammer Befehle deaktiviert und " + player.getName() + " wurde in die Folterkammer teleportiert!");
break; break;
@@ -174,22 +177,24 @@ public final class folterplugin extends JavaPlugin {
public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) { public List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
List<String> completions = new ArrayList<>(); List<String> completions = new ArrayList<>();
if (args.length == 1) { if (!label.equals("fkleave")) {
completions.add("player"); if (args.length == 1) {
completions.add("key"); completions.add("player");
completions.add("enter"); completions.add("key");
completions.add("exit"); completions.add("enter");
completions.add("exit");
if (sender.hasPermission("folter.admin")) { if (sender.hasPermission("folter.admin")) {
completions.add("enable"); completions.add("enable");
completions.add("disable"); completions.add("disable");
completions.add("admin_key"); completions.add("admin_key");
}
} }
}
if (args.length == 2) { if (args.length == 2) {
for (Player p : Bukkit.getOnlinePlayers()) { for (Player p : Bukkit.getOnlinePlayers()) {
completions.add(p.getName()); completions.add(p.getName());
}
} }
} }

View File

@@ -11,6 +11,6 @@ positions:
z: 7 z: 7
spawn: spawn:
world: world world: world
x: 500 x: 100
y: 200 y: 0
z: 494 z: 100

View File

@@ -6,11 +6,17 @@ api-version: '1.21'
commands: commands:
folterkammer: folterkammer:
description: Folterkammer Befehl description: Folterkammer Befehl
aliases: [fk, folter]
fkleave:
description: Verlasse die Tour durch die Folterkammer
permissions: permissions:
folter.use: folter.use:
description: Berechtigung für Folterer description: Berechtigung für Folterer
default: op default: op
folter.admin: folter.admin:
description: Berechtigung für Admins description: Berechtigung für Admins
default: op default: op
folter.tour:
description: Darf die Tour durch die Folterkammer verlassen
default: not op