2017-01-26 1 views
-2

Quel est le nom de l'événement qui se déclenche quand une plante grimpante détruit des blocs, et comment l'utiliser?Bukkit événement lancé sur la destruction rampante ou la prise de blocage enderman?

De même, lorsqu'un Enderman vole un bloc du monde, un autre événement est appelé, qu'est-ce que c'est et comment est-il utilisé?

+0

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

+0

@Kyll doit vous étiqueter à nouveau ... Idk ce qui se passe avec downvotes et votes pour fermer – Kerooker

+0

@Kerooker: Malheureusement, nous ne pouvons que rouvrir-voter une question _once_. – Cerbrus

Répondre

4

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

Je viens d'éditer votre message pour supprimer les lignes horizontales, pas besoin de séparer le texte d'explication du code qu'il explique. N'hésitez pas à revenir en arrière ou éditer à nouveau si vous n'êtes pas à l'aise avec! –