mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 00:47:42 +01:00
Upstream has released updates that appears to apply and compile correctly Paper Changes: 19ff55ef Update upstream B/CB 79710332 Update upstream CB 19de9af6 1.15.2 update (#2887) d4ae43fc Updated Upstream (Bukkit/CraftBukkit) 9c2d9a5f [CI-SKIP] Rebuild patches 86a4b752 Fix items not falling correctly (Resolves #2835) (#2872) 35472de2 Port activation range improvement patch (#2763) 617f6033 Add effect to block break naturally (#2819) f63cfe00 Updated Upstream (Bukkit/CraftBukkit) 00860e4e [CI-SKIP] rebuild patches 3d519668 Prevent sync chunk loads when villagers try to find beds (#2855)
85 lines
3.6 KiB
Diff
85 lines
3.6 KiB
Diff
From 80f15a30500567abd6198792f83df09821255f8c Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Sun, 5 May 2019 12:58:45 -0500
|
|
Subject: [PATCH] Implement LivingEntity safeFallDistance
|
|
|
|
---
|
|
.../java/net/minecraft/server/EntityGiantZombie.java | 3 +++
|
|
.../net/minecraft/server/EntityHorseAbstract.java | 2 +-
|
|
src/main/java/net/minecraft/server/EntityLiving.java | 3 ++-
|
|
.../bukkit/craftbukkit/entity/CraftLivingEntity.java | 12 ++++++++++++
|
|
4 files changed, 18 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
|
index d9e5eaad1..bcbade19e 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
|
@@ -4,6 +4,9 @@ public class EntityGiantZombie extends EntityMonster {
|
|
|
|
public EntityGiantZombie(EntityTypes<? extends EntityGiantZombie> entitytypes, World world) {
|
|
super(entitytypes, world);
|
|
+ // Purpur start
|
|
+ this.safeFallDistance = 10.0F;
|
|
+ // Purpur end
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
|
index c56efe035..9e708769f 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
|
@@ -202,7 +202,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
|
|
|
@Override
|
|
protected int e(float f, float f1) {
|
|
- return MathHelper.f((f * 0.5F - 3.0F) * f1);
|
|
+ return MathHelper.f((f * 0.5F - this.safeFallDistance) * f1); // Purpur
|
|
}
|
|
|
|
protected int getChestSlots() {
|
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
index ad6f96988..d44977891 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
@@ -125,6 +125,7 @@ public abstract class EntityLiving extends Entity {
|
|
// CraftBukkit start
|
|
public int expToDrop;
|
|
public int maxAirTicks = 300;
|
|
+ public float safeFallDistance = 3.0F;
|
|
boolean forceDrops;
|
|
ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
|
public org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
|
@@ -1544,7 +1545,7 @@ public abstract class EntityLiving extends Entity {
|
|
MobEffect mobeffect = this.getEffect(MobEffects.JUMP);
|
|
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
|
|
|
- return MathHelper.f((f - 3.0F - f2) * f1);
|
|
+ return MathHelper.f((f - this.safeFallDistance - f2) * f1);
|
|
}
|
|
|
|
protected void cZ() {
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
index b27fd44dc..33f56b85e 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
|
@@ -712,4 +712,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
|
return getHandle().isHandRaised();
|
|
}
|
|
// Paper end
|
|
+
|
|
+ // Purpur start
|
|
+ @Override
|
|
+ public float getSafeFallDistance() {
|
|
+ return getHandle().safeFallDistance;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setSafeFallDistance(float safeFallDistance) {
|
|
+ getHandle().safeFallDistance = safeFallDistance;
|
|
+ }
|
|
+ // Purpur end
|
|
}
|
|
--
|
|
2.24.0
|
|
|