私のサーバーのプラグインの開発を開始しました。私はmain classコマンドとplehコマンドを作ったが、gamemode
コマンドではじめるとすべてが停止した。つまり、エラーなしで動作しますが、出力はありません。それは簡単な間違いかもしれないが、私はそれを見つけることができない。BUKKIT - MINECRAFTゲームモードの設定
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;
}
}
実際、起こる唯一の事は、私は、コンソールにコマンドを入力すると、それは私に私ではないプレーヤーのMSGを送信しますが、プレイヤーとしてハズレが動作しないです。
は、ここに私のコードです。
あなたはそこにタイプミスがありました。私はそれを固定しました。私はあなたの記事に完全に同意しますが、私はこの場合には私の代わりに使用スイッチを追加したいと思います。あなたのJavaのバージョンによっては、args [0]を整数に変換する必要があります。なぜそのクリーナーイモ –