papermc/Spigot-Server-Patches/0152-Toggleable-Elytra-Wall-Damage.patch
2016-11-18 16:21:06 -06:00

45 lines
2 KiB
Diff

From acbec2ce9a40d727cd574ede9b85e08ec2d58e31 Mon Sep 17 00:00:00 2001
From: Jadon Fowler <jadonflower@gmail.com>
Date: Sat, 18 Jun 2016 23:13:59 -0700
Subject: [PATCH] Toggleable Elytra Wall Damage
Instead of calculating the damage taken from hitting a wall, you can
disable it in the config.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index cda516f..965edc9 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -360,4 +360,9 @@ public class PaperWorldConfig {
delayChunkUnloadsBy *= 1000;
}
}
+
+ public boolean elytraHitWallDamage = true;
+ private void elytraHitWallDamage() {
+ elytraHitWallDamage = getBoolean("elytra-hit-wall-damage", true);
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 1eedcb0..a875e7d 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1686,6 +1686,7 @@ public abstract class EntityLiving extends Entity {
this.motY = 0.30000001192092896D;
}
} else if (this.cH()) {
+ if (world.paperConfig.elytraHitWallDamage) { // Paper start - Toggleable Elytra Wall Damage
if (this.motY > -0.5D) {
this.fallDistance = 1.0F;
}
@@ -1735,6 +1736,7 @@ public abstract class EntityLiving extends Entity {
this.damageEntity(DamageSource.FLY_INTO_WALL, f7);
}
}
+ } // Paper end - Elyta Wall Damage if statement
if (this.onGround && !this.world.isClientSide) {
if (getFlag(7) && !CraftEventFactory.callToggleGlideEvent(this, false).isCancelled()) // CraftBukkit
--
2.10.2