mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Stop most pathfinders if rider is present
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 98928c89444ee0675648e369c8a0503bc8196de3 Mon Sep 17 00:00:00 2001
|
||||
From 6f07fe3a5416402a1f559f3f70328ac6dceed30c 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
|
||||
@@ -79,24 +79,61 @@ Subject: [PATCH] Integrate ridables
|
||||
.../net/minecraft/server/EntityZombie.java | 1 +
|
||||
.../minecraft/server/EntityZombieHusk.java | 1 +
|
||||
.../server/EntityZombieVillager.java | 1 +
|
||||
.../server/PathfinderGoalArrowAttack.java | 2 +
|
||||
.../server/PathfinderGoalAvoidTarget.java | 9 +-
|
||||
.../minecraft/server/PathfinderGoalBeg.java | 2 +
|
||||
.../server/PathfinderGoalBowShoot.java | 2 +
|
||||
.../server/PathfinderGoalBreakDoor.java | 2 +
|
||||
.../minecraft/server/PathfinderGoalBreed.java | 4 +-
|
||||
.../server/PathfinderGoalCatSitOnBed.java | 1 +
|
||||
.../server/PathfinderGoalCrossbowAttack.java | 2 +
|
||||
.../server/PathfinderGoalDefendVillage.java | 1 +
|
||||
.../server/PathfinderGoalDoorInteract.java | 2 +
|
||||
.../server/PathfinderGoalDoorOpen.java | 1 +
|
||||
.../server/PathfinderGoalEatTile.java | 2 +
|
||||
.../server/PathfinderGoalFishSchool.java | 2 +
|
||||
.../server/PathfinderGoalFleeSun.java | 2 +
|
||||
.../server/PathfinderGoalFollowBoat.java | 2 +
|
||||
.../server/PathfinderGoalFollowEntity.java | 2 +
|
||||
.../server/PathfinderGoalFollowOwner.java | 2 +
|
||||
.../server/PathfinderGoalFollowParent.java | 2 +
|
||||
.../server/PathfinderGoalGotoTarget.java | 2 +
|
||||
.../server/PathfinderGoalHorseTrap.java | 1 +
|
||||
.../server/PathfinderGoalHurtByTarget.java | 1 +
|
||||
.../server/PathfinderGoalJumpOnBlock.java | 1 +
|
||||
.../server/PathfinderGoalLeapAtTarget.java | 2 +
|
||||
.../server/PathfinderGoalLlamaFollow.java | 2 +
|
||||
.../server/PathfinderGoalLookAtPlayer.java | 2 +
|
||||
.../PathfinderGoalLookAtTradingPlayer.java | 1 +
|
||||
.../server/PathfinderGoalMeleeAttack.java | 2 +
|
||||
.../PathfinderGoalMoveThroughVillage.java | 2 +
|
||||
.../PathfinderGoalMoveTowardsRestriction.java | 2 +
|
||||
.../PathfinderGoalMoveTowardsTarget.java | 2 +
|
||||
...PathfinderGoalNearestAttackableTarget.java | 1 +
|
||||
...inderGoalNearestAttackableTargetWitch.java | 1 +
|
||||
.../PathfinderGoalNearestHealableRaider.java | 1 +
|
||||
.../server/PathfinderGoalNearestVillage.java | 2 +
|
||||
.../server/PathfinderGoalOcelotAttack.java | 2 +
|
||||
.../server/PathfinderGoalOfferFlower.java | 2 +
|
||||
.../PathfinderGoalOwnerHurtByTarget.java | 1 +
|
||||
.../server/PathfinderGoalOwnerHurtTarget.java | 1 +
|
||||
.../minecraft/server/PathfinderGoalPanic.java | 2 +
|
||||
.../minecraft/server/PathfinderGoalPerch.java | 1 +
|
||||
.../minecraft/server/PathfinderGoalRaid.java | 2 +
|
||||
.../PathfinderGoalRandomLookaround.java | 2 +
|
||||
.../server/PathfinderGoalRandomStroll.java | 2 +
|
||||
.../PathfinderGoalRandomTargetNonTamed.java | 2 +
|
||||
.../server/PathfinderGoalRemoveBlock.java | 1 +
|
||||
.../server/PathfinderGoalRestrictSun.java | 1 +
|
||||
.../minecraft/server/PathfinderGoalSit.java | 2 +
|
||||
.../server/PathfinderGoalStrollVillage.java | 1 +
|
||||
.../minecraft/server/PathfinderGoalTame.java | 2 +
|
||||
.../server/PathfinderGoalTarget.java | 1 +
|
||||
.../minecraft/server/PathfinderGoalTempt.java | 2 +
|
||||
.../server/PathfinderGoalTradeWithPlayer.java | 1 +
|
||||
.../server/PathfinderGoalUseItem.java | 2 +
|
||||
.../minecraft/server/PathfinderGoalWater.java | 1 +
|
||||
.../server/PathfinderGoalWaterJump.java | 2 +
|
||||
.../java/net/pl3x/purpur/PurpurConfig.java | 136 ++++++++++++++++++
|
||||
.../purpur/controller/ControllerLookWASD.java | 74 ++++++++++
|
||||
.../purpur/controller/ControllerMoveWASD.java | 77 ++++++++++
|
||||
@@ -105,7 +142,7 @@ Subject: [PATCH] Integrate ridables
|
||||
.../controller/ControllerMoveWASDWater.java | 42 ++++++
|
||||
.../craftbukkit/entity/CraftLivingEntity.java | 10 ++
|
||||
.../bukkit/craftbukkit/entity/CraftMob.java | 12 ++
|
||||
101 files changed, 1077 insertions(+), 107 deletions(-)
|
||||
138 files changed, 1137 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
|
||||
@@ -2284,6 +2321,26 @@ index 5cfda3160..ac460de59 100644
|
||||
this.setVillagerData(this.getVillagerData().withProfession((VillagerProfession) IRegistry.VILLAGER_PROFESSION.a(this.random)));
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalArrowAttack.java b/src/main/java/net/minecraft/server/PathfinderGoalArrowAttack.java
|
||||
index 08aea9969..c6e9b044f 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalArrowAttack.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalArrowAttack.java
|
||||
@@ -37,6 +37,7 @@ public class PathfinderGoalArrowAttack extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
EntityLiving entityliving = this.a.getGoalTarget();
|
||||
|
||||
if (entityliving != null && entityliving.isAlive()) {
|
||||
@@ -49,6 +50,7 @@ public class PathfinderGoalArrowAttack extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a() || !this.a.getNavigation().n();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalAvoidTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalAvoidTarget.java
|
||||
index 6e299144c..3571db9aa 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalAvoidTarget.java
|
||||
@@ -2318,6 +2375,65 @@ index 6e299144c..3571db9aa 100644
|
||||
return !this.e.n();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBeg.java b/src/main/java/net/minecraft/server/PathfinderGoalBeg.java
|
||||
index d5935715f..66216ea8c 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalBeg.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalBeg.java
|
||||
@@ -21,12 +21,14 @@ public class PathfinderGoalBeg extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
this.b = this.c.a(this.f, (EntityLiving) this.a);
|
||||
return this.b == null ? false : this.a(this.b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return !this.b.isAlive() ? false : (this.a.h((Entity) this.b) > (double) (this.d * this.d) ? false : this.e > 0 && this.a(this.b));
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBowShoot.java b/src/main/java/net/minecraft/server/PathfinderGoalBowShoot.java
|
||||
index 5bdc4b4b6..fd2c1dd59 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalBowShoot.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalBowShoot.java
|
||||
@@ -28,6 +28,7 @@ public class PathfinderGoalBowShoot<T extends EntityMonster & IRangedEntity> ext
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a.getGoalTarget() == null ? false : this.g();
|
||||
}
|
||||
|
||||
@@ -37,6 +38,7 @@ public class PathfinderGoalBowShoot<T extends EntityMonster & IRangedEntity> ext
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return (this.a() || !this.a.getNavigation().n()) && this.g();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreakDoor.java b/src/main/java/net/minecraft/server/PathfinderGoalBreakDoor.java
|
||||
index 7f12d9291..e8a161c3e 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalBreakDoor.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalBreakDoor.java
|
||||
@@ -27,6 +27,7 @@ public class PathfinderGoalBreakDoor extends PathfinderGoalDoorInteract {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.entity.getRider() != null) return false; // Purpur
|
||||
return !super.a() ? false : (!this.entity.world.getGameRules().getBoolean("mobGriefing") ? false : this.a(this.entity.world.getDifficulty()) && !this.g());
|
||||
}
|
||||
|
||||
@@ -38,6 +39,7 @@ public class PathfinderGoalBreakDoor extends PathfinderGoalDoorInteract {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.entity.getRider() != null) return false; // Purpur
|
||||
return this.a <= this.f() && !this.g() && this.door.a((IPosition) this.entity.ch(), 2.0D) && this.a(this.entity.world.getDifficulty());
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
|
||||
index 9d0b1ffef..88fcf4123 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
|
||||
@@ -2354,6 +2470,170 @@ index 8a251cb00..d4754a8c0 100644
|
||||
return this.g.isTamed() && !this.g.isSitting() && !this.g.eg() && super.a();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalCrossbowAttack.java b/src/main/java/net/minecraft/server/PathfinderGoalCrossbowAttack.java
|
||||
index 2e7e4f560..dfd69b998 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalCrossbowAttack.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalCrossbowAttack.java
|
||||
@@ -21,6 +21,7 @@ public class PathfinderGoalCrossbowAttack<T extends EntityMonster & IRangedEntit
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.h() && this.g();
|
||||
}
|
||||
|
||||
@@ -30,6 +31,7 @@ public class PathfinderGoalCrossbowAttack<T extends EntityMonster & IRangedEntit
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.h() && (this.a() || !this.a.getNavigation().n()) && this.g();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalDefendVillage.java b/src/main/java/net/minecraft/server/PathfinderGoalDefendVillage.java
|
||||
index 9a67f5b55..0b80e8d48 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalDefendVillage.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalDefendVillage.java
|
||||
@@ -18,6 +18,7 @@ public class PathfinderGoalDefendVillage extends PathfinderGoalTarget {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
AxisAlignedBB axisalignedbb = this.a.getBoundingBox().grow(10.0D, 8.0D, 10.0D);
|
||||
List<EntityLiving> list = this.a.world.a(EntityVillager.class, this.c, this.a, axisalignedbb);
|
||||
List<EntityHuman> list1 = this.a.world.a(this.c, (EntityLiving) this.a, axisalignedbb);
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalDoorInteract.java b/src/main/java/net/minecraft/server/PathfinderGoalDoorInteract.java
|
||||
index e4088249c..d5d06c85d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalDoorInteract.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalDoorInteract.java
|
||||
@@ -45,6 +45,7 @@ public abstract class PathfinderGoalDoorInteract extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.entity.getRider() != null) return false; // Purpur
|
||||
if (!this.entity.positionChanged) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -75,6 +76,7 @@ public abstract class PathfinderGoalDoorInteract extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.entity.getRider() != null) return false; // Purpur
|
||||
return !this.a;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalDoorOpen.java b/src/main/java/net/minecraft/server/PathfinderGoalDoorOpen.java
|
||||
index 420ef53e4..987b15ffe 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalDoorOpen.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalDoorOpen.java
|
||||
@@ -13,6 +13,7 @@ public class PathfinderGoalDoorOpen extends PathfinderGoalDoorInteract {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.entity.getRider() != null) return false; // Purpur
|
||||
return this.a && this.b > 0 && super.b();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalEatTile.java b/src/main/java/net/minecraft/server/PathfinderGoalEatTile.java
|
||||
index 43d5a4b44..b08a07693 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalEatTile.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalEatTile.java
|
||||
@@ -22,6 +22,7 @@ public class PathfinderGoalEatTile extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.b.getRider() != null) return false; // Purpur
|
||||
if (this.b.getRandom().nextInt(this.b.isBaby() ? 50 : 1000) != 0) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -45,6 +46,7 @@ public class PathfinderGoalEatTile extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.b.getRider() != null) return false; // Purpur
|
||||
return this.d > 0;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFishSchool.java b/src/main/java/net/minecraft/server/PathfinderGoalFishSchool.java
|
||||
index 559a5dfe0..5f47cd566 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalFishSchool.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalFishSchool.java
|
||||
@@ -20,6 +20,7 @@ public class PathfinderGoalFishSchool extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.a.eb()) {
|
||||
return false;
|
||||
} else if (this.a.dY()) {
|
||||
@@ -44,6 +45,7 @@ public class PathfinderGoalFishSchool extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a.dY() && this.a.ec();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFleeSun.java b/src/main/java/net/minecraft/server/PathfinderGoalFleeSun.java
|
||||
index b18f7c516..ecb48fe45 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalFleeSun.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalFleeSun.java
|
||||
@@ -22,6 +22,7 @@ public class PathfinderGoalFleeSun extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a.getGoalTarget() != null ? false : (!this.f.J() ? false : (!this.a.isBurning() ? false : (!this.f.f(new BlockPosition(this.a.locX, this.a.getBoundingBox().minY, this.a.locZ)) ? false : (!this.a.getEquipment(EnumItemSlot.HEAD).isEmpty() ? false : this.g()))));
|
||||
}
|
||||
|
||||
@@ -40,6 +41,7 @@ public class PathfinderGoalFleeSun extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return !this.a.getNavigation().n();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFollowBoat.java b/src/main/java/net/minecraft/server/PathfinderGoalFollowBoat.java
|
||||
index 7fac14fb6..845cb071b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalFollowBoat.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalFollowBoat.java
|
||||
@@ -16,6 +16,7 @@ public class PathfinderGoalFollowBoat extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.b.getRider() != null) return false; // Purpur
|
||||
List<EntityBoat> list = this.b.world.a(EntityBoat.class, this.b.getBoundingBox().g(5.0D));
|
||||
boolean flag = false;
|
||||
Iterator iterator = list.iterator();
|
||||
@@ -39,6 +40,7 @@ public class PathfinderGoalFollowBoat extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.b.getRider() != null) return false; // Purpur
|
||||
return this.c != null && this.c.isPassenger() && (MathHelper.e(this.c.bb) > 0.0F || MathHelper.e(this.c.bd) > 0.0F);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFollowEntity.java b/src/main/java/net/minecraft/server/PathfinderGoalFollowEntity.java
|
||||
index 1d19ffee9..5fc43105b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalFollowEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalFollowEntity.java
|
||||
@@ -34,6 +34,7 @@ public class PathfinderGoalFollowEntity extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
List<EntityInsentient> list = this.a.world.a(EntityInsentient.class, this.a.getBoundingBox().g((double) this.i), this.b);
|
||||
|
||||
if (!list.isEmpty()) {
|
||||
@@ -54,6 +55,7 @@ public class PathfinderGoalFollowEntity extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.c != null && !this.e.n() && this.a.h((Entity) this.c) > (double) (this.g * this.g);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFollowOwner.java b/src/main/java/net/minecraft/server/PathfinderGoalFollowOwner.java
|
||||
index 896d2d56a..55318e137 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalFollowOwner.java
|
||||
@@ -2374,6 +2654,26 @@ index 896d2d56a..55318e137 100644
|
||||
return !this.e.n() && this.a.h((Entity) this.c) > (double) (this.g * this.g) && !this.a.isSitting();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFollowParent.java b/src/main/java/net/minecraft/server/PathfinderGoalFollowParent.java
|
||||
index 63b7777c0..78b3d63c1 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalFollowParent.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalFollowParent.java
|
||||
@@ -17,6 +17,7 @@ public class PathfinderGoalFollowParent extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.a.getAge() >= 0) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -51,6 +52,7 @@ public class PathfinderGoalFollowParent extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.a.getAge() >= 0) {
|
||||
return false;
|
||||
} else if (!this.b.isAlive()) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java
|
||||
index 5c2b7b0a5..6f2d0ce7b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalGotoTarget.java
|
||||
@@ -2394,6 +2694,18 @@ index 5c2b7b0a5..6f2d0ce7b 100644
|
||||
return this.d >= -this.g && this.d <= 1200 && this.a(this.a.world, this.e);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
|
||||
index f09374413..32176bbf2 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
|
||||
@@ -10,6 +10,7 @@ public class PathfinderGoalHorseTrap extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a.world.isPlayerNearby(this.a.locX, this.a.locY, this.a.locZ, 10.0D);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalHurtByTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalHurtByTarget.java
|
||||
index dc9652a5e..3b5989ddb 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalHurtByTarget.java
|
||||
@@ -2438,6 +2750,26 @@ index b89d16136..08767e28b 100644
|
||||
return !this.a.onGround;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
||||
index a46a985a6..7bc900b82 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
||||
@@ -18,6 +18,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (!this.a.isLeashed() && !this.a.eI()) {
|
||||
List<Entity> list = this.a.world.getEntities(this.a, this.a.getBoundingBox().grow(9.0D, 4.0D, 9.0D), (entity) -> {
|
||||
EntityTypes<?> entitytypes = entity.getEntityType();
|
||||
@@ -77,6 +78,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.a.eI() && this.a.eJ().isAlive() && this.a(this.a, 0)) {
|
||||
double d0 = this.a.h((Entity) this.a.eJ());
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalLookAtPlayer.java b/src/main/java/net/minecraft/server/PathfinderGoalLookAtPlayer.java
|
||||
index 614a8471d..a57752bd2 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalLookAtPlayer.java
|
||||
@@ -2458,6 +2790,18 @@ index 614a8471d..a57752bd2 100644
|
||||
return !this.b.isAlive() ? false : (this.a.h(this.b) > (double) (this.c * this.c) ? false : this.f > 0);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalLookAtTradingPlayer.java b/src/main/java/net/minecraft/server/PathfinderGoalLookAtTradingPlayer.java
|
||||
index 4f1328cd3..85da00154 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalLookAtTradingPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalLookAtTradingPlayer.java
|
||||
@@ -11,6 +11,7 @@ public class PathfinderGoalLookAtTradingPlayer extends PathfinderGoalLookAtPlaye
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.f.dY()) {
|
||||
this.b = this.f.getTrader();
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalMeleeAttack.java b/src/main/java/net/minecraft/server/PathfinderGoalMeleeAttack.java
|
||||
index 702a75087..6d49d8437 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalMeleeAttack.java
|
||||
@@ -2478,6 +2822,26 @@ index 702a75087..6d49d8437 100644
|
||||
EntityLiving entityliving = this.a.getGoalTarget();
|
||||
|
||||
return entityliving == null ? false : (!entityliving.isAlive() ? false : (!this.e ? !this.a.getNavigation().n() : (!this.a.a(new BlockPosition(entityliving)) ? false : !(entityliving instanceof EntityHuman) || !entityliving.isSpectator() && !((EntityHuman) entityliving).isCreative())));
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalMoveThroughVillage.java b/src/main/java/net/minecraft/server/PathfinderGoalMoveThroughVillage.java
|
||||
index 51bb1d5de..f57c4447e 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalMoveThroughVillage.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalMoveThroughVillage.java
|
||||
@@ -33,6 +33,7 @@ public class PathfinderGoalMoveThroughVillage extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
this.g();
|
||||
if (this.e && this.a.world.J()) {
|
||||
return false;
|
||||
@@ -102,6 +103,7 @@ public class PathfinderGoalMoveThroughVillage extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a.getNavigation().n() ? false : !this.d.a((IPosition) this.a.ch(), (double) (this.a.getWidth() + (float) this.g));
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsRestriction.java b/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsRestriction.java
|
||||
index 7954444a6..5c753ee7c 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsRestriction.java
|
||||
@@ -2498,6 +2862,26 @@ index 7954444a6..5c753ee7c 100644
|
||||
return !this.a.getNavigation().n();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsTarget.java
|
||||
index c38aedf62..32bd2e1ee 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsTarget.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsTarget.java
|
||||
@@ -21,6 +21,7 @@ public class PathfinderGoalMoveTowardsTarget extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
this.b = this.a.getGoalTarget();
|
||||
if (this.b == null) {
|
||||
return false;
|
||||
@@ -42,6 +43,7 @@ public class PathfinderGoalMoveTowardsTarget extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return !this.a.getNavigation().n() && this.b.isAlive() && this.b.h((Entity) this.a) < (double) (this.g * this.g);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java
|
||||
index 53399e311..d03130fcf 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java
|
||||
@@ -2510,6 +2894,50 @@ index 53399e311..d03130fcf 100644
|
||||
if (this.b > 0 && this.e.getRandom().nextInt(this.b) != 0) {
|
||||
return false;
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTargetWitch.java b/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTargetWitch.java
|
||||
index 579dc99df..5dc3f7a2d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTargetWitch.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTargetWitch.java
|
||||
@@ -17,6 +17,7 @@ public class PathfinderGoalNearestAttackableTargetWitch<T extends EntityLiving>
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.e.getRider() != null) return false; // Purpur
|
||||
return this.i && super.a();
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalNearestHealableRaider.java b/src/main/java/net/minecraft/server/PathfinderGoalNearestHealableRaider.java
|
||||
index 90eed77e1..87b9df53b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalNearestHealableRaider.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalNearestHealableRaider.java
|
||||
@@ -21,6 +21,7 @@ public class PathfinderGoalNearestHealableRaider<T extends EntityLiving> extends
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.e.getRider() != null) return false; // Purpur
|
||||
if (this.i <= 0 && this.e.getRandom().nextBoolean()) {
|
||||
if (!((EntityRaider) this.e).el()) {
|
||||
return false;
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalNearestVillage.java b/src/main/java/net/minecraft/server/PathfinderGoalNearestVillage.java
|
||||
index 39789afcf..68bf134c7 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalNearestVillage.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalNearestVillage.java
|
||||
@@ -19,6 +19,7 @@ public class PathfinderGoalNearestVillage extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.a.isVehicle()) {
|
||||
return false;
|
||||
} else if (this.a.world.J()) {
|
||||
@@ -44,6 +45,7 @@ public class PathfinderGoalNearestVillage extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.c != null && !this.a.getNavigation().n() && this.a.getNavigation().h().equals(this.c);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalOcelotAttack.java b/src/main/java/net/minecraft/server/PathfinderGoalOcelotAttack.java
|
||||
index bf52ecc40..2bb7e0c1e 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalOcelotAttack.java
|
||||
@@ -2530,6 +2958,100 @@ index bf52ecc40..2bb7e0c1e 100644
|
||||
return !this.c.isAlive() ? false : (this.b.h((Entity) this.c) > 225.0D ? false : !this.b.getNavigation().n() || this.a());
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalOfferFlower.java b/src/main/java/net/minecraft/server/PathfinderGoalOfferFlower.java
|
||||
index 59822905a..f35318926 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalOfferFlower.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalOfferFlower.java
|
||||
@@ -16,6 +16,7 @@ public class PathfinderGoalOfferFlower extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.b.getRider() != null) return false; // Purpur
|
||||
if (!this.b.world.J()) {
|
||||
return false;
|
||||
} else if (this.b.getRandom().nextInt(8000) != 0) {
|
||||
@@ -28,6 +29,7 @@ public class PathfinderGoalOfferFlower extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.b.getRider() != null) return false; // Purpur
|
||||
return this.d > 0;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalOwnerHurtByTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalOwnerHurtByTarget.java
|
||||
index 3b3274ae5..dcc8f04be 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalOwnerHurtByTarget.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalOwnerHurtByTarget.java
|
||||
@@ -16,6 +16,7 @@ public class PathfinderGoalOwnerHurtByTarget extends PathfinderGoalTarget {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.a.isTamed() && !this.a.isSitting()) {
|
||||
EntityLiving entityliving = this.a.getOwner();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalOwnerHurtTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalOwnerHurtTarget.java
|
||||
index eca8d3236..63cfd57d8 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalOwnerHurtTarget.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalOwnerHurtTarget.java
|
||||
@@ -16,6 +16,7 @@ public class PathfinderGoalOwnerHurtTarget extends PathfinderGoalTarget {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.a.isTamed() && !this.a.isSitting()) {
|
||||
EntityLiving entityliving = this.a.getOwner();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalPanic.java b/src/main/java/net/minecraft/server/PathfinderGoalPanic.java
|
||||
index f399683b7..33b616a60 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalPanic.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalPanic.java
|
||||
@@ -19,6 +19,7 @@ public class PathfinderGoalPanic extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.a.getLastDamager() == null && !this.a.isBurning()) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -57,6 +58,7 @@ public class PathfinderGoalPanic extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
// CraftBukkit start - introduce a temporary timeout hack until this is fixed properly
|
||||
if ((this.a.ticksLived - this.a.hurtTimestamp) > 100) {
|
||||
this.a.setLastDamager((EntityLiving) null);
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalPerch.java b/src/main/java/net/minecraft/server/PathfinderGoalPerch.java
|
||||
index af4dc4345..de33a50ab 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalPerch.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalPerch.java
|
||||
@@ -12,6 +12,7 @@ public class PathfinderGoalPerch extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
EntityPlayer entityplayer = (EntityPlayer) this.a.getOwner();
|
||||
boolean flag = entityplayer != null && !entityplayer.isSpectator() && !entityplayer.abilities.isFlying && !entityplayer.isInWater();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRaid.java b/src/main/java/net/minecraft/server/PathfinderGoalRaid.java
|
||||
index 51d101f11..757144814 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalRaid.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalRaid.java
|
||||
@@ -18,11 +18,13 @@ public class PathfinderGoalRaid<T extends EntityRaider> extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a.getGoalTarget() == null && !this.a.isVehicle() && this.a.el() && !this.a.ek().a() && !((WorldServer) this.a.world).b_(new BlockPosition(this.a));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a.el() && !this.a.ek().a() && this.a.world instanceof WorldServer && !((WorldServer) this.a.world).b_(new BlockPosition(this.a));
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRandomLookaround.java b/src/main/java/net/minecraft/server/PathfinderGoalRandomLookaround.java
|
||||
index 316205ebf..8cc9f4fe1 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalRandomLookaround.java
|
||||
@@ -2586,6 +3108,30 @@ index f572f3367..218c35bf7 100644
|
||||
return this.d != null ? this.d.a(this.e, this.c) : super.b();
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
|
||||
index b1457526e..c0dd24d33 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java
|
||||
@@ -23,6 +23,7 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.entity.getRider() != null) return false; // Purpur
|
||||
if (!this.entity.world.getGameRules().getBoolean("mobGriefing")) {
|
||||
return false;
|
||||
} else if (this.c > 0) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRestrictSun.java b/src/main/java/net/minecraft/server/PathfinderGoalRestrictSun.java
|
||||
index e964907b0..b8fa65560 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalRestrictSun.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalRestrictSun.java
|
||||
@@ -10,6 +10,7 @@ public class PathfinderGoalRestrictSun extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a.world.J() && this.a.getEquipment(EnumItemSlot.HEAD).isEmpty() && this.a.getNavigation() instanceof Navigation;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSit.java b/src/main/java/net/minecraft/server/PathfinderGoalSit.java
|
||||
index 211602083..cdb1393bf 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalSit.java
|
||||
@@ -2604,6 +3150,38 @@ index 211602083..cdb1393bf 100644
|
||||
if (!this.entity.isTamed()) {
|
||||
return this.willSit && this.entity.getGoalTarget() == null; // CraftBukkit - Allow sitting for wild animals
|
||||
} else if (this.entity.au()) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalStrollVillage.java b/src/main/java/net/minecraft/server/PathfinderGoalStrollVillage.java
|
||||
index 3a081935f..9e0c58629 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalStrollVillage.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalStrollVillage.java
|
||||
@@ -10,6 +10,7 @@ public class PathfinderGoalStrollVillage extends PathfinderGoalRandomStroll {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
WorldServer worldserver = (WorldServer) this.a.world;
|
||||
BlockPosition blockposition = new BlockPosition(this.a);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalTame.java b/src/main/java/net/minecraft/server/PathfinderGoalTame.java
|
||||
index fc426365d..e98577f21 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalTame.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalTame.java
|
||||
@@ -18,6 +18,7 @@ public class PathfinderGoalTame extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.entity.getRider() != null) return false; // Purpur
|
||||
if (!this.entity.isTamed() && this.entity.isVehicle()) {
|
||||
Vec3D vec3d = RandomPositionGenerator.a(this.entity, 5, 4);
|
||||
|
||||
@@ -41,6 +42,7 @@ public class PathfinderGoalTame extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.entity.getRider() != null) return false; // Purpur
|
||||
return !this.entity.isTamed() && !this.entity.getNavigation().n() && this.entity.isVehicle();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalTarget.java
|
||||
index 95afc8eee..59a50e549 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalTarget.java
|
||||
@@ -2616,6 +3194,88 @@ index 95afc8eee..59a50e549 100644
|
||||
EntityLiving entityliving = this.e.getGoalTarget();
|
||||
|
||||
if (entityliving == null) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalTempt.java b/src/main/java/net/minecraft/server/PathfinderGoalTempt.java
|
||||
index d1164dd68..26efba12b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalTempt.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalTempt.java
|
||||
@@ -41,6 +41,7 @@ public class PathfinderGoalTempt extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.j > 0) {
|
||||
--this.j;
|
||||
return false;
|
||||
@@ -66,6 +67,7 @@ public class PathfinderGoalTempt extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (this.g()) {
|
||||
if (this.a.h((Entity) this.target) < 36.0D) {
|
||||
if (this.target.e(this.e, this.f, this.g) > 0.010000000000000002D) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalTradeWithPlayer.java b/src/main/java/net/minecraft/server/PathfinderGoalTradeWithPlayer.java
|
||||
index 9d37bd1a8..0ead41f0d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalTradeWithPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalTradeWithPlayer.java
|
||||
@@ -13,6 +13,7 @@ public class PathfinderGoalTradeWithPlayer extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
if (!this.a.isAlive()) {
|
||||
return false;
|
||||
} else if (this.a.isInWater()) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalUseItem.java b/src/main/java/net/minecraft/server/PathfinderGoalUseItem.java
|
||||
index e6c5b968b..c9f3680ba 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalUseItem.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalUseItem.java
|
||||
@@ -19,11 +19,13 @@ public class PathfinderGoalUseItem<T extends EntityInsentient> extends Pathfinde
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.c.test(this.a);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a.isHandRaised();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalWater.java b/src/main/java/net/minecraft/server/PathfinderGoalWater.java
|
||||
index 65b6bcdbd..fbc36ff7a 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalWater.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalWater.java
|
||||
@@ -12,6 +12,7 @@ public class PathfinderGoalWater extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.a.getRider() != null) return false; // Purpur
|
||||
return this.a.onGround && !this.a.world.getFluid(new BlockPosition(this.a)).a(TagsFluid.WATER);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalWaterJump.java b/src/main/java/net/minecraft/server/PathfinderGoalWaterJump.java
|
||||
index a2fc2cd80..8f064526b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalWaterJump.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalWaterJump.java
|
||||
@@ -14,6 +14,7 @@ public class PathfinderGoalWaterJump extends PathfinderGoalWaterJumpAbstract {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (this.b.getRider() != null) return false; // Purpur
|
||||
if (this.b.getRandom().nextInt(this.c) != 0) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -48,6 +49,7 @@ public class PathfinderGoalWaterJump extends PathfinderGoalWaterJumpAbstract {
|
||||
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (this.b.getRider() != null) return false; // Purpur
|
||||
double d0 = this.b.getMot().y;
|
||||
|
||||
return (d0 * d0 >= 0.029999999329447746D || this.b.pitch == 0.0F || Math.abs(this.b.pitch) >= 10.0F || !this.b.isInWater()) && !this.b.onGround;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 8f3367ae1..1f8e83110 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
|
||||
Reference in New Issue
Block a user