diff options
Diffstat (limited to 'Spigot-Server-Patches-Unmapped/0141-Do-not-let-armorstands-drown.patch')
-rw-r--r-- | Spigot-Server-Patches-Unmapped/0141-Do-not-let-armorstands-drown.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Spigot-Server-Patches-Unmapped/0141-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches-Unmapped/0141-Do-not-let-armorstands-drown.patch new file mode 100644 index 0000000000..31754281aa --- /dev/null +++ b/Spigot-Server-Patches-Unmapped/0141-Do-not-let-armorstands-drown.patch @@ -0,0 +1,42 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Zach Brown <[email protected]> +Date: Sat, 18 Feb 2017 19:29:58 -0600 +Subject: [PATCH] Do not let armorstands drown + + +diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java +index 2eee92f74a7c82ec7df05db6df79743b4345cc86..3d6b8fd09c07e78c0d786dff9658eb0089f853cf 100644 +--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java ++++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java +@@ -338,6 +338,7 @@ public abstract class EntityLiving extends Entity { + super.a(d0, flag, iblockdata, blockposition); + } + ++ public boolean canBreatheUnderwater() { return this.cM(); } // Paper - OBFHELPER + public boolean cM() { + return this.getMonsterType() == EnumMonsterType.UNDEAD; + } +@@ -381,7 +382,7 @@ public abstract class EntityLiving extends Entity { + + if (this.isAlive()) { + if (this.a((Tag) TagsFluid.WATER) && !this.world.getType(new BlockPosition(this.locX(), this.getHeadY(), this.locZ())).a(Blocks.BUBBLE_COLUMN)) { +- if (!this.cM() && !MobEffectUtil.c(this) && !flag1) { ++ if (!this.canBreatheUnderwater() && !MobEffectUtil.c(this) && !flag1) { // Paper - use OBFHELPER so it can be overridden + this.setAirTicks(this.l(this.getAirTicks())); + if (this.getAirTicks() == -20) { + this.setAirTicks(0); +diff --git a/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java +index 2ef991aa7f739d3577fbbf4386064557e8f7c904..57e0ea95df34fab22d6c5868ab839d56a3fa85fc 100644 +--- a/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java ++++ b/src/main/java/net/minecraft/world/entity/decoration/EntityArmorStand.java +@@ -872,5 +872,10 @@ public class EntityArmorStand extends EntityLiving { + super.move(moveType, vec3d); + } + } ++ ++ @Override ++ public boolean canBreatheUnderwater() { // Skips a bit of damage handling code, probably a micro-optimization ++ return true; ++ } + // Paper end + } |