aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0209-Do-not-let-armorstands-drown.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Spigot-Server-Patches/0209-Do-not-let-armorstands-drown.patch')
-rw-r--r--Spigot-Server-Patches/0209-Do-not-let-armorstands-drown.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0209-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0209-Do-not-let-armorstands-drown.patch
new file mode 100644
index 0000000000..ca9770eda3
--- /dev/null
+++ b/Spigot-Server-Patches/0209-Do-not-let-armorstands-drown.patch
@@ -0,0 +1,45 @@
+From 52ff66fa79ab7f39930fe8b1ed0ff601c409b391 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/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
+index 7738ca385..5818aa5e9 100644
+--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
++++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
+@@ -772,5 +772,10 @@ public class EntityArmorStand extends EntityLiving {
+ super.move(moveType, x, y, z);
+ }
+ }
++
++ @Override
++ public boolean canBreatheUnderwater() { // Skips a bit of damage handling code, probably a micro-optimization
++ return true;
++ }
+ // Paper end
+ }
+diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
+index 53486e205..9b7159450 100644
+--- a/src/main/java/net/minecraft/server/EntityLiving.java
++++ b/src/main/java/net/minecraft/server/EntityLiving.java
+@@ -188,6 +188,7 @@ public abstract class EntityLiving extends Entity {
+ super.a(d0, flag, iblockdata, blockposition);
+ }
+
++ public boolean canBreatheUnderwater() { return this.bF(); } // Paper - OBFHELPER
+ public boolean bF() {
+ return false;
+ }
+@@ -222,7 +223,7 @@ public abstract class EntityLiving extends Entity {
+
+ if (this.isAlive()) {
+ if (this.a(Material.WATER)) {
+- if (!this.bF() && !this.hasEffect(MobEffects.WATER_BREATHING) && !flag1) {
++ if (!this.canBreatheUnderwater() && !this.hasEffect(MobEffects.WATER_BREATHING) && !flag1) { // Paper - Use obfhelper
+ this.setAirTicks(this.d(this.getAirTicks()));
+ if (this.getAirTicks() == -20) {
+ this.setAirTicks(0);
+--
+2.12.2
+