Cleanup 'nerfed spawner mobs can float' patch
This commit is contained in:
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow nerfed mobs to jump
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
index 7b2b95dfa..021c01b2b 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||
@@ -18,15 +18,26 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ nerfedMobsShouldJump = getBoolean("spawner-nerfed-mobs-should-jump", false);
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/ControllerJump.java b/src/main/java/net/minecraft/server/ControllerJump.java
|
||||
index 4f2fa59ac..8af52a61f 100644
|
||||
--- a/src/main/java/net/minecraft/server/ControllerJump.java
|
||||
+++ b/src/main/java/net/minecraft/server/ControllerJump.java
|
||||
@@ -0,0 +0,0 @@ public class ControllerJump {
|
||||
this.a = true;
|
||||
}
|
||||
|
||||
+ public void jumpIfSet() { this.b(); } // Paper - OBFHELPER
|
||||
public void b() {
|
||||
this.b.l(this.a);
|
||||
this.a = false;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
index 7430fe4ce..59654bcc9 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
private boolean bD;
|
||||
private Entity leashHolder;
|
||||
private NBTTagCompound bF;
|
||||
+ private NBTTagCompound bG;
|
||||
+ public PathfinderGoalFloat goalFloat; // Paper
|
||||
|
||||
public EntityInsentient(World world) {
|
||||
@@ -37,23 +48,33 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
{
|
||||
+ // Paper start - Allow nerfed mobs to jump and float
|
||||
+ if (goalFloat != null) {
|
||||
+ if (goalFloat.a()) goalFloat.e();
|
||||
+ this.g.b();
|
||||
+ if (goalFloat.validConditions()) goalFloat.update();
|
||||
+ this.getControllerJump().jumpIfSet();
|
||||
+ }
|
||||
+ // Paper end
|
||||
return;
|
||||
}
|
||||
// Spigot End
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
index e3b405856..2d27aa63a 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java
|
||||
@@ -0,0 +0,0 @@ public class PathfinderGoalFloat extends PathfinderGoal {
|
||||
|
||||
public PathfinderGoalFloat(EntityInsentient entityinsentient) {
|
||||
this.a = entityinsentient;
|
||||
+ if (entityinsentient.getWorld().paperConfig.nerfedMobsShouldJump) entityinsentient.goalFloat = this; // Paper
|
||||
+ if (entityinsentient.fromMobSpawner && entityinsentient.getWorld().paperConfig.nerfedMobsShouldJump) entityinsentient.goalFloat = this; // Paper
|
||||
this.a(4);
|
||||
((Navigation) entityinsentient.getNavigation()).c(true);
|
||||
}
|
||||
|
||||
+ public boolean validConditions() { return this.a(); } // Paper - OBFHELPER
|
||||
public boolean a() {
|
||||
return this.a.isInWater() || this.a.ao();
|
||||
}
|
||||
|
||||
+ public void update() { this.e(); } // Paper - OBFHELPER
|
||||
public void e() {
|
||||
if (this.a.getRandom().nextFloat() < 0.8F) {
|
||||
this.a.getControllerJump().a();
|
||||
--
|
||||
Reference in New Issue
Block a user