From 8ebbe282cc5d8e8f0926ef5ffbc9b64604320e6b Mon Sep 17 00:00:00 2001 From: M_Viper Date: Wed, 6 Aug 2025 17:59:21 +0000 Subject: [PATCH] src/main/java/de/viper/survivalplus/commands/SitCommand.java aktualisiert --- .../survivalplus/commands/SitCommand.java | 111 +++++++++--------- 1 file changed, 57 insertions(+), 54 deletions(-) diff --git a/src/main/java/de/viper/survivalplus/commands/SitCommand.java b/src/main/java/de/viper/survivalplus/commands/SitCommand.java index a0fed10..a21454b 100644 --- a/src/main/java/de/viper/survivalplus/commands/SitCommand.java +++ b/src/main/java/de/viper/survivalplus/commands/SitCommand.java @@ -1,54 +1,57 @@ -package de.viper.survivalplus.commands; - -import de.viper.survivalplus.SurvivalPlus; -import de.viper.survivalplus.listeners.SitListener; -import org.bukkit.Location; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.configuration.file.FileConfiguration; - -public class SitCommand implements CommandExecutor { - private final SurvivalPlus plugin; - private final SitListener sitListener; - - public SitCommand(SurvivalPlus plugin, SitListener sitListener) { - this.plugin = plugin; - this.sitListener = sitListener; - } - - @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { - if (!(sender instanceof Player)) { - sender.sendMessage(plugin.getLangConfig().getString("player-only", "§cDieser Befehl ist nur für Spieler!")); - return true; - } - - Player player = (Player) sender; - FileConfiguration lang = plugin.getLangConfig(); - - if (!player.hasPermission("survivalplus.sit")) { - player.sendMessage(lang.getString("no-permission", "§cDu hast keine Berechtigung für diesen Befehl!")); - return true; - } - - if (args.length != 0) { - player.sendMessage(lang.getString("sit.usage", "§cVerwendung: /sit")); - return true; - } - - // Prüfe, ob der Spieler bereits sitzt - if (sitListener.isSitting(player)) { - sitListener.standUp(player); - player.sendMessage(lang.getString("sit.stand-up", "§aDu bist aufgestanden!")); - return true; - } - - // Setze den Spieler direkt auf dem Block - Location location = player.getLocation(); - location.setY(location.getBlockY()); // Direkt auf dem Block (keine Y-Verschiebung) - sitListener.sitPlayer(player, location); - return true; - } -} \ No newline at end of file +package de.viper.survivalplus.commands; + +import de.viper.survivalplus.SurvivalPlus; +import de.viper.survivalplus.listeners.SitListener; +import org.bukkit.Location; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.configuration.file.FileConfiguration; + +public class SitCommand implements CommandExecutor { + private final SurvivalPlus plugin; + private final SitListener sitListener; + + public SitCommand(SurvivalPlus plugin, SitListener sitListener) { + this.plugin = plugin; + this.sitListener = sitListener; + } + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + if (!(sender instanceof Player)) { + sender.sendMessage(plugin.getLangConfig().getString("player-only", "§cDieser Befehl ist nur für Spieler!")); + return true; + } + + Player player = (Player) sender; + FileConfiguration lang = plugin.getLangConfig(); + + if (!player.hasPermission("survivalplus.sit")) { + player.sendMessage(lang.getString("no-permission", "§cDu hast keine Berechtigung für diesen Befehl!")); + return true; + } + + if (args.length != 0) { + player.sendMessage(lang.getString("sit.usage", "§cVerwendung: /sit")); + return true; + } + + // Prüfe, ob der Spieler bereits sitzt + if (sitListener.isSitting(player)) { + sitListener.standUp(player); + player.sendMessage(lang.getString("sit.stand-up", "§aDu bist aufgestanden!")); + return true; + } + + // Setze den Spieler mittig auf den Block und leicht oberhalb (Fix) + Location location = player.getLocation(); + location.setX(location.getBlockX() + 0.5); + location.setY(location.getBlockY() + 0.25); + location.setZ(location.getBlockZ() + 0.5); + + sitListener.sitPlayer(player, location); + return true; + } +}