From 7881d2ae15f397afc1a48dac079b9721e30bc376 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 2 Aug 2019 19:13:16 +1000 Subject: [PATCH] SPIGOT-5237: Horses, pigs do not drop their inventory --- nms-patches/EntityLiving.patch | 36 +++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/nms-patches/EntityLiving.patch b/nms-patches/EntityLiving.patch index a926a1b884..3e849ae1be 100644 --- a/nms-patches/EntityLiving.patch +++ b/nms-patches/EntityLiving.patch @@ -504,7 +504,11 @@ } } -@@ -1115,6 +1351,12 @@ +@@ -1112,12 +1348,19 @@ + + boolean flag = this.lastDamageByPlayerTime > 0; + ++ this.cF(); // CraftBukkit - from below // PAIL if (this.isDropExperience() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) { this.a(damagesource, flag); this.dropDeathLoot(damagesource, i, flag); @@ -516,8 +520,12 @@ + // CraftBukkit end } - this.cF(); -@@ -1218,8 +1460,13 @@ +- this.cF(); ++ // this.cF();// CraftBukkit - moved up + } + + protected void cF() {} +@@ -1218,8 +1461,13 @@ int i = MathHelper.f((f - 3.0F - f2) * f1); if (i > 0) { @@ -532,7 +540,7 @@ int j = MathHelper.floor(this.locX); int k = MathHelper.floor(this.locY - 0.20000000298023224D); int l = MathHelper.floor(this.locZ); -@@ -1246,7 +1493,7 @@ +@@ -1246,7 +1494,7 @@ protected float applyArmorModifier(DamageSource damagesource, float f) { if (!damagesource.ignoresArmor()) { @@ -541,7 +549,7 @@ f = CombatMath.a(f, (float) this.getArmorStrength(), (float) this.getAttributeInstance(GenericAttributes.ARMOR_TOUGHNESS).getValue()); } -@@ -1259,7 +1506,8 @@ +@@ -1259,7 +1507,8 @@ } else { int i; @@ -551,7 +559,7 @@ i = (this.getEffect(MobEffects.RESISTANCE).getAmplifier() + 1) * 5; int j = 25 - i; float f1 = f * (float) j; -@@ -1290,28 +1538,170 @@ +@@ -1290,28 +1539,170 @@ } } @@ -732,7 +740,7 @@ } public CombatTracker getCombatTracker() { -@@ -1379,6 +1769,7 @@ +@@ -1379,6 +1770,7 @@ public AttributeMapBase getAttributeMap() { if (this.attributeMap == null) { this.attributeMap = new AttributeMapServer(); @@ -740,7 +748,7 @@ } return this.attributeMap; -@@ -1725,6 +2116,7 @@ +@@ -1725,6 +2117,7 @@ } if (this.onGround && !this.world.isClientSide) { @@ -748,7 +756,7 @@ this.setFlag(7, false); } } else { -@@ -2106,6 +2498,7 @@ +@@ -2106,6 +2499,7 @@ } if (!this.world.isClientSide) { @@ -756,7 +764,7 @@ this.setFlag(7, flag); } -@@ -2234,12 +2627,12 @@ +@@ -2234,12 +2628,12 @@ @Override public boolean isInteractable() { @@ -771,7 +779,7 @@ } @Override -@@ -2410,7 +2803,27 @@ +@@ -2410,7 +2804,27 @@ protected void q() { if (!this.activeItem.isEmpty() && this.isHandRaised()) { this.b(this.activeItem, 16); @@ -800,7 +808,7 @@ this.dp(); } -@@ -2495,10 +2908,18 @@ +@@ -2495,10 +2909,18 @@ } if (flag2) { @@ -822,7 +830,7 @@ } } -@@ -2585,7 +3006,7 @@ +@@ -2585,7 +3007,7 @@ } public void dy() { @@ -831,7 +839,7 @@ World world = this.world; this.world.getClass(); -@@ -2647,7 +3068,7 @@ +@@ -2647,7 +3069,7 @@ Pair pair = (Pair) iterator.next(); if (!world.isClientSide && pair.getLeft() != null && world.random.nextFloat() < (Float) pair.getRight()) {