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();
我是 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();