bukkit
इकाई घटनाएँ
खोज…
परिचय
सभी एंटिटी इवेंट्स EntityEvent का विस्तार करते हैं, EntityEvents के लिए सुपरक्लास।
सभी ज्ञात EntityEvents नीचे पाए जा सकते हैं, और इस दस्तावेज़ में शामिल किए जाएंगे।
EntityDamage घटना
EntityDamage इवेंट तब डाली जाती है जब Entity क्षतिग्रस्त हो जाती है।
EntityDamageEvent
@EventHandler
public void onEntityDamage(EntityDamageEvent e) {
DamageCause cause = e.getCause(); //Get the event DamageCause
double rawDamage = e.getDamage(); //Returns the damage before any calculation
double damageModified = e.getDamage(DamageModifier.X); //Returns the damage that would be caused with the specified modifier
double finalDamage = e.getFinalDamage(); //Gets the final damage of this event, with all the calculations included
e.setCancelled(boolean x); //If for any reasons you want the event to not happen, you can cancel it
e.setDamage(double damage); //You can change the full damage the event will cause
e.setDamage(DamageModifier modifier, double damage); //Changes the damage considering any possible modifier
}
अधिकांश समय, EntityDamageEvent का उपयोग नहीं किया जाएगा। इसके बजाय, इसका एक उपवर्ग उपयोग किया जाएगा, जैसे कि EntityDamageByEntityEvent या EntityDamageByBlockEvent । दोनों को नीचे देखा जा सकता है।
EntityDamageByEntityEvent
@EventHandler
public void onEntityDamageByEntity(EntityDamageByEntityEvent e) {
//Retrieving the Entity that dealt damage
Entity damageDealer = e.getDamager();
//Retrieving the Entity that took damage
Entity damageTaker = e.getEntity();
//Retrieving the cause of the damage
DamageCause cause = e.getDamageCause();
//damage is the double value of the damage before all the resistances and modifiers have been applied
double damage = e.getDamage();
//FinalDamage is the double value of the damage after all the resistances and modifiers have been applied
double finalDamage = e.getFinalDamage();
//You can also set the raw damage (before modifiers) for the event to a different value
e.setDamage(20.0);
}
EntityDamageByBlockEvent
EntityDamageEvent के लिए एक सरल एक्सटेंशन, लेकिन एक अलग विधि के साथ:
Block b = event.getDamager(); //Returns the block that dealt damage to the entity
एंटिटीईवेंट (सुपरक्लास)
एंटिटी इवेंट्स के लिए ज्ञात उप-वर्ग हैं:
उप-वर्ग | उप-वर्ग | उप-वर्ग |
---|---|---|
CreatureSpawnEvent | CreeperPowerEvent | EntityChangeBlockEvent |
EntityCombustEvent | EntityCreatePortalEvent | EntityDamageEvent |
EntityDeathEvent | EntityExplodeEvent | EntityInteractEvent |
EntityPortalEnterEvent | EntityRegainHealthEvent | EntityShootBowEvent |
EntityTameEvent | EntityTargetEvent | EntityTeleportEvent |
EntityUnleashEvent | ExplosionPrimeEvent | FoodLevelChangeEvent |
HorseJumpEvent | ItemDespawnEvent | ItemSpawnEvent |
PigZapEvent | ProjectileHitEvent | ProjectileLaunchEvent |
SheepDyeWoolEvent | SheepRegrowWoolEvent | SlimeSplitEvent |
इसके अतिरिक्त, सभी उप-वर्ग निम्नलिखित विधियों को विरासत में देते हैं:
Entity getEntity(); //Entity who is involved in this event
EntityType getEntityType(); //EntityType of the Entity involved in this event
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow