--- ../src-base/minecraft/net/minecraft/entity/item/EntityEnderCrystal.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityEnderCrystal.java @@ -10,6 +10,8 @@ import net.minecraft.world.World; import net.minecraft.world.WorldProviderEnd; +import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit + public class EntityEnderCrystal extends Entity { public int innerRotation; @@ -56,7 +58,13 @@ if (this.worldObj.provider instanceof WorldProviderEnd && this.worldObj.getBlock(i, j, k) != Blocks.fire) { - this.worldObj.setBlock(i, j, k, Blocks.fire); + // CraftBukkit start + if (!CraftEventFactory.callBlockIgniteEvent(this.worldObj, i, j, k, this).isCancelled()) + { + this.worldObj.setBlock(i, j, k, Blocks.fire); + } + + // CraftBukkit end } } @@ -85,6 +93,13 @@ { if (!this.isDead && !this.worldObj.isRemote) { + // CraftBukkit start - All non-living entities need this + if (CraftEventFactory.handleNonLivingEntityDamageEvent(this, p_70097_1_, p_70097_2_)) + { + return false; + } + + // CraftBukkit end this.health = 0; if (this.health <= 0) @@ -93,7 +108,7 @@ if (!this.worldObj.isRemote) { - this.worldObj.createExplosion((Entity)null, this.posX, this.posY, this.posZ, 6.0F, true); + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 6.0F, true); // CraftBukkit - (Entity) null -> this } } }