From e744a717e87a64b9706598fc092cfea620958ecc Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 23 Jun 2019 20:12:22 -0500 Subject: [PATCH] Really fix non-ridables AI with passenger this time --- patches/server/0011-Integrate-ridables.patch | 37 +++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/patches/server/0011-Integrate-ridables.patch b/patches/server/0011-Integrate-ridables.patch index ab3e97506..2963c78b8 100644 --- a/patches/server/0011-Integrate-ridables.patch +++ b/patches/server/0011-Integrate-ridables.patch @@ -1,11 +1,11 @@ -From fb9dfc65c23a81909d5b38da1387b7700e69cd1a Mon Sep 17 00:00:00 2001 +From c7360b84c003a6df68bf1f545bf99e3df39d0e9a Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 30 Apr 2019 19:17:21 -0500 Subject: [PATCH] Integrate ridables --- .../server/ControllerLookDolphin.java | 4 +- - .../java/net/minecraft/server/Entity.java | 31 ++++- + .../java/net/minecraft/server/Entity.java | 35 +++++- .../net/minecraft/server/EntityAgeable.java | 2 +- .../java/net/minecraft/server/EntityBat.java | 22 ++++ .../net/minecraft/server/EntityBlaze.java | 15 ++- @@ -134,7 +134,7 @@ Subject: [PATCH] Integrate ridables .../controller/ControllerMoveWASDWater.java | 42 +++++++ .../craftbukkit/entity/CraftLivingEntity.java | 10 ++ .../bukkit/craftbukkit/entity/CraftMob.java | 12 ++ - 130 files changed, 1236 insertions(+), 107 deletions(-) + 130 files changed, 1240 insertions(+), 107 deletions(-) create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java @@ -163,7 +163,7 @@ index 454627f65e..df3d6cf281 100644 this.d = false; this.a.aM = this.a(this.a.aM, this.h() + 20.0F, this.b); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 352b6dfb3e..f78d721941 100644 +index 352b6dfb3e..87245d3e12 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -78,6 +78,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -193,32 +193,35 @@ index 352b6dfb3e..f78d721941 100644 public boolean noclip; public float M; protected final Random random; -@@ -2070,8 +2073,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - return false; - } - // Spigot end -- if (!this.world.isClientSide && entity instanceof EntityHuman && !(this.getRidingPassenger() instanceof EntityHuman)) { -+ if (!this.world.isClientSide && isRidable && entity instanceof EntityHuman && !(this.getRidingPassenger() instanceof EntityHuman)) { // Purpur - this.passengers.add(0, entity); -+ this.rider = (EntityHuman) entity; // Purpur -+ onMount(rider); // Purpur +@@ -2075,7 +2078,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } else { this.passengers.add(entity); } -@@ -2110,6 +2115,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +- ++ // Purpur start ++ if (isRidable && passengers.get(0) == entity) { ++ EntityHuman entityhuman = (EntityHuman) entity; ++ onMount(entityhuman); ++ this.rider = entityhuman; ++ } ++ // Purpur end + } + return true; // CraftBukkit + } +@@ -2110,6 +2119,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return false; } // Spigot end + // Purpur start -+ if (passengers.get(0) == rider) { ++ if (rider != null && passengers.get(0) == rider) { + onDismount(rider); -+ rider = null; ++ this.rider = null; + } + // Purpur end this.passengers.remove(entity); entity.j = 60; } -@@ -3221,4 +3232,20 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3221,4 +3236,20 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public void setMot(double d0, double d1, double d2) { this.setMot(new Vec3D(d0, d1, d2)); }