diff --git a/patches/net/minecraft/entity/Entity.java.patch b/patches/net/minecraft/entity/Entity.java.patch index ed3280c..4ae4c2d 100644 --- a/patches/net/minecraft/entity/Entity.java.patch +++ b/patches/net/minecraft/entity/Entity.java.patch @@ -780,7 +780,7 @@ public float func_145772_a(Explosion p_145772_1_, World p_145772_2_, int p_145772_3_, int p_145772_4_, int p_145772_5_, Block p_145772_6_) { return p_145772_6_.getExplosionResistance(this, p_145772_2_, p_145772_3_, p_145772_4_, p_145772_5_, posX, posY + getEyeHeight(), posZ); -@@ -2474,4 +2925,10 @@ +@@ -2474,4 +2925,14 @@ } } } @@ -789,5 +789,9 @@ + public boolean entityAllowedToSpawn() { + return true; + } ++ ++ public boolean entityProjectileHook() { ++ return false; ++ } + // Cauldron end } diff --git a/patches/net/minecraft/entity/EntityLeashKnot.java.patch b/patches/net/minecraft/entity/EntityLeashKnot.java.patch index bcab608..47c56ab 100644 --- a/patches/net/minecraft/entity/EntityLeashKnot.java.patch +++ b/patches/net/minecraft/entity/EntityLeashKnot.java.patch @@ -1,19 +1,31 @@ --- ../src-base/minecraft/net/minecraft/entity/EntityLeashKnot.java +++ ../src-work/minecraft/net/minecraft/entity/EntityLeashKnot.java -@@ -11,6 +11,12 @@ +@@ -2,8 +2,10 @@ + + import cpw.mods.fml.relauncher.Side; + import cpw.mods.fml.relauncher.SideOnly; ++ + import java.util.Iterator; + import java.util.List; ++ + import net.minecraft.entity.player.EntityPlayer; + import net.minecraft.init.Items; + import net.minecraft.item.ItemStack; +@@ -11,6 +13,13 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; + // CraftBukkit start +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.network.play.server.S1BPacketEntityAttach; ++ +import org.bukkit.craftbukkit.event.CraftEventFactory; +// CraftBukkit end + public class EntityLeashKnot extends EntityHanging { private static final String __OBFID = "CL_00001548"; -@@ -84,6 +90,14 @@ +@@ -84,6 +93,14 @@ if (entityliving.getLeashed() && entityliving.getLeashedToEntity() == p_130002_1_) { @@ -28,7 +40,7 @@ entityliving.setLeashedToEntity(this, true); flag = true; } -@@ -93,9 +107,12 @@ +@@ -93,9 +110,12 @@ if (!this.worldObj.isRemote && !flag) { @@ -43,7 +55,7 @@ { d0 = 7.0D; list = this.worldObj.getEntitiesWithinAABB(EntityLiving.class, AxisAlignedBB.getBoundingBox(this.posX - d0, this.posY - d0, this.posZ - d0, this.posX + d0, this.posY + d0, this.posZ + d0)); -@@ -110,11 +127,27 @@ +@@ -110,11 +130,27 @@ if (entityliving.getLeashed() && entityliving.getLeashedToEntity() == this) { @@ -72,3 +84,15 @@ } return true; +@@ -154,4 +190,11 @@ + + return null; + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/EntityTrackerEntry.java.patch b/patches/net/minecraft/entity/EntityTrackerEntry.java.patch index 1963f94..1d9d78f 100644 --- a/patches/net/minecraft/entity/EntityTrackerEntry.java.patch +++ b/patches/net/minecraft/entity/EntityTrackerEntry.java.patch @@ -214,3 +214,56 @@ } Packet pkt = FMLNetworkHandler.getEntitySpawningPacket(this.myEntity); +@@ -491,7 +589,7 @@ + { + return new S0EPacketSpawnObject(this.myEntity, 1); + } +- else if (!(this.myEntity instanceof IAnimals) && !(this.myEntity instanceof EntityDragon)) ++ else if (myEntity.entityProjectileHook()) + { + if (this.myEntity instanceof EntityFishHook) + { +@@ -528,13 +626,13 @@ + return new S0EPacketSpawnObject(this.myEntity, 76); + } + else +- { +- S0EPacketSpawnObject s0epacketspawnobject; ++ //{ ++ // S0EPacketSpawnObject s0epacketspawnobject; + + if (this.myEntity instanceof EntityFireball) + { + EntityFireball entityfireball = (EntityFireball)this.myEntity; +- s0epacketspawnobject = null; ++ S0EPacketSpawnObject s0epacketspawnobject = null; + byte b0 = 63; + + if (this.myEntity instanceof EntitySmallFireball) +@@ -584,7 +682,7 @@ + else if (this.myEntity instanceof EntityItemFrame) + { + EntityItemFrame entityitemframe = (EntityItemFrame)this.myEntity; +- s0epacketspawnobject = new S0EPacketSpawnObject(this.myEntity, 71, entityitemframe.hangingDirection); ++ S0EPacketSpawnObject s0epacketspawnobject = new S0EPacketSpawnObject(this.myEntity, 71, entityitemframe.hangingDirection); + s0epacketspawnobject.func_148996_a(MathHelper.floor_float((float)(entityitemframe.field_146063_b * 32))); + s0epacketspawnobject.func_148995_b(MathHelper.floor_float((float)(entityitemframe.field_146064_c * 32))); + s0epacketspawnobject.func_149005_c(MathHelper.floor_float((float)(entityitemframe.field_146062_d * 32))); +@@ -593,7 +691,7 @@ + else if (this.myEntity instanceof EntityLeashKnot) + { + EntityLeashKnot entityleashknot = (EntityLeashKnot)this.myEntity; +- s0epacketspawnobject = new S0EPacketSpawnObject(this.myEntity, 77); ++ S0EPacketSpawnObject s0epacketspawnobject = new S0EPacketSpawnObject(this.myEntity, 77); + s0epacketspawnobject.func_148996_a(MathHelper.floor_float((float)(entityleashknot.field_146063_b * 32))); + s0epacketspawnobject.func_148995_b(MathHelper.floor_float((float)(entityleashknot.field_146064_c * 32))); + s0epacketspawnobject.func_149005_c(MathHelper.floor_float((float)(entityleashknot.field_146062_d * 32))); +@@ -607,7 +705,7 @@ + { + throw new IllegalArgumentException("Don\'t know how to add " + this.myEntity.getClass() + "!"); + } +- } ++ //} + } + else + { diff --git a/patches/net/minecraft/entity/item/EntityEnderCrystal.java.patch b/patches/net/minecraft/entity/item/EntityEnderCrystal.java.patch index 33daf81..d377800 100644 --- a/patches/net/minecraft/entity/item/EntityEnderCrystal.java.patch +++ b/patches/net/minecraft/entity/item/EntityEnderCrystal.java.patch @@ -47,3 +47,15 @@ } } } +@@ -101,4 +116,11 @@ + return true; + } + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/item/EntityEnderEye.java.patch b/patches/net/minecraft/entity/item/EntityEnderEye.java.patch new file mode 100644 index 0000000..691a2d2 --- /dev/null +++ b/patches/net/minecraft/entity/item/EntityEnderEye.java.patch @@ -0,0 +1,23 @@ +--- ../src-base/minecraft/net/minecraft/entity/item/EntityEnderEye.java ++++ ../src-work/minecraft/net/minecraft/entity/item/EntityEnderEye.java +@@ -117,7 +117,7 @@ + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + + if (!this.worldObj.isRemote) +- { ++ { + double d0 = this.targetX - this.posX; + double d1 = this.targetZ - this.posZ; + float f1 = (float)Math.sqrt(d0 * d0 + d1 * d1); +@@ -203,4 +203,11 @@ + { + return false; + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/item/EntityEnderPearl.java.patch b/patches/net/minecraft/entity/item/EntityEnderPearl.java.patch index 113f501..903c1b0 100644 --- a/patches/net/minecraft/entity/item/EntityEnderPearl.java.patch +++ b/patches/net/minecraft/entity/item/EntityEnderPearl.java.patch @@ -1,9 +1,10 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityEnderPearl.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityEnderPearl.java -@@ -12,6 +12,12 @@ +@@ -12,6 +12,13 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.living.EnderTeleportEvent; ++ +// CraftBukkit start +import org.bukkit.Bukkit; +import org.bukkit.craftbukkit.event.CraftEventFactory; @@ -13,7 +14,7 @@ public class EntityEnderPearl extends EntityThrowable { private static final String __OBFID = "CL_00001725"; -@@ -52,18 +58,31 @@ +@@ -52,22 +59,42 @@ if (entityplayermp.playerNetServerHandler.func_147362_b().isChannelOpen() && entityplayermp.worldObj == this.worldObj) { @@ -54,3 +55,14 @@ } } + this.setDead(); + } + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/item/EntityExpBottle.java.patch b/patches/net/minecraft/entity/item/EntityExpBottle.java.patch index bcf22d0..8fda862 100644 --- a/patches/net/minecraft/entity/item/EntityExpBottle.java.patch +++ b/patches/net/minecraft/entity/item/EntityExpBottle.java.patch @@ -22,3 +22,15 @@ while (i > 0) { int j = EntityXPOrb.getXPSplit(i); +@@ -56,4 +67,11 @@ + this.setDead(); + } + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/item/EntityFallingBlock.java.patch b/patches/net/minecraft/entity/item/EntityFallingBlock.java.patch index b2d2850..ef55041 100644 --- a/patches/net/minecraft/entity/item/EntityFallingBlock.java.patch +++ b/patches/net/minecraft/entity/item/EntityFallingBlock.java.patch @@ -1,6 +1,17 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityFallingBlock.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityFallingBlock.java -@@ -19,9 +19,11 @@ +@@ -2,8 +2,10 @@ + + import cpw.mods.fml.relauncher.Side; + import cpw.mods.fml.relauncher.SideOnly; ++ + import java.util.ArrayList; + import java.util.Iterator; ++ + import net.minecraft.block.Block; + import net.minecraft.block.BlockFalling; + import net.minecraft.block.ITileEntityProvider; +@@ -19,9 +21,11 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -13,7 +24,7 @@ public int field_145814_a; public int field_145812_b; public boolean field_145813_c; -@@ -103,7 +105,8 @@ +@@ -103,7 +107,8 @@ if (this.field_145812_b == 1) { @@ -23,7 +34,7 @@ { this.setDead(); return; -@@ -122,8 +125,17 @@ +@@ -122,8 +127,17 @@ { this.setDead(); @@ -42,7 +53,7 @@ if (this.field_145811_e instanceof BlockFalling) { ((BlockFalling)this.field_145811_e).func_149828_a(this.worldObj, i, j, k, this.field_145814_a); -@@ -189,8 +201,10 @@ +@@ -189,8 +203,10 @@ while (iterator.hasNext()) { @@ -55,3 +66,15 @@ } if (flag && (double)this.rand.nextFloat() < 0.05000000074505806D + (double)i * 0.05D) +@@ -304,4 +320,11 @@ + { + return this.field_145811_e; + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/item/EntityFireworkRocket.java.patch b/patches/net/minecraft/entity/item/EntityFireworkRocket.java.patch index f0ce86b..5e51be3 100644 --- a/patches/net/minecraft/entity/item/EntityFireworkRocket.java.patch +++ b/patches/net/minecraft/entity/item/EntityFireworkRocket.java.patch @@ -9,3 +9,15 @@ private static final String __OBFID = "CL_00001718"; public EntityFireworkRocket(World p_i1762_1_) +@@ -199,4 +199,11 @@ + { + return false; + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/item/EntityItemFrame.java.patch b/patches/net/minecraft/entity/item/EntityItemFrame.java.patch index a862230..737dd9d 100644 --- a/patches/net/minecraft/entity/item/EntityItemFrame.java.patch +++ b/patches/net/minecraft/entity/item/EntityItemFrame.java.patch @@ -14,3 +14,15 @@ this.func_146065_b(p_70097_1_.getEntity(), false); this.setDisplayedItem((ItemStack)null); } +@@ -203,4 +210,11 @@ + + return true; + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/item/EntityPainting.java.patch b/patches/net/minecraft/entity/item/EntityPainting.java.patch index b9c5842..81ee2f4 100644 --- a/patches/net/minecraft/entity/item/EntityPainting.java.patch +++ b/patches/net/minecraft/entity/item/EntityPainting.java.patch @@ -1,6 +1,16 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityPainting.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityPainting.java -@@ -19,6 +19,7 @@ +@@ -2,7 +2,9 @@ + + import cpw.mods.fml.relauncher.Side; + import cpw.mods.fml.relauncher.SideOnly; ++ + import java.util.ArrayList; ++ + import net.minecraft.entity.Entity; + import net.minecraft.entity.EntityHanging; + import net.minecraft.entity.player.EntityPlayer; +@@ -19,6 +21,7 @@ public EntityPainting(World p_i1599_1_) { super(p_i1599_1_); @@ -8,3 +18,15 @@ } public EntityPainting(World p_i1600_1_, int p_i1600_2_, int p_i1600_3_, int p_i1600_4_, int p_i1600_5_) +@@ -170,4 +173,11 @@ + this.offsetY = p_i1598_7_; + } + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/item/EntityTNTPrimed.java.patch b/patches/net/minecraft/entity/item/EntityTNTPrimed.java.patch index de44908..0fb097e 100644 --- a/patches/net/minecraft/entity/item/EntityTNTPrimed.java.patch +++ b/patches/net/minecraft/entity/item/EntityTNTPrimed.java.patch @@ -55,3 +55,15 @@ } protected void writeEntityToNBT(NBTTagCompound p_70014_1_) +@@ -107,4 +124,11 @@ + { + return this.tntPlacedBy; + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/item/EntityXPOrb.java.patch b/patches/net/minecraft/entity/item/EntityXPOrb.java.patch index 5aeae47..f967fda 100644 --- a/patches/net/minecraft/entity/item/EntityXPOrb.java.patch +++ b/patches/net/minecraft/entity/item/EntityXPOrb.java.patch @@ -1,9 +1,10 @@ --- ../src-base/minecraft/net/minecraft/entity/item/EntityXPOrb.java +++ ../src-work/minecraft/net/minecraft/entity/item/EntityXPOrb.java -@@ -12,13 +12,18 @@ +@@ -12,13 +12,19 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.PlayerPickupXpEvent; ++ +// CraftBukkit start +import org.bukkit.craftbukkit.event.CraftEventFactory; +import org.bukkit.event.entity.EntityTargetEvent; @@ -20,7 +21,7 @@ private EntityPlayer closestPlayer; private int xpTargetColor; private static final String __OBFID = "CL_00001544"; -@@ -115,18 +120,27 @@ +@@ -115,18 +121,27 @@ if (this.closestPlayer != null) { @@ -58,7 +59,7 @@ } } -@@ -210,7 +224,7 @@ +@@ -210,7 +225,7 @@ p_70100_1_.xpCooldown = 2; this.worldObj.playSoundAtEntity(p_70100_1_, "random.orb", 0.1F, 0.5F * ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.8F)); p_70100_1_.onItemPickup(this, 1); @@ -67,7 +68,7 @@ this.setDead(); } } -@@ -229,6 +243,88 @@ +@@ -229,6 +244,88 @@ public static int getXPSplit(int p_70527_0_) { @@ -156,3 +157,15 @@ return p_70527_0_ >= 2477 ? 2477 : (p_70527_0_ >= 1237 ? 1237 : (p_70527_0_ >= 617 ? 617 : (p_70527_0_ >= 307 ? 307 : (p_70527_0_ >= 149 ? 149 : (p_70527_0_ >= 73 ? 73 : (p_70527_0_ >= 37 ? 37 : (p_70527_0_ >= 17 ? 17 : (p_70527_0_ >= 7 ? 7 : (p_70527_0_ >= 3 ? 3 : 1))))))))); } +@@ -236,4 +333,11 @@ + { + return false; + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/projectile/EntityArrow.java.patch b/patches/net/minecraft/entity/projectile/EntityArrow.java.patch index c12e33d..400e350 100644 --- a/patches/net/minecraft/entity/projectile/EntityArrow.java.patch +++ b/patches/net/minecraft/entity/projectile/EntityArrow.java.patch @@ -1,11 +1,22 @@ --- ../src-base/minecraft/net/minecraft/entity/projectile/EntityArrow.java +++ ../src-work/minecraft/net/minecraft/entity/projectile/EntityArrow.java -@@ -23,6 +23,13 @@ +@@ -2,7 +2,9 @@ + + import cpw.mods.fml.relauncher.Side; + import cpw.mods.fml.relauncher.SideOnly; ++ + import java.util.List; ++ + import net.minecraft.block.Block; + import net.minecraft.block.material.Material; + import net.minecraft.enchantment.EnchantmentHelper; +@@ -23,6 +25,14 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; +// CraftBukkit start +import net.minecraft.entity.item.EntityItem; ++ +import org.bukkit.entity.LivingEntity; +import org.bukkit.event.entity.EntityCombustByEntityEvent; +import org.bukkit.event.player.PlayerPickupItemEvent; @@ -14,7 +25,7 @@ public class EntityArrow extends Entity implements IProjectile { private int field_145791_d = -1; -@@ -30,14 +37,14 @@ +@@ -30,14 +40,14 @@ private int field_145789_f = -1; private Block field_145790_g; private int inData; @@ -31,7 +42,7 @@ private static final String __OBFID = "CL_00001715"; public EntityArrow(World p_i1753_1_) -@@ -61,6 +68,7 @@ +@@ -61,6 +71,7 @@ super(p_i1755_1_); this.renderDistanceWeight = 10.0D; this.shootingEntity = p_i1755_2_; @@ -39,7 +50,7 @@ if (p_i1755_2_ instanceof EntityPlayer) { -@@ -91,6 +99,7 @@ +@@ -91,6 +102,7 @@ super(p_i1756_1_); this.renderDistanceWeight = 10.0D; this.shootingEntity = p_i1756_2_; @@ -47,7 +58,7 @@ if (p_i1756_2_ instanceof EntityPlayer) { -@@ -199,7 +208,7 @@ +@@ -199,7 +211,7 @@ { ++this.ticksInGround; @@ -56,7 +67,7 @@ { this.setDead(); } -@@ -246,7 +255,7 @@ +@@ -246,7 +258,7 @@ if (movingobjectposition1 != null) { @@ -65,7 +76,7 @@ if (d1 < d0 || d0 == 0.0D) { -@@ -277,6 +286,8 @@ +@@ -277,6 +289,8 @@ if (movingobjectposition != null) { @@ -74,7 +85,7 @@ if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); -@@ -298,13 +309,23 @@ +@@ -298,13 +312,23 @@ damagesource = DamageSource.causeArrowDamage(this, this.shootingEntity); } @@ -103,7 +114,7 @@ if (movingobjectposition.entityHit instanceof EntityLivingBase) { EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; -@@ -487,6 +508,23 @@ +@@ -487,6 +511,23 @@ { if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { @@ -127,7 +138,7 @@ boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && p_70100_1_.capabilities.isCreativeMode; if (this.canBePickedUp == 1 && !p_70100_1_.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) -@@ -553,4 +591,11 @@ +@@ -553,4 +594,18 @@ byte b0 = this.dataWatcher.getWatchableObjectByte(16); return (b0 & 1) != 0; } @@ -138,4 +149,11 @@ + return inGround; + } + // CraftBukkit end ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end } diff --git a/patches/net/minecraft/entity/projectile/EntityEgg.java.patch b/patches/net/minecraft/entity/projectile/EntityEgg.java.patch index a4d1760..97b3914 100644 --- a/patches/net/minecraft/entity/projectile/EntityEgg.java.patch +++ b/patches/net/minecraft/entity/projectile/EntityEgg.java.patch @@ -1,22 +1,24 @@ --- ../src-base/minecraft/net/minecraft/entity/projectile/EntityEgg.java +++ ../src-work/minecraft/net/minecraft/entity/projectile/EntityEgg.java -@@ -6,6 +6,15 @@ +@@ -6,6 +6,17 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; +// CraftBukkit start +import net.minecraft.entity.player.EntityPlayerMP; ++ +import org.bukkit.entity.Ageable; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.Player; +import org.bukkit.event.player.PlayerEggThrowEvent; ++ +import net.minecraft.entity.Entity; +// CraftBukkit end + public class EntityEgg extends EntityThrowable { private static final String __OBFID = "CL_00001724"; -@@ -32,24 +41,43 @@ +@@ -32,24 +43,43 @@ p_70184_1_.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), 0.0F); } @@ -71,3 +73,15 @@ for (int j = 0; j < 8; ++j) { this.worldObj.spawnParticle("snowballpoof", this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D); +@@ -60,4 +90,11 @@ + this.setDead(); + } + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/projectile/EntityFireball.java.patch b/patches/net/minecraft/entity/projectile/EntityFireball.java.patch index 4ea87ad..d75f8d8 100644 --- a/patches/net/minecraft/entity/projectile/EntityFireball.java.patch +++ b/patches/net/minecraft/entity/projectile/EntityFireball.java.patch @@ -1,14 +1,16 @@ --- ../src-base/minecraft/net/minecraft/entity/projectile/EntityFireball.java +++ ../src-work/minecraft/net/minecraft/entity/projectile/EntityFireball.java -@@ -3,6 +3,7 @@ +@@ -2,7 +2,9 @@ + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; ++ import java.util.List; + import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; -@@ -15,6 +16,8 @@ +@@ -15,6 +17,8 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -17,7 +19,7 @@ public abstract class EntityFireball extends Entity { private int field_145795_e = -1; -@@ -28,6 +31,8 @@ +@@ -28,6 +32,8 @@ public double accelerationX; public double accelerationY; public double accelerationZ; @@ -26,7 +28,7 @@ private static final String __OBFID = "CL_00001717"; public EntityFireball(World p_i1759_1_) -@@ -62,11 +67,19 @@ +@@ -62,11 +68,19 @@ { super(p_i1761_1_); this.shootingEntity = p_i1761_2_; @@ -46,7 +48,7 @@ p_i1761_3_ += this.rand.nextGaussian() * 0.4D; p_i1761_5_ += this.rand.nextGaussian() * 0.4D; p_i1761_7_ += this.rand.nextGaussian() * 0.4D; -@@ -140,7 +153,7 @@ +@@ -140,7 +154,7 @@ if (movingobjectposition1 != null) { @@ -55,7 +57,7 @@ if (d1 < d0 || d0 == 0.0D) { -@@ -159,6 +172,14 @@ +@@ -159,6 +173,14 @@ if (movingobjectposition != null) { this.onImpact(movingobjectposition); @@ -70,7 +72,7 @@ } this.posX += this.motionX; -@@ -227,6 +248,8 @@ +@@ -227,6 +249,8 @@ p_70014_1_.setShort("zTile", (short)this.field_145794_g); p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145796_h)); p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0)); @@ -79,7 +81,7 @@ p_70014_1_.setTag("direction", this.newDoubleNBTList(new double[] {this.motionX, this.motionY, this.motionZ})); } -@@ -238,8 +261,17 @@ +@@ -238,8 +262,17 @@ this.field_145796_h = Block.getBlockById(p_70037_1_.getByte("inTile") & 255); this.inGround = p_70037_1_.getByte("inGround") == 1; @@ -98,7 +100,7 @@ NBTTagList nbttaglist = p_70037_1_.getTagList("direction", 6); this.motionX = nbttaglist.func_150309_d(0); this.motionY = nbttaglist.func_150309_d(1); -@@ -273,6 +305,13 @@ +@@ -273,6 +306,13 @@ if (p_70097_1_.getEntity() != null) { @@ -112,7 +114,7 @@ Vec3 vec3 = p_70097_1_.getEntity().getLookVec(); if (vec3 != null) -@@ -288,6 +327,7 @@ +@@ -288,6 +328,7 @@ if (p_70097_1_.getEntity() instanceof EntityLivingBase) { this.shootingEntity = (EntityLivingBase)p_70097_1_.getEntity(); @@ -120,3 +122,15 @@ } return true; +@@ -315,4 +356,11 @@ + { + return 15728880; + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/projectile/EntityFishHook.java.patch b/patches/net/minecraft/entity/projectile/EntityFishHook.java.patch index 293eb25..18e037f 100644 --- a/patches/net/minecraft/entity/projectile/EntityFishHook.java.patch +++ b/patches/net/minecraft/entity/projectile/EntityFishHook.java.patch @@ -114,3 +114,15 @@ } } } +@@ -594,4 +645,11 @@ + this.field_146042_b.fishEntity = null; + } + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/projectile/EntityPotion.java.patch b/patches/net/minecraft/entity/projectile/EntityPotion.java.patch index 98d96f7..d78bb67 100644 --- a/patches/net/minecraft/entity/projectile/EntityPotion.java.patch +++ b/patches/net/minecraft/entity/projectile/EntityPotion.java.patch @@ -1,12 +1,26 @@ --- ../src-base/minecraft/net/minecraft/entity/projectile/EntityPotion.java +++ ../src-work/minecraft/net/minecraft/entity/projectile/EntityPotion.java -@@ -14,9 +14,16 @@ +@@ -2,8 +2,10 @@ + + import cpw.mods.fml.relauncher.Side; + import cpw.mods.fml.relauncher.SideOnly; ++ + import java.util.Iterator; + import java.util.List; ++ + import net.minecraft.entity.EntityLivingBase; + import net.minecraft.init.Items; + import net.minecraft.item.ItemStack; +@@ -14,9 +16,19 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; ++ +// CraftBukkit start +import java.util.HashMap; ++ +import net.minecraft.entity.player.EntityPlayerMP; ++ +import org.bukkit.craftbukkit.entity.CraftLivingEntity; +import org.bukkit.entity.LivingEntity; +// CraftBukkit end @@ -18,7 +32,7 @@ private static final String __OBFID = "CL_00001727"; public EntityPotion(World p_i1788_1_) -@@ -88,14 +95,16 @@ +@@ -88,14 +100,16 @@ { List list = Items.potionitem.getEffects(this.potionDamage); @@ -37,7 +51,7 @@ while (iterator.hasNext()) { -@@ -111,6 +120,25 @@ +@@ -111,6 +125,25 @@ d1 = 1.0D; } @@ -63,7 +77,7 @@ Iterator iterator1 = list.iterator(); while (iterator1.hasNext()) -@@ -118,9 +146,22 @@ +@@ -118,9 +151,22 @@ PotionEffect potioneffect = (PotionEffect)iterator1.next(); int i = potioneffect.getPotionID(); @@ -87,3 +101,15 @@ } else { +@@ -170,4 +216,11 @@ + p_70014_1_.setTag("Potion", this.potionDamage.writeToNBT(new NBTTagCompound())); + } + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/projectile/EntitySmallFireball.java.patch b/patches/net/minecraft/entity/projectile/EntitySmallFireball.java.patch index bebfed8..f9d1362 100644 --- a/patches/net/minecraft/entity/projectile/EntitySmallFireball.java.patch +++ b/patches/net/minecraft/entity/projectile/EntitySmallFireball.java.patch @@ -42,3 +42,15 @@ } } +@@ -85,4 +102,11 @@ + { + return false; + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/projectile/EntitySnowball.java.patch b/patches/net/minecraft/entity/projectile/EntitySnowball.java.patch new file mode 100644 index 0000000..ba525aa --- /dev/null +++ b/patches/net/minecraft/entity/projectile/EntitySnowball.java.patch @@ -0,0 +1,14 @@ +--- ../src-base/minecraft/net/minecraft/entity/projectile/EntitySnowball.java ++++ ../src-work/minecraft/net/minecraft/entity/projectile/EntitySnowball.java +@@ -49,4 +49,11 @@ + this.setDead(); + } + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + } diff --git a/patches/net/minecraft/entity/projectile/EntityWitherSkull.java.patch b/patches/net/minecraft/entity/projectile/EntityWitherSkull.java.patch index cb1d4fd..ca4f951 100644 --- a/patches/net/minecraft/entity/projectile/EntityWitherSkull.java.patch +++ b/patches/net/minecraft/entity/projectile/EntityWitherSkull.java.patch @@ -36,3 +36,15 @@ this.setDead(); } } +@@ -125,4 +136,11 @@ + { + this.dataWatcher.updateObject(10, Byte.valueOf((byte)(p_82343_1_ ? 1 : 0))); + } ++ ++ // Cauldron start ++ @Override ++ public boolean entityProjectileHook() { ++ return true; ++ } ++ // Cauldron end + }