diff options
Diffstat (limited to 'Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch')
-rw-r--r-- | Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch b/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch new file mode 100644 index 0000000000..64e5cff1dd --- /dev/null +++ b/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch @@ -0,0 +1,91 @@ +From 52e6992f765e671f1ed612870e81947d646aca17 Mon Sep 17 00:00:00 2001 +From: Zach Brown <[email protected]> +Date: Tue, 1 Mar 2016 23:58:50 -0600 +Subject: [PATCH] Configurable top of nether void damage + + +diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +index 62e6830aa..e524a464f 100644 +--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java ++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +@@ -137,4 +137,10 @@ public class PaperWorldConfig { + waterOverLavaFlowSpeed = getInt("water-over-lava-flow-speed", 5); + log("Water over lava flow speed: " + waterOverLavaFlowSpeed); + } ++ ++ public boolean netherVoidTopDamage; ++ private void netherVoidTopDamage() { ++ netherVoidTopDamage = getBoolean( "nether-ceiling-void-damage", false ); ++ log("Top of the nether void damage: " + netherVoidTopDamage); ++ } + } +diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java +index 313100aed..7feed2995 100644 +--- a/src/main/java/net/minecraft/server/Entity.java ++++ b/src/main/java/net/minecraft/server/Entity.java +@@ -442,9 +442,15 @@ public abstract class Entity implements ICommandListener { + this.fallDistance *= 0.5F; + } + ++ // Paper start - Configurable nether ceiling damage ++ // Extracted to own function ++ /* + if (this.locY < -64.0D) { + this.Y(); + } ++ */ ++ this.checkAndDoHeightDamage(); ++ // Paper end + + if (!this.world.isClientSide) { + this.setFlag(0, this.fireTicks > 0); +@@ -454,6 +460,18 @@ public abstract class Entity implements ICommandListener { + this.world.methodProfiler.b(); + } + ++ // Paper start - Configurable top of nether void damage ++ private boolean paperNetherCheck() { ++ return this.world.paperConfig.netherVoidTopDamage && this.world.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER && this.locY >= 128.0D; ++ } ++ ++ protected void checkAndDoHeightDamage() { ++ if (this.locY < -64.0D || paperNetherCheck()) { ++ this.kill(); ++ } ++ } ++ // Paper end ++ + protected void H() { + if (this.portalCooldown > 0) { + --this.portalCooldown; +@@ -510,6 +528,7 @@ public abstract class Entity implements ICommandListener { + this.fireTicks = 0; + } + ++ protected final void kill() { this.Y(); } // Paper - OBFHELPER + protected void Y() { + this.die(); + } +diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +index fd3337d3f..ca1faa41d 100644 +--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java ++++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +@@ -204,9 +204,15 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT + this.setDamage(this.getDamage() - 1.0F); + } + ++ // Paper start - Configurable nether ceiling damage ++ // Extracted to own function ++ /* + if (this.locY < -64.0D) { + this.Y(); + } ++ */ ++ this.checkAndDoHeightDamage(); ++ // Paper end + + int i; + +-- +2.12.2 + |