2017-05-06 3 views
2

내가이 올바른 생각하지만 난 도끼 아무것도 클릭하면 어떻게, 오류가Bukkit PlayerInteractEvent는

내가 인터넷에이

package mrleaw.tools.main; 

import org.bukkit.Bukkit; 
import org.bukkit.Material; 
import org.bukkit.entity.Player; 
import org.bukkit.event.EventHandler; 
import org.bukkit.event.Listener; 
import org.bukkit.event.block.Action; 
import org.bukkit.event.player.PlayerInteractEvent; 
import org.bukkit.plugin.java.JavaPlugin; 

public class Main extends JavaPlugin implements Listener{ 

String prefix = "§0[§4RollmopsMC | Tools§0] §5"; 

public void onEnable() { 
    Bukkit.getConsoleSender().sendMessage(prefix + "§aDas Plugin wurde aktiviert!"); 
    Bukkit.getConsoleSender().sendMessage(prefix + "§6Coded by MrLeaw"); 
} 
public void onDisable() { 
    Bukkit.getConsoleSender().sendMessage(prefix + "§cDas Plugin wurde deaktiviert!"); 
    Bukkit.getConsoleSender().sendMessage(prefix + "§6Coded by MrLeaw"); 
} 

@EventHandler 
void onRightClickTool(PlayerInteractEvent e){ 
    try { 
     if(e.getAction() == Action.LEFT_CLICK_AIR 
       || e.getAction() == Action.RIGHT_CLICK_AIR 
       || e.getAction() == Action.LEFT_CLICK_BLOCK 
       || e.getAction() == Action.RIGHT_CLICK_BLOCK){ 
      Player player = e.getPlayer(); 
      if(player.getItemInHand() != null && player.getItemInHand().getType() == Material.WOOD_AXE){ 
       player.sendMessage(prefix + "test"); 
      } 
     } 
    }catch(Exception exception){ 
    }catch(Error error){ 
    } 
} 
} 
+2

1. 캐치하지 마십시오'Error'에 따라 에스. [나쁜 일이 생기면] (https://stackoverflow.com/q/11017304). 2. 빈'catch '절이 없어야합니다. 뭔가 잘못되면 왜 그 얘길 듣고 싶지 않니? 3. 이벤트 처리기를 어디에도 등록하지 않습니다. ['PluginManager.registerEvents()'] (https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/plugin/PluginManager.html#registerEvents (org.bukkit.event.Listener, % 20org.bukkit. plugin.Plugin)). – Siguza

답변

3

를 작동하기 때문에 잘못 알고하지 않는 작동하지 않습니다 당신은, 당신의 청취자를 등록이 작업을 수행해야 onEnable()

getServer().getPluginManager().registerEvents(this, this);를 추가 Bukkit API reference

+0

물론 오, 미안 해요 xD –