mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Fix #452 - Untamed horses/llamas lose AI when ridden
This commit is contained in:
@@ -2106,7 +2106,7 @@ index 580f3e8de2e10ddc01430e84fc42e243736c4810..c0d85eb70dbe1d85d07b47a41a43d195
|
||||
this.level.getProfiler().pop();
|
||||
this.level.getProfiler().push("goatActivityUpdate");
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
index ba58e066cca533dfed7610a730c4dd7423fe124d..919410ce27e7e42e297c2caba7d3d7c1b623aede 100644
|
||||
index ba58e066cca533dfed7610a730c4dd7423fe124d..d91b6951dc25097e6f84296406634e48e1f13404 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -114,12 +114,22 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -2128,7 +2128,7 @@ index ba58e066cca533dfed7610a730c4dd7423fe124d..919410ce27e7e42e297c2caba7d3d7c1
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
+ this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
+ this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HorseHasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 1.2D));
|
||||
this.goalSelector.addGoal(1, new RunAroundLikeCrazyGoal(this, 1.2D));
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D, AbstractHorse.class));
|
||||
@@ -2136,7 +2136,7 @@ index ba58e066cca533dfed7610a730c4dd7423fe124d..919410ce27e7e42e297c2caba7d3d7c1
|
||||
this.goalSelector.addGoal(6, new WaterAvoidingRandomStrollGoal(this, 0.7D));
|
||||
this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(8, new RandomLookAroundGoal(this));
|
||||
+ this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
+ this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HorseHasRider(this)); // Purpur
|
||||
this.addBehaviourGoals();
|
||||
}
|
||||
|
||||
@@ -2177,7 +2177,7 @@ index 6326471fe48133bef94e98fd028e60a951bccf2b..c7b0d6a987644e0b589c143b0b6b6805
|
||||
protected void randomizeAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)this.generateRandomMaxHealth());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 5c31519193126b715105e1e83bb54f6a1681d19e..0671185c358398fe0c4c1dbf4ede2f3e8c4794fb 100644
|
||||
index 5c31519193126b715105e1e83bb54f6a1681d19e..d336e2c63b39b22f9f3a7a84ee059c2d9d71239c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -68,7 +68,46 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
|
||||
@@ -2231,7 +2231,7 @@ index 5c31519193126b715105e1e83bb54f6a1681d19e..0671185c358398fe0c4c1dbf4ede2f3e
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
+ this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
+ this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HorseHasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new RunAroundLikeCrazyGoal(this, 1.2D));
|
||||
this.goalSelector.addGoal(2, new LlamaFollowCaravanGoal(this, (double)2.1F));
|
||||
this.goalSelector.addGoal(3, new RangedAttackGoal(this, 1.25D, 40, 20.0F));
|
||||
@@ -2239,7 +2239,7 @@ index 5c31519193126b715105e1e83bb54f6a1681d19e..0671185c358398fe0c4c1dbf4ede2f3e
|
||||
this.goalSelector.addGoal(6, new WaterAvoidingRandomStrollGoal(this, 0.7D));
|
||||
this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(8, new RandomLookAroundGoal(this));
|
||||
+ this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
+ this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HorseHasRider(this)); // Purpur
|
||||
this.targetSelector.addGoal(1, new Llama.LlamaHurtByTargetGoal(this));
|
||||
this.targetSelector.addGoal(2, new Llama.LlamaAttackWolfGoal(this));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user