Minecraft Bukkit Api 防止玩家受到伤害

Minecraft Bukkit Api Preventing Player Damage

我是 bukkit 的新手 api,我只是不知道如何防止玩家受到伤害。帮助将不胜感激。

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

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

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