mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 35403d1858efe17b7c06d9e140bb07172191be25 Mon Sep 17 00:00:00 2001
|
||||
From c10b2b1a786a5b0fc07c60b9665db2e502a51492 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Sun, 21 Jul 2019 18:06:20 -0500
|
||||
Subject: [PATCH] Climbing should not bypass cramming gamerule
|
||||
@@ -73,10 +73,10 @@ index fdf306e80..563fc8ced 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
index e7ba83f32..55e18e4c7 100644
|
||||
index f31cb0554..0ecdea671 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
@@ -188,7 +188,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
@@ -181,7 +181,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 25a125f8ba5cf577c9b5550d77eb62d321022b22 Mon Sep 17 00:00:00 2001
|
||||
From 30b16e3582f794fd004dc65a83a91cef2951cc93 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Sun, 5 May 2019 12:58:45 -0500
|
||||
Subject: [PATCH] Implement LivingEntity safeFallDistance
|
||||
@@ -25,10 +25,10 @@ index 4296aaa07..a2e3e6001 100644
|
||||
|
||||
// Purpur start
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
index 55e18e4c7..b14f67b3a 100644
|
||||
index 0ecdea671..e099ef9a0 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
@@ -229,7 +229,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
@@ -222,7 +222,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
|
||||
@Override
|
||||
protected int e(float f, float f1) {
|
||||
@@ -38,7 +38,7 @@ index 55e18e4c7..b14f67b3a 100644
|
||||
|
||||
protected int getChestSlots() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 006b498fd..c6a6befdc 100644
|
||||
index 0f8ba92a8..d6751e3cc 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -125,6 +125,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -59,7 +59,7 @@ index 006b498fd..c6a6befdc 100644
|
||||
|
||||
protected void cZ() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 8ffa3cb05..3dd0faea7 100644
|
||||
index 245bd116d..4c16f96ab 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -739,4 +739,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 6a7bfa1e3b358bef374f994a8642a15e52c4a863 Mon Sep 17 00:00:00 2001
|
||||
From 1aec2aadfca3245b44957a3484e6d1343a17c2f6 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Fri, 18 Oct 2019 22:50:12 -0500
|
||||
Subject: [PATCH] Add more llama API
|
||||
@@ -10,7 +10,7 @@ Subject: [PATCH] Add more llama API
|
||||
3 files changed, 61 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
index 7a4e64a3d..576179756 100644
|
||||
index c5f87cbdd..082aac258 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
@@ -12,7 +12,8 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -45,7 +45,7 @@ index 7a4e64a3d..576179756 100644
|
||||
this.eI();
|
||||
}
|
||||
|
||||
@@ -427,19 +432,24 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -413,19 +418,24 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ index 7a4e64a3d..576179756 100644
|
||||
public boolean fc() {
|
||||
return this.bK != null;
|
||||
}
|
||||
@@ -450,7 +460,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -436,7 +446,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
Reference in New Issue
Block a user