diff options
Diffstat (limited to 'src/main/java/net')
6 files changed, 31 insertions, 143 deletions
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java index 7890d6f5..51a5b38c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -24,7 +24,6 @@ import org.bukkit.craftbukkit.entity.CraftEntity; import org.bukkit.craftbukkit.entity.CraftPlayer; import org.bukkit.event.entity.EntityCombustEvent; import org.bukkit.event.entity.EntityDamageByBlockEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityPortalEvent; import org.bukkit.plugin.PluginManager; @@ -325,19 +324,7 @@ public abstract class Entity { } } else { if (this.fireTicks % 20 == 0) { - // CraftBukkit start - TODO: this event spams! - if (this instanceof EntityLiving) { - EntityDamageEvent event = new EntityDamageEvent(this.getBukkitEntity(), EntityDamageEvent.DamageCause.FIRE_TICK, 1); - this.world.getServer().getPluginManager().callEvent(event); - - if (!event.isCancelled()) { - event.getEntity().setLastDamageCause(event); - this.damageEntity(DamageSource.BURN, event.getDamage()); - } - } else { - this.damageEntity(DamageSource.BURN, 1); - } - // CraftBukkit end + this.damageEntity(DamageSource.BURN, 1); } --this.fireTicks; @@ -790,20 +777,6 @@ public abstract class Entity { protected void burn(int i) { if (!this.fireProof) { - // CraftBukkit start - if (this instanceof EntityLiving) { - EntityDamageEvent event = new EntityDamageEvent(this.getBukkitEntity(), EntityDamageEvent.DamageCause.FIRE, i); - this.world.getServer().getPluginManager().callEvent(event); - - if (event.isCancelled()) { - return; - } - - i = event.getDamage(); - event.getEntity().setLastDamageCause(event); - } - // CraftBukkit end - this.damageEntity(DamageSource.FIRE, i); } } @@ -1594,14 +1567,11 @@ public abstract class Entity { } } - EntityDamageByEntityEvent event = new EntityDamageByEntityEvent(stormBukkitEntity, thisBukkitEntity, EntityDamageEvent.DamageCause.LIGHTNING, 5); - pluginManager.callEvent(event); - + EntityDamageEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(entitylightning, this, EntityDamageEvent.DamageCause.LIGHTNING, 5); if (event.isCancelled()) { return; } - thisBukkitEntity.setLastDamageCause(event); this.burn(event.getDamage()); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java index 7d4c4f5b..decb9057 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -7,7 +7,6 @@ import java.util.List; import org.bukkit.block.BlockState; import org.bukkit.craftbukkit.util.BlockStateListPopulator; import org.bukkit.event.entity.EntityCreatePortalEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityExplodeEvent; import org.bukkit.event.entity.EntityRegainHealthEvent; import org.bukkit.Bukkit; @@ -363,20 +362,7 @@ public class EntityEnderDragon extends EntityLiving implements IComplex { Entity entity = (Entity) list.get(i); if (entity instanceof EntityLiving) { - // CraftBukkit start - Throw damage events when the dragon attacks - // The EntityHuman case is handled in EntityHuman, so don't throw it here - if (!(entity instanceof EntityHuman)) { - EntityDamageByEntityEvent damageEvent = new EntityDamageByEntityEvent(this.getBukkitEntity(), entity.getBukkitEntity(), org.bukkit.event.entity.EntityDamageEvent.DamageCause.ENTITY_ATTACK, 10); - Bukkit.getPluginManager().callEvent(damageEvent); - - if (!damageEvent.isCancelled()) { - entity.getBukkitEntity().setLastDamageCause(damageEvent); - entity.damageEntity(DamageSource.mobAttack(this), damageEvent.getDamage()); - } - } else { - entity.damageEntity(DamageSource.mobAttack(this), 10); - } - // CraftBukkit end + entity.damageEntity(DamageSource.mobAttack(this), 10); } } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java index 9210d969..21819eeb 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -322,17 +322,9 @@ public abstract class EntityLiving extends Entity { this.aR(); } - // CraftBukkit start - if (this.isAlive() && this.inBlock() && !(this instanceof EntityEnderDragon)) { // EnderDragon's don't suffocate. - EntityDamageEvent event = new EntityDamageEvent(this.getBukkitEntity(), EntityDamageEvent.DamageCause.SUFFOCATION, 1); - this.world.getServer().getPluginManager().callEvent(event); - - if (!event.isCancelled()) { - event.getEntity().setLastDamageCause(event); - this.damageEntity(DamageSource.STUCK, event.getDamage()); - } + if (this.isAlive() && this.inBlock()) { + this.damageEntity(DamageSource.STUCK, 1); } - // CraftBukkit end if (this.isFireproof() || this.world.isStatic) { this.extinguish(); @@ -353,15 +345,7 @@ public abstract class EntityLiving extends Entity { this.world.addParticle("bubble", this.locX + (double) f, this.locY + (double) f1, this.locZ + (double) f2, this.motX, this.motY, this.motZ); } - // CraftBukkit start - EntityDamageEvent event = new EntityDamageEvent(this.getBukkitEntity(), EntityDamageEvent.DamageCause.DROWNING, 2); - this.world.getServer().getPluginManager().callEvent(event); - - if (!event.isCancelled() && event.getDamage() != 0) { - event.getEntity().setLastDamageCause(event); - this.damageEntity(DamageSource.DROWN, event.getDamage()); - } - // CraftBukkit end + this.damageEntity(DamageSource.DROWN, 2); } this.extinguish(); @@ -690,8 +674,8 @@ public abstract class EntityLiving extends Entity { boolean flag = true; // CraftBukkit start - if (damagesource instanceof EntityDamageSource) { - EntityDamageEvent event = CraftEventFactory.handleEntityDamageEvent(this, damagesource, i); + EntityDamageEvent event = CraftEventFactory.handleEntityDamageEvent(this, damagesource, i); + if (event != null) { if (event.isCancelled()) { return false; } @@ -970,25 +954,26 @@ public abstract class EntityLiving extends Entity { super.a(f); int i = MathHelper.f(f - 3.0F); + // CraftBukkit start if (i > 0) { - // CraftBukkit start - EntityDamageEvent event = new EntityDamageEvent(this.getBukkitEntity(), EntityDamageEvent.DamageCause.FALL, i); - this.world.getServer().getPluginManager().callEvent(event); - - if (!event.isCancelled() && event.getDamage() != 0) { + EntityDamageEvent event = CraftEventFactory.callEntityDamageEvent(null, this, EntityDamageEvent.DamageCause.FALL, i); + if (!event.isCancelled()) { i = event.getDamage(); - - if (i > 4) { - this.makeSound("damage.fallbig", 1.0F, 1.0F); - } else { - this.makeSound("damage.fallsmall", 1.0F, 1.0F); + if (i > 0) { + this.getBukkitEntity().setLastDamageCause(event); } + } + } + // CraftBukkit end - this.getBukkitEntity().setLastDamageCause(event); - this.damageEntity(DamageSource.FALL, i); + if (i > 0) { + if (i > 4) { + this.makeSound("damage.fallbig", 1.0F, 1.0F); + } else { + this.makeSound("damage.fallsmall", 1.0F, 1.0F); } - // CraftBukkit end + this.damageEntity(DamageSource.FALL, i); int j = this.world.getTypeId(MathHelper.floor(this.locX), MathHelper.floor(this.locY - 0.20000000298023224D - (double) this.height), MathHelper.floor(this.locZ)); if (j > 0) { @@ -1633,17 +1618,7 @@ public abstract class EntityLiving extends Entity { } protected void B() { - // CraftBukkit start - EntityDamageByBlockEvent event = new EntityDamageByBlockEvent(null, this.getBukkitEntity(), EntityDamageEvent.DamageCause.VOID, 4); - this.world.getServer().getPluginManager().callEvent(event); - - if (event.isCancelled() || event.getDamage() == 0) { - return; - } - - event.getEntity().setLastDamageCause(event); - this.damageEntity(DamageSource.OUT_OF_WORLD, event.getDamage()); - // CraftBukkit end + this.damageEntity(DamageSource.OUT_OF_WORLD, 4); } public Vec3D Y() { diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java index fd88beab..8b9fb83c 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java @@ -1,8 +1,8 @@ package net.minecraft.server; // CraftBukkit start +import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.event.block.EntityBlockFormEvent; -import org.bukkit.event.entity.EntityDamageEvent; // CraftBukkit end public class EntitySnowman extends EntityGolem implements IRangedEntity { @@ -30,30 +30,14 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { public void c() { super.c(); if (this.F()) { - // CraftBukkit start - EntityDamageEvent event = new EntityDamageEvent(this.getBukkitEntity(), EntityDamageEvent.DamageCause.DROWNING, 1); - this.world.getServer().getPluginManager().callEvent(event); - - if (!event.isCancelled()) { - event.getEntity().setLastDamageCause(event); - this.damageEntity(DamageSource.DROWN, event.getDamage()); - } - // CraftBukkit end + this.damageEntity(DamageSource.DROWN, 1); } int i = MathHelper.floor(this.locX); int j = MathHelper.floor(this.locZ); if (this.world.getBiome(i, j).j() > 1.0F) { - // CraftBukkit start - EntityDamageEvent event = new EntityDamageEvent(this.getBukkitEntity(), EntityDamageEvent.DamageCause.MELTING, 1); - this.world.getServer().getPluginManager().callEvent(event); - - if (!event.isCancelled()) { - event.getEntity().setLastDamageCause(event); - this.damageEntity(DamageSource.BURN, event.getDamage()); - } - // CraftBukkit end + this.damageEntity(CraftEventFactory.MELTING, 1); // CraftBukkit - DamageSource.BURN -> CraftEventFactory.MELTING } for (i = 0; i < 4; ++i) { @@ -90,7 +74,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { loot.add(new org.bukkit.inventory.ItemStack(Item.SNOW_BALL.id, j)); } - org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(this, loot); + CraftEventFactory.callEntityDeathEvent(this, loot); // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/FoodMetaData.java b/src/main/java/net/minecraft/server/FoodMetaData.java index 0242c365..80e9d938 100644 --- a/src/main/java/net/minecraft/server/FoodMetaData.java +++ b/src/main/java/net/minecraft/server/FoodMetaData.java @@ -55,15 +55,7 @@ public class FoodMetaData { ++this.foodTickTimer; if (this.foodTickTimer >= 80) { if (entityhuman.getHealth() > 10 || i >= 3 || entityhuman.getHealth() > 1 && i >= 2) { - // CraftBukkit start - EntityDamageEvent event = new EntityDamageEvent(entityhuman.getBukkitEntity(), EntityDamageEvent.DamageCause.STARVATION, 1); - entityhuman.world.getServer().getPluginManager().callEvent(event); - - if (!event.isCancelled()) { - event.getEntity().setLastDamageCause(event); - entityhuman.damageEntity(DamageSource.STARVE, event.getDamage()); - } - // CraftBukkit end + entityhuman.damageEntity(DamageSource.STARVE, 1); } this.foodTickTimer = 0; diff --git a/src/main/java/net/minecraft/server/MobEffectList.java b/src/main/java/net/minecraft/server/MobEffectList.java index 8ec6d253..6a5a5f17 100644 --- a/src/main/java/net/minecraft/server/MobEffectList.java +++ b/src/main/java/net/minecraft/server/MobEffectList.java @@ -2,7 +2,6 @@ package net.minecraft.server; // CraftBukkit start import org.bukkit.craftbukkit.event.CraftEventFactory; -import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason; // CraftBukkit end @@ -80,33 +79,15 @@ public class MobEffectList { } } else if (this.id == POISON.id) { if (entityliving.getHealth() > 1) { - // CraftBukkit start - EntityDamageEvent event = CraftEventFactory.callEntityDamageEvent(null, entityliving, EntityDamageEvent.DamageCause.POISON, 1); - - if (!event.isCancelled() && event.getDamage() > 0) { - entityliving.damageEntity(DamageSource.MAGIC, event.getDamage()); - } - // CraftBukkit end + entityliving.damageEntity(CraftEventFactory.POISON, 1); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON } } else if (this.id == WITHER.id) { - // CraftBukkit start - EntityDamageEvent event = CraftEventFactory.callEntityDamageEvent(null, entityliving, EntityDamageEvent.DamageCause.WITHER, 1); - - if (!event.isCancelled() && event.getDamage() > 0) { - entityliving.damageEntity(DamageSource.WITHER, event.getDamage()); - } - // CraftBukkit end + entityliving.damageEntity(DamageSource.WITHER, 1); } else if (this.id == HUNGER.id && entityliving instanceof EntityHuman) { ((EntityHuman) entityliving).j(0.025F * (float) (i + 1)); } else if ((this.id != HEAL.id || entityliving.bD()) && (this.id != HARM.id || !entityliving.bD())) { if (this.id == HARM.id && !entityliving.bD() || this.id == HEAL.id && entityliving.bD()) { - // CraftBukkit start - EntityDamageEvent event = CraftEventFactory.callEntityDamageEvent(null, entityliving, EntityDamageEvent.DamageCause.MAGIC, 6 << i); - - if (!event.isCancelled() && event.getDamage() > 0) { - entityliving.damageEntity(DamageSource.MAGIC, event.getDamage()); - } - // CraftBukkit end + entityliving.damageEntity(DamageSource.MAGIC, 6 << i); } } else { entityliving.heal(6 << i, RegainReason.MAGIC); // CraftBukkit |