diff --git a/patches/net/minecraft/entity/item/EntityXPOrb.java.patch b/patches/net/minecraft/entity/item/EntityXPOrb.java.patch index aa8ea8ac..5bfcab96 100644 --- a/patches/net/minecraft/entity/item/EntityXPOrb.java.patch +++ b/patches/net/minecraft/entity/item/EntityXPOrb.java.patch @@ -52,7 +52,7 @@ public EntityXPOrb(World worldIn) { super(EntityType.EXPERIENCE_ORB, worldIn); -@@ -103,28 +128,40 @@ +@@ -103,28 +128,46 @@ } this.pushOutOfBlocks(this.posX, (this.getBoundingBox().minY + this.getBoundingBox().maxY) / 2.0D, this.posZ); @@ -89,6 +89,12 @@ this.closestPlayer = null; } ++ // TISCM creativeNoClip extra ++ if (this.closestPlayer != null && CreativeNoClipHelper.canEntityIgnoreClip(this.closestPlayer)) ++ { ++ this.closestPlayer = null; ++ } ++ if (this.closestPlayer != null) { - double d1 = (this.closestPlayer.posX - this.posX) / 8.0D; @@ -100,7 +106,7 @@ double d4 = Math.sqrt(d1 * d1 + d2 * d2 + d3 * d3); double d5 = 1.0D - d4; -@@ -138,6 +175,21 @@ +@@ -138,6 +181,21 @@ } this.move(MoverType.SELF, this.motionX, this.motionY, this.motionZ); @@ -122,7 +128,7 @@ float f = 0.98F; if (this.onGround) -@@ -159,6 +211,7 @@ +@@ -159,6 +217,7 @@ if (this.xpOrbAge >= 6000) { @@ -130,7 +136,7 @@ this.remove(); } } -@@ -193,6 +246,7 @@ +@@ -193,6 +252,7 @@ if (this.xpOrbHealth <= 0) { @@ -138,7 +144,7 @@ this.remove(); } -@@ -218,8 +272,11 @@ +@@ -218,8 +278,11 @@ { if (!this.world.isRemote) { @@ -151,7 +157,7 @@ entityIn.xpCooldown = 2; entityIn.onItemPickup(this, 1); ItemStack itemstack = EnchantmentHelper.getEnchantedItem(Enchantments.MENDING, entityIn); -@@ -251,6 +308,10 @@ +@@ -251,6 +314,10 @@ return xp * 2; }