mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 01:17:42 +01:00
Fix issue with creepers targetting while being ridden
This commit is contained in:
@@ -1,21 +1,21 @@
|
||||
From 960b344bea7f6abfdc7a0ba38c2db059019dd5a0 Mon Sep 17 00:00:00 2001
|
||||
From 509a73858efffb4a3f5bf338482e83d27c85eec3 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 | 37 +++++-
|
||||
.../java/net/minecraft/server/Entity.java | 38 +++++-
|
||||
.../net/minecraft/server/EntityAgeable.java | 2 +-
|
||||
.../java/net/minecraft/server/EntityBat.java | 22 ++++
|
||||
.../java/net/minecraft/server/EntityBee.java | 89 ++++++++++++-
|
||||
.../net/minecraft/server/EntityBlaze.java | 15 ++-
|
||||
.../java/net/minecraft/server/EntityCat.java | 21 ++-
|
||||
.../java/net/minecraft/server/EntityCat.java | 22 +++-
|
||||
.../minecraft/server/EntityCaveSpider.java | 1 +
|
||||
.../net/minecraft/server/EntityChicken.java | 4 +-
|
||||
.../java/net/minecraft/server/EntityCod.java | 1 +
|
||||
.../java/net/minecraft/server/EntityCow.java | 2 +
|
||||
.../net/minecraft/server/EntityCreeper.java | 57 ++++++++
|
||||
.../net/minecraft/server/EntityCreeper.java | 59 +++++++++
|
||||
.../net/minecraft/server/EntityDolphin.java | 21 ++-
|
||||
.../net/minecraft/server/EntityDrowned.java | 7 +-
|
||||
.../minecraft/server/EntityEnderDragon.java | 1 +
|
||||
@@ -23,7 +23,7 @@ Subject: [PATCH] Integrate ridables
|
||||
.../net/minecraft/server/EntityEndermite.java | 4 +-
|
||||
.../net/minecraft/server/EntityEvoker.java | 4 +-
|
||||
.../java/net/minecraft/server/EntityFish.java | 25 ++--
|
||||
.../java/net/minecraft/server/EntityFox.java | 48 +++++--
|
||||
.../java/net/minecraft/server/EntityFox.java | 47 +++++--
|
||||
.../net/minecraft/server/EntityGhast.java | 7 +-
|
||||
.../minecraft/server/EntityGiantZombie.java | 2 +
|
||||
.../net/minecraft/server/EntityGuardian.java | 28 +++-
|
||||
@@ -33,7 +33,7 @@ Subject: [PATCH] Integrate ridables
|
||||
.../minecraft/server/EntityHorseZombie.java | 6 +
|
||||
.../net/minecraft/server/EntityHuman.java | 14 +-
|
||||
.../server/EntityIllagerIllusioner.java | 2 +
|
||||
.../minecraft/server/EntityInsentient.java | 51 ++++++-
|
||||
.../minecraft/server/EntityInsentient.java | 54 +++++++-
|
||||
.../net/minecraft/server/EntityIronGolem.java | 6 +-
|
||||
.../net/minecraft/server/EntityLiving.java | 27 ++--
|
||||
.../net/minecraft/server/EntityLlama.java | 42 +++++-
|
||||
@@ -41,7 +41,7 @@ Subject: [PATCH] Integrate ridables
|
||||
.../net/minecraft/server/EntityMagmaCube.java | 3 +-
|
||||
.../minecraft/server/EntityMushroomCow.java | 1 +
|
||||
.../net/minecraft/server/EntityOcelot.java | 2 +
|
||||
.../net/minecraft/server/EntityPanda.java | 29 +++-
|
||||
.../net/minecraft/server/EntityPanda.java | 28 +++-
|
||||
.../net/minecraft/server/EntityParrot.java | 46 ++++++-
|
||||
.../net/minecraft/server/EntityPhantom.java | 40 ++++--
|
||||
.../java/net/minecraft/server/EntityPig.java | 32 ++---
|
||||
@@ -71,10 +71,11 @@ Subject: [PATCH] Integrate ridables
|
||||
.../minecraft/server/EntityVindicator.java | 2 +
|
||||
.../net/minecraft/server/EntityWitch.java | 6 +-
|
||||
.../net/minecraft/server/EntityWither.java | 4 +-
|
||||
.../java/net/minecraft/server/EntityWolf.java | 10 ++
|
||||
.../java/net/minecraft/server/EntityWolf.java | 9 ++
|
||||
.../net/minecraft/server/EntityZombie.java | 2 +
|
||||
.../minecraft/server/EntityZombieHusk.java | 1 +
|
||||
.../server/EntityZombieVillager.java | 3 +-
|
||||
.../minecraft/server/PathfinderGoalSwell.java | 5 +-
|
||||
src/main/java/net/minecraft/server/Vec3D.java | 1 +
|
||||
.../java/net/pl3x/purpur/PurpurConfig.java | 124 ++++++++++++++++++
|
||||
.../purpur/controller/ControllerLookWASD.java | 75 +++++++++++
|
||||
@@ -85,7 +86,7 @@ Subject: [PATCH] Integrate ridables
|
||||
.../pathfinder/PathfinderGoalHasRider.java | 20 +++
|
||||
.../craftbukkit/entity/CraftLivingEntity.java | 10 ++
|
||||
.../bukkit/craftbukkit/entity/CraftMob.java | 12 ++
|
||||
81 files changed, 1361 insertions(+), 124 deletions(-)
|
||||
82 files changed, 1367 insertions(+), 127 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
|
||||
@@ -115,7 +116,7 @@ index 1d9ba04daa..2bade947ee 100644
|
||||
this.d = false;
|
||||
this.a.aK = this.a(this.a.aK, 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 cd3ea3359f..5e3b8278bb 100644
|
||||
index cd3ea3359f..ad9e983589 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -79,6 +79,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -175,7 +176,7 @@ index cd3ea3359f..5e3b8278bb 100644
|
||||
this.passengers.remove(entity);
|
||||
entity.j = 60;
|
||||
}
|
||||
@@ -3369,4 +3384,20 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3369,4 +3384,21 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
|
||||
void accept(Entity entity, double d0, double d1, double d2);
|
||||
}
|
||||
@@ -183,7 +184,8 @@ index cd3ea3359f..5e3b8278bb 100644
|
||||
+ // Purpur start
|
||||
+ public void onMount(EntityHuman entityhuman) {
|
||||
+ if (this instanceof EntityInsentient) {
|
||||
+ ((EntityInsentient) this).setGoalTarget(null);
|
||||
+ ((EntityInsentient) this).goalTarget = null;
|
||||
+ ((EntityInsentient) this).getNavigation().stopPathfinding();
|
||||
+ }
|
||||
+ entityhuman.setJumping(false); // fixes jump on mount
|
||||
+ }
|
||||
@@ -430,7 +432,7 @@ index 5b1d2c7f50..d46b99b5c9 100644
|
||||
if (this.c <= 0) {
|
||||
this.c = 100;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
index 57af3835ee..7219f90322 100644
|
||||
index 57af3835ee..1cc36efad9 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
@@ -16,7 +16,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
@@ -460,7 +462,23 @@ index 57af3835ee..7219f90322 100644
|
||||
this.goalSelector.a(1, new EntityCat.b(this));
|
||||
this.goalSelector.a(2, this.goalSit);
|
||||
this.goalSelector.a(3, this.bG);
|
||||
@@ -203,7 +205,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
@@ -78,6 +80,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
this.datawatcher.set(EntityCat.bB, i);
|
||||
}
|
||||
|
||||
+ public void setSleepingWithOwner(boolean flag) { u(flag); } // Purpur - OBFHELPER
|
||||
public void u(boolean flag) {
|
||||
this.datawatcher.set(EntityCat.bC, flag);
|
||||
}
|
||||
@@ -86,6 +89,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
return (Boolean) this.datawatcher.get(EntityCat.bC);
|
||||
}
|
||||
|
||||
+ public void setHeadDown(boolean flag) { v(flag); } // Purpur - OBFHELPER
|
||||
public void v(boolean flag) {
|
||||
this.datawatcher.set(EntityCat.bD, flag);
|
||||
}
|
||||
@@ -203,7 +207,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
|
||||
@Override
|
||||
public boolean B(Entity entity) {
|
||||
@@ -469,7 +487,7 @@ index 57af3835ee..7219f90322 100644
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -275,7 +277,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
@@ -275,7 +279,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
|
||||
@Override
|
||||
public boolean mate(EntityAnimal entityanimal) {
|
||||
@@ -478,7 +496,7 @@ index 57af3835ee..7219f90322 100644
|
||||
return false;
|
||||
} else if (!(entityanimal instanceof EntityCat)) {
|
||||
return false;
|
||||
@@ -306,6 +308,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
@@ -306,6 +310,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
|
||||
@Override
|
||||
public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
|
||||
@@ -486,17 +504,16 @@ index 57af3835ee..7219f90322 100644
|
||||
ItemStack itemstack = entityhuman.b(enumhand);
|
||||
Item item = itemstack.getItem();
|
||||
|
||||
@@ -396,6 +399,16 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
@@ -396,6 +401,15 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ public void onMount(EntityHuman entityhuman) {
|
||||
+ setGoalTarget(null);
|
||||
+ setSitting(false);
|
||||
+ u(false); // setSleepingWithOwner
|
||||
+ v(false); // setHeadDown
|
||||
+ super.onMount(entityhuman);
|
||||
+ setSitting(false);
|
||||
+ setSleepingWithOwner(false);
|
||||
+ setHeadDown(false);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@@ -575,7 +592,7 @@ index e1d0f0f38d..dcff77d8d8 100644
|
||||
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D));
|
||||
if (net.pl3x.purpur.PurpurConfig.feedMushroomsToCows > 0) this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.25D, RecipeItemStack.a(Items.WHEAT, Blocks.RED_MUSHROOM.getItem(), Blocks.BROWN_MUSHROOM.getItem()), false)); else // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
index 77ba923338..ebae462807 100644
|
||||
index 77ba923338..72efa596d7 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
@@ -21,12 +21,14 @@ public class EntityCreeper extends EntityMonster {
|
||||
@@ -593,7 +610,23 @@ index 77ba923338..ebae462807 100644
|
||||
this.goalSelector.a(3, new PathfinderGoalAvoidTarget<>(this, EntityOcelot.class, 6.0F, 1.0D, 1.2D));
|
||||
this.goalSelector.a(3, new PathfinderGoalAvoidTarget<>(this, EntityCat.class, 6.0F, 1.0D, 1.2D));
|
||||
this.goalSelector.a(4, new PathfinderGoalMeleeAttack(this, 1.0D, false));
|
||||
@@ -277,4 +279,59 @@ public class EntityCreeper extends EntityMonster {
|
||||
@@ -165,6 +167,7 @@ public class EntityCreeper extends EntityMonster {
|
||||
return (Integer) this.datawatcher.get(EntityCreeper.b);
|
||||
}
|
||||
|
||||
+ public void setSwellDirection(int i) { a(i); } // Purpur - OBFHELPER
|
||||
public void a(int i) {
|
||||
this.datawatcher.set(EntityCreeper.b, i);
|
||||
}
|
||||
@@ -265,6 +268,7 @@ public class EntityCreeper extends EntityMonster {
|
||||
com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited);
|
||||
if (event.callEvent()) {
|
||||
this.datawatcher.set(EntityCreeper.d, event.isIgnited());
|
||||
+ if (!event.isIgnited()) setSwellDirection(-1);
|
||||
}
|
||||
}
|
||||
// Paper end
|
||||
@@ -277,4 +281,59 @@ public class EntityCreeper extends EntityMonster {
|
||||
public void setCausedHeadDrop() {
|
||||
++this.bA;
|
||||
}
|
||||
@@ -619,8 +652,8 @@ index 77ba923338..ebae462807 100644
|
||||
+
|
||||
+ @Override
|
||||
+ public void onMount(EntityHuman entityhuman) {
|
||||
+ setIgnited(false);
|
||||
+ super.onMount(entityhuman);
|
||||
+ setIgnited(false);
|
||||
+ }
|
||||
+
|
||||
+ private int spacebarCharge = 0;
|
||||
@@ -898,7 +931,7 @@ index d332907b3b..0ca3d45c9c 100644
|
||||
this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
|
||||
index bd62ac3ed8..2156c86be8 100644
|
||||
index bd62ac3ed8..738e6cb8f7 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFox.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFox.java
|
||||
@@ -48,6 +48,7 @@ public class EntityFox extends EntityAnimal {
|
||||
@@ -974,7 +1007,7 @@ index bd62ac3ed8..2156c86be8 100644
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -592,7 +599,32 @@ public class EntityFox extends EntityAnimal {
|
||||
@@ -592,7 +599,31 @@ public class EntityFox extends EntityAnimal {
|
||||
return deathEvent; // Paper
|
||||
}
|
||||
|
||||
@@ -986,19 +1019,18 @@ index bd62ac3ed8..2156c86be8 100644
|
||||
+
|
||||
+ @Override
|
||||
+ public void onMount(EntityHuman entityhuman) {
|
||||
+ setGoalTarget(null);
|
||||
+ super.onMount(entityhuman);
|
||||
+ setCanPickupLoot(false);
|
||||
+ stopActions();
|
||||
+ setChasing(false);
|
||||
+ spit(getEquipment(EnumItemSlot.MAINHAND));
|
||||
+ setSlot(EnumItemSlot.MAINHAND, ItemStack.NULL_ITEM);
|
||||
+ super.onMount(entityhuman);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onDismount(EntityHuman entityhuman) {
|
||||
+ setCanPickupLoot(true);
|
||||
+ super.onDismount(entityhuman);
|
||||
+ setCanPickupLoot(true);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@@ -1007,7 +1039,7 @@ index bd62ac3ed8..2156c86be8 100644
|
||||
double d0 = entityliving.locZ() - entityfox.locZ();
|
||||
double d1 = entityliving.locX() - entityfox.locX();
|
||||
double d2 = d0 / d1;
|
||||
@@ -655,16 +687,16 @@ public class EntityFox extends EntityAnimal {
|
||||
@@ -655,16 +686,16 @@ public class EntityFox extends EntityAnimal {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1027,7 +1059,7 @@ index bd62ac3ed8..2156c86be8 100644
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1335,16 +1367,16 @@ public class EntityFox extends EntityAnimal {
|
||||
@@ -1335,16 +1366,16 @@ public class EntityFox extends EntityAnimal {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1279,7 +1311,7 @@ index 81b7cd06f2..18fedbc691 100644
|
||||
this.goalSelector.a(4, new EntityIllagerIllusioner.b());
|
||||
this.goalSelector.a(5, new EntityIllagerIllusioner.a());
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 5fb3c948d9..917e5ac64c 100644
|
||||
index 5fb3c948d9..e50b5fdcc1 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -10,6 +10,7 @@ import java.util.UUID;
|
||||
@@ -1290,6 +1322,15 @@ index 5fb3c948d9..917e5ac64c 100644
|
||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
import org.bukkit.craftbukkit.entity.CraftLivingEntity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
@@ -34,7 +35,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
public PathfinderGoalSelector goalSelector;
|
||||
@Nullable public PathfinderGoalFloat goalFloat; // Paper
|
||||
public PathfinderGoalSelector targetSelector;
|
||||
- private EntityLiving goalTarget;
|
||||
+ protected EntityLiving goalTarget; // Purpur - private -> protected
|
||||
private final EntitySenses bw;
|
||||
private final NonNullList<ItemStack> bx;
|
||||
public final float[] dropChanceHand;
|
||||
@@ -64,8 +65,11 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
this.bI = -1.0F;
|
||||
this.goalSelector = new PathfinderGoalSelector(world != null && world.getMethodProfiler() != null ? world.getMethodProfiler() : null);
|
||||
@@ -1304,7 +1345,15 @@ index 5fb3c948d9..917e5ac64c 100644
|
||||
this.bq = new ControllerJump(this);
|
||||
this.c = this.o();
|
||||
this.navigation = this.b(world);
|
||||
@@ -483,6 +487,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -152,6 +156,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
}
|
||||
|
||||
public boolean setGoalTarget(EntityLiving entityliving, EntityTargetEvent.TargetReason reason, boolean fireEvent) {
|
||||
+ if (entityliving != null && getRider() != null) { return false; } // Purpur - do not target anything if being ridden
|
||||
if (getGoalTarget() == entityliving) return false;
|
||||
if (fireEvent) {
|
||||
if (reason == EntityTargetEvent.TargetReason.UNKNOWN && getGoalTarget() != null && entityliving == null) {
|
||||
@@ -483,6 +488,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
return super.cW();
|
||||
}
|
||||
|
||||
@@ -1312,7 +1361,7 @@ index 5fb3c948d9..917e5ac64c 100644
|
||||
public void r(float f) {
|
||||
this.bb = f;
|
||||
}
|
||||
@@ -495,6 +500,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -495,6 +501,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
this.aZ = f;
|
||||
}
|
||||
|
||||
@@ -1320,7 +1369,7 @@ index 5fb3c948d9..917e5ac64c 100644
|
||||
@Override
|
||||
public void o(float f) {
|
||||
super.o(f);
|
||||
@@ -1064,7 +1070,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1064,7 +1071,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
}
|
||||
|
||||
protected boolean a(EntityHuman entityhuman, EnumHand enumhand) {
|
||||
@@ -1329,7 +1378,7 @@ index 5fb3c948d9..917e5ac64c 100644
|
||||
}
|
||||
|
||||
public boolean ec() {
|
||||
@@ -1363,4 +1369,43 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1363,4 +1370,43 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
public boolean a(Item item) {
|
||||
return this.getItemInMainHand().getItem() == item || this.getItemInOffHand().getItem() == item;
|
||||
}
|
||||
@@ -1631,7 +1680,7 @@ index d9a7b8ac1e..8093e01505 100644
|
||||
this.goalSelector.a(7, new PathfinderGoalLeapAtTarget(this, 0.3F));
|
||||
this.goalSelector.a(8, new PathfinderGoalOcelotAttack(this));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java
|
||||
index cd41c80f19..c6afe108c7 100644
|
||||
index cd41c80f19..91a8671372 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPanda.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPanda.java
|
||||
@@ -39,6 +39,7 @@ public class EntityPanda extends EntityAnimal {
|
||||
@@ -1692,7 +1741,7 @@ index cd41c80f19..c6afe108c7 100644
|
||||
}
|
||||
|
||||
this.eX();
|
||||
@@ -574,10 +579,22 @@ public class EntityPanda extends EntityAnimal {
|
||||
@@ -574,10 +579,21 @@ public class EntityPanda extends EntityAnimal {
|
||||
entityhuman.a(enumhand, true);
|
||||
return true;
|
||||
} else {
|
||||
@@ -1704,9 +1753,8 @@ index cd41c80f19..c6afe108c7 100644
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public void onMount(EntityHuman entityhuman) {
|
||||
+ this.setGoalTarget(null);
|
||||
+ super.onMount(entityhuman);
|
||||
+ this.setForwardSpeed(0.0F);
|
||||
+ this.getNavigation().stopPathfinding();
|
||||
+ this.setScared(false);
|
||||
+ this.setEating(false);
|
||||
+ this.setLayingOnBack(false);
|
||||
@@ -1716,7 +1764,7 @@ index cd41c80f19..c6afe108c7 100644
|
||||
@Nullable
|
||||
@Override
|
||||
protected SoundEffect getSoundAmbient() {
|
||||
@@ -979,7 +996,7 @@ public class EntityPanda extends EntityAnimal {
|
||||
@@ -979,7 +995,7 @@ public class EntityPanda extends EntityAnimal {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1725,7 +1773,7 @@ index cd41c80f19..c6afe108c7 100644
|
||||
|
||||
private final EntityPanda i;
|
||||
|
||||
@@ -989,9 +1006,9 @@ public class EntityPanda extends EntityAnimal {
|
||||
@@ -989,9 +1005,9 @@ public class EntityPanda extends EntityAnimal {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2757,7 +2805,7 @@ index 8977c3516b..3e6c4eff5d 100644
|
||||
this.goalSelector.a(5, new PathfinderGoalRandomStrollLand(this, 1.0D));
|
||||
this.goalSelector.a(6, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 8.0F));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java
|
||||
index db15d5e0a2..2a6e1f33b7 100644
|
||||
index db15d5e0a2..738a9e1dbc 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityWolf.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityWolf.java
|
||||
@@ -27,6 +27,7 @@ public class EntityWolf extends EntityTameableAnimal {
|
||||
@@ -2776,15 +2824,14 @@ index db15d5e0a2..2a6e1f33b7 100644
|
||||
this.goalSelector.a(2, this.goalSit);
|
||||
this.goalSelector.a(3, new EntityWolf.a<>(this, EntityLlama.class, 24.0F, 1.5D, 1.5D));
|
||||
this.goalSelector.a(4, new PathfinderGoalLeapAtTarget(this, 0.4F));
|
||||
@@ -433,6 +435,14 @@ public class EntityWolf extends EntityTameableAnimal {
|
||||
@@ -433,6 +435,13 @@ public class EntityWolf extends EntityTameableAnimal {
|
||||
return !this.isAngry() && super.a(entityhuman);
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ public void onMount(EntityHuman entityhuman) {
|
||||
+ setGoalTarget(null);
|
||||
+ setSitting(false);
|
||||
+ super.onMount(entityhuman);
|
||||
+ setSitting(false);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@@ -2844,6 +2891,29 @@ index 8082fa617a..0c51c8dea1 100644
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
|
||||
index e07c7674a5..3c077b6870 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
|
||||
@@ -4,8 +4,8 @@ import java.util.EnumSet;
|
||||
|
||||
public class PathfinderGoalSwell extends PathfinderGoal {
|
||||
|
||||
- private final EntityCreeper a;
|
||||
- private EntityLiving b;
|
||||
+ private final EntityCreeper a; public EntityCreeper getCreeper() { return a; } // Purpur - OBFHELPER
|
||||
+ private EntityLiving b; public void setTarget(EntityLiving target) { b = target; } // Purpur - OBFHELPER
|
||||
|
||||
public PathfinderGoalSwell(EntityCreeper entitycreeper) {
|
||||
this.a = entitycreeper;
|
||||
@@ -32,6 +32,7 @@ public class PathfinderGoalSwell extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public void e() {
|
||||
+ setTarget(getCreeper().getGoalTarget()); // Purpur
|
||||
if (this.b == null) {
|
||||
this.a.a(-1);
|
||||
} else if (this.a.h((Entity) this.b) > 49.0D) {
|
||||
diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java
|
||||
index 0c7f094e54..212af252be 100644
|
||||
--- a/src/main/java/net/minecraft/server/Vec3D.java
|
||||
|
||||
Reference in New Issue
Block a user