Minecraft Bukkit Api防止球员伤害

时间:2015-07-25 06:06:01

标签: api minecraft bukkit

我对bukkit api很新,我无法弄清楚如何防止玩家受到伤害。帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果您还不知道如何创建事件侦听器。您将要创建一个实现Listener的新类,并在构造函数中注册该类的事件。然后你需要为EntityDamageEvent创建一个事件处理程序,如果它是一个玩家,则取消该事件。该类应该看起来像这样:

public class MyListener implements Listener { //Implement listener

    public MyListener(){
        Bukkit.getPluginManager().registerEvents(this, <PLUGIN INSTANCE>) //Register events in the constructor
    }

    @EventHandler //Create a new event handler
    public void onEntityDamage(EntityDamageEvent e){
        if(e.getEntity() instanceof Player){ //Check if the entity is a player
            e.setCancelled(true); //If it is then cancel the event
        }
    }    
}

您还必须在服务器启动时调用代码来注册您的事件,因此在主插件类的onEnable()中您必须运行new MyListener();