Bukkit 事件抛出爬行者破坏或 endman 块采取?

Bukkit event thrown on creeper destruction or enderman block-taking?

爬行者破坏方块时触发的事件名称是什么,我该如何使用它?

同样,当一个末影人从世界上偷走一个方块时,会调用另一个事件,它是什么以及如何使用?

org.bukkit.event.entity.EntityExplodeEvent for Creeper exploding and org.bukkit.event.entity.EntityChangeBlockEvent 末影人破坏。

当苦力怕通过爆炸破坏方块时,事件EntityExplodeEvent被调用。您可以在下面查看有关如何使用它的示例:

@EventHandler
public void onCreeperExplode(EntityExplodeEvent e) {
    Entity entity = e.getEntity();
    if (entity.getType().equals(EntityType.CREEPER)) {
    //It's a creeper
    //You can cancel it
    e.setCancelled(true);    //This prevents damage

    //Or cancel the block destruction
    e.blockList().clear();
    }
}

对于末影人 block-taking,您可以使用 EntityBlockChangeEvent,每当实体改变方块(不包括玩家)时调用。

@EventHandler
public void onEndermanBlockTake(EntityChangeBlockEvent e) {
    Entity entity = e.getEntity();
    if (entity.getType().equals(EntityType.Enderman)) {
        //It's an enderman
        Block b = e.getBlock();    //Getting the block
        e.setCancelled(true);    //Cancelling the event
    }
}