mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 00:47:42 +01:00
3in1: Update Upstream, Remove useless patches, Fix cramming/colliding bug
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
From 1c814b48eeea9ba6ee694153404088effb8372b7 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 ++-
|
||||
src/main/java/net/minecraft/server/EntityLlama.java | 2 +-
|
||||
.../bukkit/craftbukkit/entity/CraftLivingEntity.java | 12 ++++++++++++
|
||||
5 files changed, 19 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
index 8bc325c79..f23d0380f 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 8aa60e95f..e60eedb54 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
@@ -179,7 +179,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
this.a(SoundEffects.ENTITY_HORSE_LAND, 0.4F, 1.0F);
|
||||
}
|
||||
|
||||
- int i = MathHelper.f((f * 0.5F - 3.0F) * f1);
|
||||
+ int i = MathHelper.f((f * 0.5F - this.safeFallDistance) * f1); // Purpur
|
||||
|
||||
if (i > 0) {
|
||||
this.damageEntity(DamageSource.FALL, (float) i);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 5ee807f0e..0054d3bed 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -122,6 +122,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;
|
||||
@@ -1530,7 +1531,7 @@ public abstract class EntityLiving extends Entity {
|
||||
super.b(f, f1);
|
||||
MobEffect mobeffect = this.getEffect(MobEffects.JUMP);
|
||||
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
||||
- int i = MathHelper.f((f - 3.0F - f2) * f1);
|
||||
+ int i = MathHelper.f((f - this.safeFallDistance - f2) * f1); // Purpur
|
||||
|
||||
if (i > 0) {
|
||||
// CraftBukkit start
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
index d052dedec..a5dade7d0 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
@@ -344,7 +344,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
|
||||
@Override
|
||||
public void b(float f, float f1) {
|
||||
- int i = MathHelper.f((f * 0.5F - 3.0F) * f1);
|
||||
+ int i = MathHelper.f((f * 0.5F - this.safeFallDistance) * f1); // Purpur
|
||||
|
||||
if (i > 0) {
|
||||
if (f >= 6.0F) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index e0de3820f..18d057f0e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -699,4 +699,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.20.1
|
||||
|
||||
Reference in New Issue
Block a user