私のサーバーのessentialsプラグインで作業していますが、5番目のコマンドを取得できません。ここでMinecraft Bukkit:コマンドが機能しない
はMain.javaのコードです:
package me.knightgeek.geekessentials;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
public void onEnable() { //On plugin startup
Bukkit.getServer().getLogger().info("Geek Essentials has been Enabled");
}
public void onDisable() { //On plugin close
Bukkit.getServer().getLogger().info("Geek Essentials has been Disabled");
}
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
if (cmd.getName().equalsIgnoreCase("heal")) {
if (!(sender instanceof Player)) {
sender.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.RED + "The console cannot run this command!");
return true;
}
Player player = (Player) sender;
if (args.length == 0) {
player.setHealth(20);
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "You have been healed.");
return true;
}
@SuppressWarnings("deprecation")
Player target = Bukkit.getServer().getPlayer(args[0]);
if (target == null) {
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.RED + "This player has not been found.");
return true;
}
target.setHealth(20);
target.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "You have been healed by " + ChatColor.WHITE + player.getName());
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "You have succesfully healed " + ChatColor.WHITE + target.getName());
return true;
}
if (cmd.getName().equalsIgnoreCase("feed")) {
if (!(sender instanceof Player)) {
sender.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.RED + "The console cannot run this command!");
return true;
}
Player player = (Player) sender;
if (args.length == 0) {
player.setFoodLevel(20);
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "You have been fed.");
return true;
}
@SuppressWarnings("deprecation")
Player target = Bukkit.getServer().getPlayer(args[0]);
if (target == null) {
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.RED + "This player has not been found.");
return true;
}
target.setFoodLevel(20);
target.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "You have been fed by " + ChatColor.WHITE + player.getName());
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "You have succesfully fed by " + ChatColor.WHITE + target.getName());
return true;
}
if (cmd.getName().equalsIgnoreCase("survival")) {
if (!(sender instanceof Player)) {
sender.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.RED + "The console cannot run this command!");
return true;
}
Player player = (Player) sender;
if (args.length == 0) {
player.setGameMode(GameMode.SURVIVAL);
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "Your gamemode is set to survival.");
return true;
}
@SuppressWarnings("deprecation")
Player target = Bukkit.getServer().getPlayer(args[0]);
if (target == null) {
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.RED + "This player has not been found.");
return true;
}
target.setGameMode(GameMode.SURVIVAL);
target.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "Your gamemode is set to survival by " + player.getName());
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "You have succesfully set " + target.getName() + "'s gamemode to survival.");
return true;
}
if (cmd.getName().equalsIgnoreCase("creative")) {
if (!(sender instanceof Player)) {
sender.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.RED + "The console cannot run this command!");
return true;
}
Player player = (Player) sender;
if (args.length == 0) {
player.setGameMode(GameMode.CREATIVE);
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "Your gamemode is set to creative.");
return true;
}
@SuppressWarnings("deprecation")
Player target = Bukkit.getServer().getPlayer(args[0]);
if (target == null) {
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.RED + "This player has not been found.");
return true;
}
target.setGameMode(GameMode.CREATIVE);
target.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "Your gamemode is set to creative by " + ChatColor.WHITE + player.getName());
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "You have succesfully set " + ChatColor.WHITE + target.getName() + ChatColor.GREEN + "'s gamemode to creative.");
return true;
}
if (cmd.getName().equalsIgnoreCase("adventure")) {
if (!(sender instanceof Player)) {
sender.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.RED + "The console cannot run this command!");
return true;
}
Player player = (Player) sender;
if (args.length == 0) {
player.setGameMode(GameMode.ADVENTURE);
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "Your gamemode is set to adventure.");
return true;
}
@SuppressWarnings("deprecation")
Player target = Bukkit.getServer().getPlayer(args[0]);
if (target == null) {
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.RED + "This player has not been found.");
return true;
}
target.setGameMode(GameMode.ADVENTURE);
target.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "Your gamemode is set to adventure by " + ChatColor.WHITE + player.getName());
player.sendMessage(ChatColor.GOLD + "[Geek Essentials] " + ChatColor.GREEN + "You have succesfully set " + ChatColor.WHITE + target.getName() + ChatColor.GREEN + "'s gamemode to adventure");
return true;
}
return true;
}
}
そして、ここではplugin.ymlです:
name: GeekEssentials
main: me.knightgeek.geekessentials.Main
author: KnightGeek
description: The essentials plugin for GeekCraft.
version: 1.0
commands:
heal:
usage: /<command>
description: Heals a player.
feed:
usage: /<command>
description: Feeds a player.
survival:
usage: /<command>
description: Sets your gamemode to survival.
creative:
usage: /<command>
description: Sets your gamemode to creative.
adventure:
usage: /<command>
description: Sets your gamemode to adventure.
ここでの問題は、それは私に未知のコマンドテキストを与えることです。/adventureコマンドを使用すると、これが私に表示されます。他のすべてのコマンドは正常に動作します。私はこのコマンドのコードを書き直しましたが、まだそれを修正する方法が見つかりませんでした。
私がここで間違っていることを誰かが知っているのでしょうか? P.S.:インデントが間違っています。私はすべてを再インデントしなければならなかったので、私はそれを行うことを計画していなかったからです。 Eclipseでは、必要なようにインデントされています。
解決策を見つけました: 私は無効にしたプラグインとして保存しました。だから使えなかった。 **私はとてもばかだ!** –