SPIGOT-5258: TNT Not Moving Players in Creative Mode

This commit is contained in:
anhcraft 2019-08-24 21:43:43 +07:00 committed by md_5
parent 44d675ad8b
commit b2bcde89d9

View file

@ -138,7 +138,14 @@
}
@@ -690,10 +750,10 @@
@@ -684,16 +744,17 @@
if (this.isInvulnerable(damagesource)) {
return false;
} else if (this.abilities.isInvulnerable && !damagesource.ignoresInvulnerability()) {
+ this.forceExplosionKnockback = true; // SPIGOT-5258 - Make invulnerable players get knockback from explosions
return false;
} else {
this.ticksFarFromPlayer = 0;
if (this.getHealth() <= 0.0F) {
return false;
} else {
@ -151,7 +158,7 @@
}
if (this.world.getDifficulty() == EnumDifficulty.EASY) {
@@ -705,7 +765,13 @@
@@ -705,7 +766,13 @@
}
}
@ -166,7 +173,7 @@
}
}
}
@@ -720,10 +786,29 @@
@@ -720,10 +787,29 @@
}
public boolean a(EntityHuman entityhuman) {
@ -199,7 +206,7 @@
}
@Override
@@ -754,8 +839,13 @@
@@ -754,8 +840,13 @@
}
@ -214,7 +221,7 @@
if (!this.isInvulnerable(damagesource)) {
f = this.applyArmorModifier(damagesource, f);
f = this.applyMagicModifier(damagesource, f);
@@ -781,6 +871,7 @@
@@ -781,6 +872,7 @@
}
}
@ -222,7 +229,7 @@
}
public void openSign(TileEntitySign tileentitysign) {}
@@ -911,8 +1002,15 @@
@@ -911,8 +1003,15 @@
if (entity instanceof EntityLiving) {
f3 = ((EntityLiving) entity).getHealth();
if (j > 0 && !entity.isBurning()) {
@ -240,7 +247,7 @@
}
}
@@ -940,8 +1038,11 @@
@@ -940,8 +1039,11 @@
EntityLiving entityliving = (EntityLiving) iterator.next();
if (entityliving != this && entityliving != entity && !this.r(entityliving) && (!(entityliving instanceof EntityArmorStand) || !((EntityArmorStand) entityliving).isMarker()) && this.h((Entity) entityliving) < 9.0D) {
@ -253,7 +260,7 @@
}
}
@@ -950,9 +1051,26 @@
@@ -950,9 +1052,26 @@
}
if (entity instanceof EntityPlayer && entity.velocityChanged) {
@ -280,7 +287,7 @@
}
if (flag2) {
@@ -997,7 +1115,14 @@
@@ -997,7 +1116,14 @@
this.a(StatisticList.DAMAGE_DEALT, Math.round(f5 * 10.0F));
if (j > 0) {
@ -296,7 +303,7 @@
}
if (this.world instanceof WorldServer && f5 > 2.0F) {
@@ -1013,6 +1138,11 @@
@@ -1013,6 +1139,11 @@
if (flag4) {
entity.extinguish();
}
@ -308,7 +315,7 @@
}
}
@@ -1072,15 +1202,15 @@
@@ -1072,15 +1203,15 @@
return this.bW;
}
@ -328,7 +335,7 @@
return Either.left(EntityHuman.EnumBedResult.NOT_POSSIBLE_HERE);
}
@@ -1108,6 +1238,34 @@
@@ -1108,6 +1239,34 @@
}
}
}
@ -363,7 +370,7 @@
this.e(blockposition);
this.sleepTicks = 0;
@@ -1148,6 +1306,24 @@
@@ -1148,6 +1307,24 @@
((WorldServer) this.world).everyoneSleeping();
}
@ -388,7 +395,7 @@
this.sleepTicks = flag ? 0 : 100;
if (flag2) {
optional.ifPresent((blockposition) -> {
@@ -1201,9 +1377,11 @@
@@ -1201,9 +1378,11 @@
if (blockposition != null) {
this.g = blockposition;
this.bU = flag;
@ -400,7 +407,7 @@
}
}
@@ -1275,7 +1453,11 @@
@@ -1275,7 +1454,11 @@
this.setMot(vec3d2.x, d3 * 0.6D, vec3d2.z);
this.aO = f;
this.fallDistance = 0.0F;
@ -413,7 +420,7 @@
} else {
super.e(vec3d);
}
@@ -1597,26 +1779,31 @@
@@ -1597,26 +1780,31 @@
protected void releaseShoulderEntities() {
if (this.e + 20L < this.world.getTime()) {