SPIGOT-5237: Horses, pigs do not drop their inventory

This commit is contained in:
md_5 2019-08-02 19:13:16 +10:00
parent 06efc9ec1f
commit 7881d2ae15

View file

@ -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)) { if (this.isDropExperience() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
this.a(damagesource, flag); this.a(damagesource, flag);
this.dropDeathLoot(damagesource, i, flag); this.dropDeathLoot(damagesource, i, flag);
@ -516,8 +520,12 @@
+ // CraftBukkit end + // CraftBukkit end
} }
this.cF(); - this.cF();
@@ -1218,8 +1460,13 @@ + // this.cF();// CraftBukkit - moved up
}
protected void cF() {}
@@ -1218,8 +1461,13 @@
int i = MathHelper.f((f - 3.0F - f2) * f1); int i = MathHelper.f((f - 3.0F - f2) * f1);
if (i > 0) { if (i > 0) {
@ -532,7 +540,7 @@
int j = MathHelper.floor(this.locX); int j = MathHelper.floor(this.locX);
int k = MathHelper.floor(this.locY - 0.20000000298023224D); int k = MathHelper.floor(this.locY - 0.20000000298023224D);
int l = MathHelper.floor(this.locZ); int l = MathHelper.floor(this.locZ);
@@ -1246,7 +1493,7 @@ @@ -1246,7 +1494,7 @@
protected float applyArmorModifier(DamageSource damagesource, float f) { protected float applyArmorModifier(DamageSource damagesource, float f) {
if (!damagesource.ignoresArmor()) { if (!damagesource.ignoresArmor()) {
@ -541,7 +549,7 @@
f = CombatMath.a(f, (float) this.getArmorStrength(), (float) this.getAttributeInstance(GenericAttributes.ARMOR_TOUGHNESS).getValue()); f = CombatMath.a(f, (float) this.getArmorStrength(), (float) this.getAttributeInstance(GenericAttributes.ARMOR_TOUGHNESS).getValue());
} }
@@ -1259,7 +1506,8 @@ @@ -1259,7 +1507,8 @@
} else { } else {
int i; int i;
@ -551,7 +559,7 @@
i = (this.getEffect(MobEffects.RESISTANCE).getAmplifier() + 1) * 5; i = (this.getEffect(MobEffects.RESISTANCE).getAmplifier() + 1) * 5;
int j = 25 - i; int j = 25 - i;
float f1 = f * (float) j; float f1 = f * (float) j;
@@ -1290,28 +1538,170 @@ @@ -1290,28 +1539,170 @@
} }
} }
@ -732,7 +740,7 @@
} }
public CombatTracker getCombatTracker() { public CombatTracker getCombatTracker() {
@@ -1379,6 +1769,7 @@ @@ -1379,6 +1770,7 @@
public AttributeMapBase getAttributeMap() { public AttributeMapBase getAttributeMap() {
if (this.attributeMap == null) { if (this.attributeMap == null) {
this.attributeMap = new AttributeMapServer(); this.attributeMap = new AttributeMapServer();
@ -740,7 +748,7 @@
} }
return this.attributeMap; return this.attributeMap;
@@ -1725,6 +2116,7 @@ @@ -1725,6 +2117,7 @@
} }
if (this.onGround && !this.world.isClientSide) { if (this.onGround && !this.world.isClientSide) {
@ -748,7 +756,7 @@
this.setFlag(7, false); this.setFlag(7, false);
} }
} else { } else {
@@ -2106,6 +2498,7 @@ @@ -2106,6 +2499,7 @@
} }
if (!this.world.isClientSide) { if (!this.world.isClientSide) {
@ -756,7 +764,7 @@
this.setFlag(7, flag); this.setFlag(7, flag);
} }
@@ -2234,12 +2627,12 @@ @@ -2234,12 +2628,12 @@
@Override @Override
public boolean isInteractable() { public boolean isInteractable() {
@ -771,7 +779,7 @@
} }
@Override @Override
@@ -2410,7 +2803,27 @@ @@ -2410,7 +2804,27 @@
protected void q() { protected void q() {
if (!this.activeItem.isEmpty() && this.isHandRaised()) { if (!this.activeItem.isEmpty() && this.isHandRaised()) {
this.b(this.activeItem, 16); this.b(this.activeItem, 16);
@ -800,7 +808,7 @@
this.dp(); this.dp();
} }
@@ -2495,10 +2908,18 @@ @@ -2495,10 +2909,18 @@
} }
if (flag2) { if (flag2) {
@ -822,7 +830,7 @@
} }
} }
@@ -2585,7 +3006,7 @@ @@ -2585,7 +3007,7 @@
} }
public void dy() { public void dy() {
@ -831,7 +839,7 @@
World world = this.world; World world = this.world;
this.world.getClass(); this.world.getClass();
@@ -2647,7 +3068,7 @@ @@ -2647,7 +3069,7 @@
Pair<MobEffect, Float> pair = (Pair) iterator.next(); Pair<MobEffect, Float> pair = (Pair) iterator.next();
if (!world.isClientSide && pair.getLeft() != null && world.random.nextFloat() < (Float) pair.getRight()) { if (!world.isClientSide && pair.getLeft() != null && world.random.nextFloat() < (Float) pair.getRight()) {