mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 00:47:42 +01:00
Remove anonymous classes for horse/llama pathfinders
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
From 84b8fe88a684f32494286c90864dadfe9617502b Mon Sep 17 00:00:00 2001
|
||||
From b38d49c4521e69aad41951622616d80d2ef017d7 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Thu, 6 Feb 2020 19:53:59 -0600
|
||||
Subject: [PATCH] Ridables
|
||||
|
||||
---
|
||||
.../paper/entity/ai/MobGoalHelper.java | 5 +
|
||||
.../net/minecraft/server/AxisAlignedBB.java | 2 +
|
||||
.../server/ControllerLookDolphin.java | 4 +-
|
||||
.../net/minecraft/server/ControllerMove.java | 6 +-
|
||||
@@ -34,7 +33,7 @@ Subject: [PATCH] Ridables
|
||||
.../net/minecraft/server/EntityGuardian.java | 47 +-
|
||||
.../minecraft/server/EntityGuardianElder.java | 17 +
|
||||
.../net/minecraft/server/EntityHorse.java | 7 +
|
||||
.../minecraft/server/EntityHorseAbstract.java | 29 +-
|
||||
.../minecraft/server/EntityHorseAbstract.java | 22 +-
|
||||
.../minecraft/server/EntityHorseDonkey.java | 7 +
|
||||
.../net/minecraft/server/EntityHorseMule.java | 7 +
|
||||
.../minecraft/server/EntityHorseSkeleton.java | 16 +-
|
||||
@@ -44,7 +43,7 @@ Subject: [PATCH] Ridables
|
||||
.../minecraft/server/EntityInsentient.java | 48 +-
|
||||
.../net/minecraft/server/EntityIronGolem.java | 23 +-
|
||||
.../net/minecraft/server/EntityLiving.java | 21 +-
|
||||
.../net/minecraft/server/EntityLlama.java | 64 +-
|
||||
.../net/minecraft/server/EntityLlama.java | 50 +-
|
||||
.../minecraft/server/EntityLlamaTrader.java | 23 +
|
||||
.../net/minecraft/server/EntityMagmaCube.java | 17 +
|
||||
.../minecraft/server/EntityMushroomCow.java | 17 +
|
||||
@@ -102,9 +101,10 @@ Subject: [PATCH] Ridables
|
||||
.../net/pl3x/purpur/entity/DolphinSpit.java | 119 ++++
|
||||
.../net/pl3x/purpur/entity/PhantomFlames.java | 126 ++++
|
||||
.../pathfinder/PathfinderGoalHasRider.java | 21 +
|
||||
.../PathfinderGoalHorseHasRider.java | 21 +
|
||||
.../craftbukkit/entity/CraftEntity.java | 27 +
|
||||
src/main/resources/purpur.lang | 4 +-
|
||||
100 files changed, 3627 insertions(+), 211 deletions(-)
|
||||
100 files changed, 3622 insertions(+), 211 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
|
||||
@@ -113,23 +113,8 @@ Subject: [PATCH] Ridables
|
||||
create mode 100644 src/main/java/net/pl3x/purpur/entity/DolphinSpit.java
|
||||
create mode 100644 src/main/java/net/pl3x/purpur/entity/PhantomFlames.java
|
||||
create mode 100644 src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java
|
||||
create mode 100644 src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
|
||||
index d6ee94107..0ab87b458 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
|
||||
@@ -118,6 +118,11 @@ public class MobGoalHelper {
|
||||
ignored.add("selector_1");
|
||||
ignored.add("selector_2");
|
||||
ignored.add("wrapped");
|
||||
+ // Purpur start
|
||||
+ ignored.add("horse_abstract_1");
|
||||
+ ignored.add("llama_3");
|
||||
+ ignored.add("llama_4");
|
||||
+ // Purpur end
|
||||
|
||||
bukkitMap.put(EntityInsentient.class, Mob.class);
|
||||
bukkitMap.put(EntityAgeable.class, Ageable.class);
|
||||
diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java
|
||||
index 3fdb52007..7e67292c2 100644
|
||||
--- a/src/main/java/net/minecraft/server/AxisAlignedBB.java
|
||||
@@ -2138,10 +2123,10 @@ index a6fb4ba5b..98b1e9375 100644
|
||||
protected void initDatawatcher() {
|
||||
super.initDatawatcher();
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
index c56efe035..e7ba83f32 100644
|
||||
index c56efe035..f31cb0554 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
@@ -38,12 +38,39 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
@@ -38,12 +38,32 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
|
||||
protected EntityHorseAbstract(EntityTypes<? extends EntityHorseAbstract> entitytypes, World world) {
|
||||
super(entitytypes, world);
|
||||
@@ -2170,23 +2155,16 @@ index c56efe035..e7ba83f32 100644
|
||||
+
|
||||
@Override
|
||||
protected void initPathfinder() {
|
||||
+ // Purpur start
|
||||
+ this.goalSelector.a(0, new net.pl3x.purpur.pathfinder.PathfinderGoalHasRider(this) {
|
||||
+ @Override
|
||||
+ public boolean a() {
|
||||
+ return entity.getRidingPassenger() instanceof EntityHuman && isSaddled();
|
||||
+ }
|
||||
+ });
|
||||
+ // Purpur
|
||||
+ this.goalSelector.a(0, new net.pl3x.purpur.pathfinder.PathfinderGoalHorseHasRider(this)); // Purpur
|
||||
this.goalSelector.a(1, new PathfinderGoalPanic(this, 1.2D));
|
||||
this.goalSelector.a(1, new PathfinderGoalTame(this, 1.2D));
|
||||
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D, EntityHorseAbstract.class));
|
||||
@@ -281,7 +308,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
@@ -281,7 +301,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
return true;
|
||||
}
|
||||
|
||||
- public boolean eL() {
|
||||
+ public boolean eL() { return isSaddled(); } boolean isSaddled() { // Purpur - OBFHELPER
|
||||
+ public boolean eL() { return isSaddled(); } public boolean isSaddled() { // Purpur - OBFHELPER
|
||||
return this.t(4);
|
||||
}
|
||||
|
||||
@@ -2586,10 +2564,10 @@ index 3fc2360a1..58aa2a9a3 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
index 193dbfc5f..7a4e64a3d 100644
|
||||
index 193dbfc5f..c5f87cbdd 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
@@ -16,8 +16,47 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -16,7 +16,46 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
|
||||
public EntityLlama(EntityTypes<? extends EntityLlama> entitytypes, World world) {
|
||||
super(entitytypes, world);
|
||||
@@ -2626,48 +2604,33 @@ index 193dbfc5f..7a4e64a3d 100644
|
||||
+ @Override
|
||||
+ public boolean isRidableInWater() {
|
||||
+ return world.purpurConfig.llamaRidableInWater;
|
||||
}
|
||||
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean requireShiftToMount() {
|
||||
+ return false; // shift reserved for opening inventory
|
||||
+ }
|
||||
}
|
||||
+ // Purpur end
|
||||
+
|
||||
|
||||
public void setStrength(int i) {
|
||||
this.datawatcher.set(EntityLlama.bF, Math.max(1, Math.min(5, i)));
|
||||
}
|
||||
@@ -58,6 +97,14 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -58,6 +97,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@Override
|
||||
protected void initPathfinder() {
|
||||
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
||||
+ // Purpur start
|
||||
+ this.goalSelector.a(0, new net.pl3x.purpur.pathfinder.PathfinderGoalHasRider(this) {
|
||||
+ @Override
|
||||
+ public boolean a() {
|
||||
+ return super.a() && isSaddled();
|
||||
+ }
|
||||
+ });
|
||||
+ // Purpur end
|
||||
+ this.goalSelector.a(0, new net.pl3x.purpur.pathfinder.PathfinderGoalHorseHasRider(this)); // Purpur
|
||||
this.goalSelector.a(1, new PathfinderGoalTame(this, 1.2D));
|
||||
this.goalSelector.a(2, new PathfinderGoalLlamaFollow(this, 2.0999999046325684D));
|
||||
this.goalSelector.a(3, new PathfinderGoalArrowAttack(this, 1.25D, 40, 20.0F));
|
||||
@@ -67,6 +114,14 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -67,6 +107,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
this.goalSelector.a(6, new PathfinderGoalRandomStrollLand(this, 0.7D));
|
||||
this.goalSelector.a(7, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F));
|
||||
this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this));
|
||||
+ // Purpur start
|
||||
+ this.targetSelector.a(0, new net.pl3x.purpur.pathfinder.PathfinderGoalHasRider(this) {
|
||||
+ @Override
|
||||
+ public boolean a() {
|
||||
+ return entity.getRidingPassenger() instanceof EntityHuman && isSaddled();
|
||||
+ }
|
||||
+ });
|
||||
+ // Purpur end
|
||||
+ this.targetSelector.a(0, new net.pl3x.purpur.pathfinder.PathfinderGoalHorseHasRider(this)); // Purpur
|
||||
this.targetSelector.a(1, new EntityLlama.c(this));
|
||||
this.targetSelector.a(2, new EntityLlama.a(this));
|
||||
}
|
||||
@@ -253,6 +308,13 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -253,6 +294,13 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2681,7 +2644,7 @@ index 193dbfc5f..7a4e64a3d 100644
|
||||
@Override
|
||||
public void a(IInventory iinventory) {
|
||||
EnumColor enumcolor = this.eZ();
|
||||
@@ -286,7 +348,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -286,7 +334,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -6526,6 +6489,33 @@ index 000000000..6e50344c0
|
||||
+ return entity.hasRider();
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java
|
||||
new file mode 100644
|
||||
index 000000000..9bb9da22a
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java
|
||||
@@ -0,0 +1,21 @@
|
||||
+package net.pl3x.purpur.pathfinder;
|
||||
+
|
||||
+import net.minecraft.server.EntityHorseAbstract;
|
||||
+import net.minecraft.server.PathfinderGoal;
|
||||
+
|
||||
+import java.util.EnumSet;
|
||||
+
|
||||
+public class PathfinderGoalHorseHasRider extends PathfinderGoal {
|
||||
+ public final EntityHorseAbstract entity;
|
||||
+
|
||||
+ public PathfinderGoalHorseHasRider(EntityHorseAbstract entity) {
|
||||
+ this.entity = entity;
|
||||
+ setTypes(EnumSet.of(Type.JUMP, Type.MOVE, Type.LOOK, Type.TARGET));
|
||||
+ }
|
||||
+
|
||||
+ // shouldExecute
|
||||
+ @Override
|
||||
+ public boolean a() {
|
||||
+ return super.a() && entity.isSaddled();
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index ff60568ce..ef64cfade 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
|
||||
Reference in New Issue
Block a user