我对bukkit api很新,我无法弄清楚如何防止玩家受到伤害。帮助将不胜感激。
答案 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();