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/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java index 45dc5eeb3794492324bd316719524ea797f7ef6a..bbfb5f8f88e972a770d0ce5373c67ffe29ba0319 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -188,6 +188,7 @@ public abstract class Player extends LivingEntity { public boolean affectsSpawning = true; // Paper end public int sixRowEnderchestSlotCount = -1; // Purpur + public boolean flyingFallDamage = false; // Purpur // CraftBukkit start public boolean fauxSleeping; @@ -1798,7 +1799,7 @@ public abstract class Player extends LivingEntity { @Override public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { - if (this.abilities.mayfly) { + if (this.abilities.mayfly && !flyingFallDamage) { // Purpur return false; } else { if (fallDistance >= 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 47f0743ecc1bef6ce55e4ae0c4cbc31a428332df..14e72f9ec0ed6d09b8ca370bd55b4ff29171aff2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2988,5 +2988,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } + + public void setFlyingFallDamage(boolean flyingFallDamage) { + getHandle().flyingFallDamage = flyingFallDamage; + } + + @Override + public boolean hasFlyingFallDamage() { + return getHandle().flyingFallDamage; + } // Purpur end }