2017-04-14 80 views
0

我有一天開始使用bukkit插件,目的是在用戶鍵入'/ hello'時在文本窗口中返回hello。但是這不起作用,因爲我不能在eclipse中導入命令行。有什麼建議麼?它說,「命令無法解析爲一個類型」Bukkit Plugin:無法導入命令

package me.Nickedyerpants; 

import org.bukkit.command.CommandSender; 
import org.bukkit.plugin.java.JavaPlugin; 

public class Plugin extends JavaPlugin{ 

@Override 
public void onEnable(){  //what happens when plugin is enabled 

    getLogger().info("First plugin starting up...."); 


} 


@Override 
public void onDisable(){ //for when plugin is disabled 


    boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){ 

     if (cmd.getName().equalsIgnoreCase("hello") && sender instanceof Player){ 

      Player player = (Player) sender; 

      player.sendMessage("hello"); 

     } 

     return true; 

    } 



} 

} 
+0

我不能縮進的部分是「Command cmd」 – Nick

+0

在eclipse中按Ctrl + Shift + O可自動導入。否則你可以用這行'import org.bukkit.command.Command;'手動導入它。還是行不通?你有什麼bukkit jar版本? – Squiddie

+0

謝謝你的回覆,不幸的是,它沒有工作,我仍然因爲某些原因在括號和逗號上出現語法錯誤,而且我正在使用最新的bukkit jar – Nick

回答

2

所以你的代碼是從字面上不好,你正在實施onCommandonDisable方法,這是錯誤的,你的類ins't正確關閉!

與此更換你的整個代碼:類本身內

package me.Nickedyerpants; 

import org.bukkit.command.Command; 
import org.bukkit.command.CommandSender; 
import org.bukkit.entity.Player; 
import org.bukkit.plugin.java.JavaPlugin; 

public class Plugin extends JavaPlugin { 

    @Override 
    public void onEnable() {  //what happens when plugin is enabled 

     getLogger().info("First plugin starting up...."); 


    } 


    @Override 
    public void onDisable() { //for when plugin is disabled 
    } 


    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { 

     if (cmd.getName().equalsIgnoreCase("hello") && sender instanceof Player) { 

      Player player = (Player) sender; 

      player.sendMessage("hello"); 

     } 

     return true; 

    } 


} 

廣場方法,不把他們的另一種方法裏面。

+0

非常感謝你<3,完美的作品 – Nick