mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +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