2017-03-04 6 views
1

私のサーバーの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では、必要なようにインデントされています。

+0

解決策を見つけました: 私は無効にしたプラグインとして保存しました。だから使えなかった。 **私はとてもばかだ!** –

答えて

0

Opは、将来のユーザーに役立つ可能性があるので、彼の解決方法を解説しました。


あなたのプラグインが期待しているプラ​​グインとしてエクスポートされていないために状況が発生していました。

異なるjarファイルとしてエクスポートしていましたが、これはサーバーフォルダにありません。したがって、プラグインに追加された新しいコードをテストできませんでした。

それに対する解決策は単純です:サーバーが唯一のプラグインディレクトリ内のプラグインを読み込みますよう

日食から、あなたのプラグインをエクスポートする場合、は、あなたが右のjarファイルに保存していることを確認してください。

関連する問題