From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: TreyRuffy Date: Wed, 9 Jun 2021 16:31:14 -0600 Subject: [PATCH] Flying Fall Damage API diff --git a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java index 383b4cacc8c9f4fd5d2a83f683e5174ea5025f61..be7c38c54311d6ea99a4ce2eec63863b649de3b2 100644 --- a/src/main/java/net/minecraft/world/entity/player/EntityHuman.java +++ b/src/main/java/net/minecraft/world/entity/player/EntityHuman.java @@ -169,7 +169,10 @@ public abstract class EntityHuman extends EntityLiving { // Paper start public boolean affectsSpawning = true; // Paper end - public boolean isCritical = false; // Purpur + // Purpur start + public boolean flyingFallDamage = false; + public boolean isCritical = false; + // Purpur end // CraftBukkit start public boolean fauxSleeping; @@ -1651,7 +1654,7 @@ public abstract class EntityHuman extends EntityLiving { @Override public boolean b(float f, float f1) { - if (this.abilities.canFly) { + if (this.abilities.canFly && !flyingFallDamage) { // Purpur - allow fall damage with can fly attribute return false; } else { if (f >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 0501d5bee249ac35e6344dfa1bed3d802901f377..9ecad2520740cc1c8f7017eaa935460777d0c191 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2541,5 +2541,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int invulnerableTicks) { getHandle().invulnerableTicks = invulnerableTicks; } + + @Override + public void setFlyingFallDamage(boolean flyingFallDamage) { + getHandle().flyingFallDamage = flyingFallDamage; + } + + @Override + public boolean hasFlyingFallDamage() { + return getHandle().flyingFallDamage; + } // Purpur end }