Horses should use vanilla move controllers

This commit is contained in:
William Blake Galbreath
2020-07-07 09:52:13 -05:00
parent 2b17a5ea89
commit 4a604ee112

View File

@@ -238,6 +238,19 @@ index d6baddb9d3..404c548d26 100644
}
this.world.addEntity(mooshroom);
this.die();
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index c9ab80ccd1..501de63fb2 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -39,6 +39,8 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
protected EntityHorseAbstract(EntityTypes<? extends EntityHorseAbstract> entitytypes, World world) {
super(entitytypes, world);
+ this.moveController = new ControllerMove(this); // Purpur - use vanilla controller
+ this.lookController = new ControllerLook(this); // Purpur - use vanilla controller
this.G = 1.0F;
this.loadChest();
}
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 8def5fbfb4..a64de2248b 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -335,6 +348,39 @@ index cb9fdfd114..22b13896d0 100644
float f = this.dI();
if (this.hasEffect(MobEffects.JUMP)) {
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
index cf31920850..e8a87e6bed 100644
--- a/src/main/java/net/minecraft/server/EntityLlama.java
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
@@ -18,6 +18,28 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
public EntityLlama(EntityTypes<? extends EntityLlama> entitytypes, World world) {
super(entitytypes, world);
+ // Purpur start
+ this.moveController = new net.pl3x.purpur.controller.ControllerMoveWASD(this) {
+ @Override
+ public void a() { // tick
+ if (entity.hasRider() && hasSaddle()) {
+ tick(entity.getRider());
+ } else {
+ tick();
+ }
+ }
+ };
+ this.lookController = new net.pl3x.purpur.controller.ControllerLookWASD(this) {
+ @Override
+ public void a() { // tick
+ if (entity.hasRider() && hasSaddle()) {
+ tick(entity.getRider());
+ } else {
+ tick();
+ }
+ }
+ };
+ // Purpur end
}
public void setStrength(int i) {
diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java
index 1be0f943b0..8a8e745846 100644
--- a/src/main/java/net/minecraft/server/EntityRabbit.java