mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 01:17:42 +01:00
Player flying fall damage API (#387)
This commit is contained in:
30
patches/api/0042-Flying-Fall-Damage-API.patch
Normal file
30
patches/api/0042-Flying-Fall-Damage-API.patch
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: TreyRuffy <TreyRuffy@users.noreply.github.com>
|
||||||
|
Date: Wed, 9 Jun 2021 16:31:15 -0600
|
||||||
|
Subject: [PATCH] Flying Fall Damage API
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
|
index 9f289576d97c3406d506d3f4fa7287bc74e5b425..df1da8a7dec072ddc33a884973bcad67152576fe 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
|
@@ -2185,5 +2185,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
|
* @param invulnerableTicks Invulnerable ticks remaining
|
||||||
|
*/
|
||||||
|
void setSpawnInvulnerableTicks(int invulnerableTicks);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Allows you to enable fall damage while {@link #getAllowFlight()} is {@code true}
|
||||||
|
+ *
|
||||||
|
+ * @param flyingFallDamage Enables fall damage when {@link #getAllowFlight()} is true
|
||||||
|
+ */
|
||||||
|
+ public void setFlyingFallDamage(boolean flyingFallDamage);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Allows you get if fall damage is enabled while {@link #getAllowFlight()} is {@code true}
|
||||||
|
+ *
|
||||||
|
+ * @return True if fall damage is enabled when {@link #getAllowFlight()} is true
|
||||||
|
+ */
|
||||||
|
+ public boolean hasFlyingFallDamage();
|
||||||
|
// Purpur end
|
||||||
|
}
|
||||||
51
patches/server/0225-Flying-Fall-Damage-API.patch
Normal file
51
patches/server/0225-Flying-Fall-Damage-API.patch
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: TreyRuffy <TreyRuffy@users.noreply.github.com>
|
||||||
|
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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user