Bukkit PlayerInteractEvent不起作用

时间:2017-05-06 15:13:33

标签: java bukkit

我认为这是正确的,但如果我点击Ax没有任何反应,没有错误

我不知道什么是错的,因为在互联网上它起作用

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){
    }
}
}

1 个答案:

答案 0 :(得分:3)

getServer().getPluginManager().registerEvents(this, this);添加到onEnable()

根据Bukkit API reference

,您必须注册您的听众