Lorsqu'un Creeper détruit des blocs par explosion, l'événement EntityExplodeEvent
est appelé. Vous pouvez vérifier un exemple sur la façon de l'utiliser ci-dessous:
@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();
}
}
Pour le bloc Enderman prise, vous pouvez utiliser un EntityBlockChangeEvent
, appelé chaque fois qu'une entité change un bloc (à l'exception des joueurs).
@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
}
}
Je suis désolé que cette question se referme. Imo, la question est ___clear___. Vous cherchez les événements appropriés. La réponse est simple. C'est loin de _ "Trop large" _. Les downvotes que vous avez ici sont ridicules. Bien sûr, ce n'est pas la meilleure question, mais allez. – Cerbrus
@Kyll doit vous étiqueter à nouveau ... Idk ce qui se passe avec downvotes et votes pour fermer – Kerooker
@Kerooker: Malheureusement, nous ne pouvons que rouvrir-voter une question _once_. – Cerbrus