papermc/Spigot-Server-Patches/0038-Configurable-top-of-nether-void-damage.patch
2015-03-08 05:17:04 -05:00

51 lines
2 KiB
Diff

From 2ee7ab93b17fd721016e8891dbe6b42859019592 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Mon, 23 Feb 2015 14:57:28 -0600
Subject: [PATCH] Configurable top of nether void damage
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 1470c21..79837ef 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -247,6 +247,13 @@ public abstract class Entity implements ICommandListener {
this.K();
}
+ /**
+ * PaperSpigot - Checks if the feature is enabled and the entity is above the nether world bedrock height
+ */
+ private boolean paperNetherCheck() {
+ return this.world.paperSpigotConfig.netherVoidTopDamage && this.world.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER && this.locY >= 128.0D;
+ }
+
public void K() {
this.world.methodProfiler.a("entityBaseTick");
if (this.vehicle != null && this.vehicle.dead) {
@@ -323,7 +330,7 @@ public abstract class Entity implements ICommandListener {
this.fallDistance *= 0.5F;
}
- if (this.locY < -64.0D) {
+ if (this.locY < -64.0D || paperNetherCheck()) { // PaperSpigot - Configurable top-of-nether void damage
this.O();
}
diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
index f33142a..a6d8532 100644
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
+++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
@@ -186,4 +186,10 @@ public class PaperSpigotWorldConfig
{
boatsDropBoats = getBoolean( "game-mechanics.boats-drop-boats", false );
}
+
+ public boolean netherVoidTopDamage;
+ private void nethervoidTopDamage()
+ {
+ netherVoidTopDamage = getBoolean( "nether-ceiling-void-damage", false );
+ }
}
--
1.9.1