Ich begann mit der Entwicklung von Plugin für meinen Server. Ich machte Hauptklassen- und Pleh-Befehle, aber alle stoppten, als ich mit dem Befehl gamemode
anfing. Ich meine, es funktioniert ohne Fehler, gibt aber keine Ausgabe. Es könnte ein einfacher Fehler sein, aber ich kann es nicht finden.BUKKIT - MINECRAFT Einstellung Gamemode Ausgabe
Hier ist mein Code:
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
public class Gamemode implements CommandExecutor {
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMessage(ChatColor.RED + "Haha nice try not happening today.");
return true;
}
Player p = (Player) sender;
if (cmd.getName().equalsIgnoreCase("gm")) {
if ((!p.hasPermission("sutils.*")) &&
(!p.hasPermission("sutils.gamemode"))) {
p.sendMessage(ChatColor.RED + "Sorry no permission.");
return true;
}
if (args.equals("0")) {
p.setGameMode(GameMode.SURVIVAL);
p.sendMessage(ChatColor.RED + "Gamemode set to Survival");
}
if (args.equals("1")) {
p.setGameMode(GameMode.CREATIVE);
p.sendMessage(ChatColor.RED + "Gamemode set to Creative");
}
if (args.equals("2")) {
p.setGameMode(GameMode.ADVENTURE);
p.sendMessage(ChatColor.RED + "Gamemode set to Adventure");
}
if (args.equals("3")) {
p.setGameMode(GameMode.SPECTATOR);
p.sendMessage(ChatColor.RED + "Gamemode set to Spectator");
}
return true;
}
return true;
}
}
Eigentlich ist das einzige, was passiert, ist, wenn ich das Kommando in der Konsole geben Sie es mir nicht einen Spieler msg sendet aber als Spieler Nö funktioniert nicht.
Sie hatten einen Tippfehler dort, ich reparierte es tho. Ich stimme deinem Beitrag vollkommen zu, aber ich möchte hinzufügen, dass ich in diesem Fall switch anstelle von verwenden würde. Abhängig von Ihrer Java-Version müssen Sie args [0] in Integer umwandeln. Der Grund warum ist nur, weil es sauberer imo –