mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Really fix non-ridables AI with passenger this time
This commit is contained in:
@@ -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 <blake.galbreath@gmail.com>
|
||||
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));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user