내 서버용 플러그인을 개발하기 시작했습니다. 메인 클래스와 프롤 명령어를 만들었지 만, 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를 전송하지만, 선수로 아니가 작동하지 않는 것입니다 :
여기 내 코드입니다.
당신은 거기에 오타가 있었는데, 그걸 고정 시켰습니다. 전 완전히 귀하의 게시물에 동의하지만, 나는이 경우에 대신 사용 스위치를 추가하고 싶습니다. 자바 버전에 따라 args [0]을 정수로 변환해야합니다. 그 이유는 단지 그것의 청소기 때문에 –