mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 18:07:43 +01:00
Fix multiple issues with phantoms
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
From 93bd02ed77297b7123ec4b9208f2bd43d5a7d827 Mon Sep 17 00:00:00 2001
|
From 08ce7fec031b626b24d380cac2563cf331672249 Mon Sep 17 00:00:00 2001
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||||
Date: Thu, 6 Feb 2020 19:53:59 -0600
|
Date: Thu, 6 Feb 2020 19:53:59 -0600
|
||||||
Subject: [PATCH] Ridables
|
Subject: [PATCH] Ridables
|
||||||
@@ -47,7 +47,7 @@ Subject: [PATCH] Ridables
|
|||||||
.../net/minecraft/server/EntityOcelot.java | 19 +
|
.../net/minecraft/server/EntityOcelot.java | 19 +
|
||||||
.../net/minecraft/server/EntityPanda.java | 47 +-
|
.../net/minecraft/server/EntityPanda.java | 47 +-
|
||||||
.../net/minecraft/server/EntityParrot.java | 69 ++-
|
.../net/minecraft/server/EntityParrot.java | 69 ++-
|
||||||
.../net/minecraft/server/EntityPhantom.java | 56 +-
|
.../net/minecraft/server/EntityPhantom.java | 59 +-
|
||||||
.../java/net/minecraft/server/EntityPig.java | 48 +-
|
.../java/net/minecraft/server/EntityPig.java | 48 +-
|
||||||
.../net/minecraft/server/EntityPigZombie.java | 17 +
|
.../net/minecraft/server/EntityPigZombie.java | 17 +
|
||||||
.../net/minecraft/server/EntityPillager.java | 19 +
|
.../net/minecraft/server/EntityPillager.java | 19 +
|
||||||
@@ -95,7 +95,7 @@ Subject: [PATCH] Ridables
|
|||||||
.../controller/ControllerMoveWASDWater.java | 43 ++
|
.../controller/ControllerMoveWASDWater.java | 43 ++
|
||||||
.../pathfinder/PathfinderGoalHasRider.java | 21 +
|
.../pathfinder/PathfinderGoalHasRider.java | 21 +
|
||||||
.../craftbukkit/entity/CraftEntity.java | 27 +
|
.../craftbukkit/entity/CraftEntity.java | 27 +
|
||||||
91 files changed, 3032 insertions(+), 194 deletions(-)
|
91 files changed, 3035 insertions(+), 194 deletions(-)
|
||||||
create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java
|
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/ControllerMoveWASD.java
|
||||||
create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java
|
create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java
|
||||||
@@ -2657,7 +2657,7 @@ index 1402087612..95b786a5a6 100644
|
|||||||
this.goalSelector.a(2, this.goalSit);
|
this.goalSelector.a(2, this.goalSit);
|
||||||
this.goalSelector.a(2, new PathfinderGoalFollowOwner(this, 1.0D, 5.0F, 1.0F, true));
|
this.goalSelector.a(2, new PathfinderGoalFollowOwner(this, 1.0D, 5.0F, 1.0F, true));
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||||
index 90eeddb1af..954edf73f7 100644
|
index 90eeddb1af..850d5efff1 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
|
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
|
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||||
@@ -22,6 +22,28 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -22,6 +22,28 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
@@ -2718,7 +2718,31 @@ index 90eeddb1af..954edf73f7 100644
|
|||||||
this.setOnFire(8);
|
this.setOnFire(8);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -447,14 +472,23 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -215,6 +240,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean a() {
|
||||||
|
+ if (getRider() != null) return false; // Purpur - pathfinder does not have a flag
|
||||||
|
if (this.c > 0) {
|
||||||
|
--this.c;
|
||||||
|
return false;
|
||||||
|
@@ -244,6 +270,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean b() {
|
||||||
|
+ if (getRider() != null) return false; // Purpur - pathfinder does not have a flag
|
||||||
|
EntityLiving entityliving = EntityPhantom.this.getGoalTarget();
|
||||||
|
|
||||||
|
return entityliving != null ? EntityPhantom.this.a(entityliving, PathfinderTargetCondition.a) : false;
|
||||||
|
@@ -258,6 +285,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean a() {
|
||||||
|
+ if (getRider() != null) return false; // Purpur - pathfinder does not have a flag
|
||||||
|
EntityLiving entityliving = EntityPhantom.this.getGoalTarget();
|
||||||
|
|
||||||
|
return entityliving != null ? EntityPhantom.this.a(EntityPhantom.this.getGoalTarget(), PathfinderTargetCondition.a) : false;
|
||||||
|
@@ -447,14 +475,23 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2744,7 +2768,7 @@ index 90eeddb1af..954edf73f7 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
class d extends EntityAIBodyControl {
|
class d extends EntityAIBodyControl {
|
||||||
@@ -470,7 +504,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -470,7 +507,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2753,7 +2777,7 @@ index 90eeddb1af..954edf73f7 100644
|
|||||||
|
|
||||||
private float j = 0.1F;
|
private float j = 0.1F;
|
||||||
|
|
||||||
@@ -479,7 +513,19 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -479,7 +516,19 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From af3a9b799fd16d9eaa22aaed6a4981bde0861e86 Mon Sep 17 00:00:00 2001
|
From 71fcbab5c7496fbaaddf8d398ae6d7dd26590a9f Mon Sep 17 00:00:00 2001
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||||
Date: Fri, 29 Nov 2019 20:33:41 -0600
|
Date: Fri, 29 Nov 2019 20:33:41 -0600
|
||||||
Subject: [PATCH] Phantoms only attack insomniacs
|
Subject: [PATCH] Phantoms only attack insomniacs
|
||||||
@@ -10,10 +10,10 @@ Subject: [PATCH] Phantoms only attack insomniacs
|
|||||||
3 files changed, 4 insertions(+)
|
3 files changed, 4 insertions(+)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||||
index 954edf73f7..4bd9ea63b9 100644
|
index 850d5efff1..bbbb6e601b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
|
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
|
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||||
@@ -257,6 +257,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -258,6 +258,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
EntityHuman entityhuman = (EntityHuman) iterator.next();
|
EntityHuman entityhuman = (EntityHuman) iterator.next();
|
||||||
|
|
||||||
if (EntityPhantom.this.a((EntityLiving) entityhuman, PathfinderTargetCondition.a)) {
|
if (EntityPhantom.this.a((EntityLiving) entityhuman, PathfinderTargetCondition.a)) {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
From c7ad30ef7fead11565164b8c1c8a2b866ccca031 Mon Sep 17 00:00:00 2001
|
From 0cb18f1bf59e372cf29c3487eb1d375574ad8df9 Mon Sep 17 00:00:00 2001
|
||||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||||
Date: Thu, 9 May 2019 18:26:06 -0500
|
Date: Thu, 9 May 2019 18:26:06 -0500
|
||||||
Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
|
Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
|
||||||
@@ -7,10 +7,10 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
|
|||||||
.../net/minecraft/server/DamageSource.java | 1 +
|
.../net/minecraft/server/DamageSource.java | 1 +
|
||||||
.../java/net/minecraft/server/Entity.java | 8 +-
|
.../java/net/minecraft/server/Entity.java | 8 +-
|
||||||
.../minecraft/server/EntityEnderCrystal.java | 49 +++++
|
.../minecraft/server/EntityEnderCrystal.java | 49 +++++
|
||||||
.../net/minecraft/server/EntityPhantom.java | 176 +++++++++++++++++-
|
.../net/minecraft/server/EntityPhantom.java | 174 +++++++++++++++++-
|
||||||
.../net/minecraft/server/IEntityAccess.java | 1 +
|
.../net/minecraft/server/IEntityAccess.java | 1 +
|
||||||
.../net/pl3x/purpur/PurpurWorldConfig.java | 6 +
|
.../net/pl3x/purpur/PurpurWorldConfig.java | 6 +
|
||||||
6 files changed, 228 insertions(+), 13 deletions(-)
|
6 files changed, 228 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/DamageSource.java b/src/main/java/net/minecraft/server/DamageSource.java
|
diff --git a/src/main/java/net/minecraft/server/DamageSource.java b/src/main/java/net/minecraft/server/DamageSource.java
|
||||||
index 816d301f1c..0971f25b56 100644
|
index 816d301f1c..0971f25b56 100644
|
||||||
@@ -123,7 +123,7 @@ index a57d0089d8..02952c3af8 100644
|
|||||||
@Override
|
@Override
|
||||||
protected void b(NBTTagCompound nbttagcompound) {
|
protected void b(NBTTagCompound nbttagcompound) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||||
index 4bd9ea63b9..9cae8885d2 100644
|
index bbbb6e601b..964c043eb1 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
|
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
|
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||||
@@ -8,9 +8,10 @@ import javax.annotation.Nullable;
|
@@ -8,9 +8,10 @@ import javax.annotation.Nullable;
|
||||||
@@ -327,32 +327,30 @@ index 4bd9ea63b9..9cae8885d2 100644
|
|||||||
class b extends PathfinderGoal {
|
class b extends PathfinderGoal {
|
||||||
|
|
||||||
private final PathfinderTargetCondition b;
|
private final PathfinderTargetCondition b;
|
||||||
@@ -236,6 +393,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
@@ -241,6 +398,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
private b() {
|
|
||||||
this.b = (new PathfinderTargetCondition()).a(64.0D);
|
|
||||||
this.c = 20;
|
|
||||||
+ this.a(EnumSet.of(PathfinderGoal.Type.TARGET)); // Purpur
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@@ -280,7 +438,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
|
||||||
|
|
||||||
private int b;
|
|
||||||
|
|
||||||
- private c() {}
|
|
||||||
+ private c() { this.a(EnumSet.of(PathfinderGoal.Type.MOVE, PathfinderGoal.Type.LOOK)); } // Purpur
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean a() {
|
public boolean a() {
|
||||||
@@ -465,7 +623,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
if (getRider() != null) return false; // Purpur - pathfinder does not have a flag
|
||||||
abstract class h extends PathfinderGoal {
|
+ if (isCirclingCrystal()) return false; // Purpur - pathfinder does not have a flag
|
||||||
|
if (this.c > 0) {
|
||||||
|
--this.c;
|
||||||
|
return false;
|
||||||
|
@@ -272,6 +430,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
|
@Override
|
||||||
|
public boolean b() {
|
||||||
|
if (getRider() != null) return false; // Purpur - pathfinder does not have a flag
|
||||||
|
+ if (isCirclingCrystal()) return false; // Purpur - pathfinder does not have a flag
|
||||||
|
EntityLiving entityliving = EntityPhantom.this.getGoalTarget();
|
||||||
|
|
||||||
public h() {
|
return entityliving != null ? EntityPhantom.this.a(entityliving, PathfinderTargetCondition.a) : false;
|
||||||
- this.a(EnumSet.of(PathfinderGoal.Type.MOVE));
|
@@ -287,6 +446,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
||||||
+ this.a(EnumSet.of(PathfinderGoal.Type.MOVE, PathfinderGoal.Type.LOOK));
|
@Override
|
||||||
}
|
public boolean a() {
|
||||||
|
if (getRider() != null) return false; // Purpur - pathfinder does not have a flag
|
||||||
|
+ if (isCirclingCrystal()) return false; // Purpur - pathfinder does not have a flag
|
||||||
|
EntityLiving entityliving = EntityPhantom.this.getGoalTarget();
|
||||||
|
|
||||||
protected boolean g() {
|
return entityliving != null ? EntityPhantom.this.a(EntityPhantom.this.getGoalTarget(), PathfinderTargetCondition.a) : false;
|
||||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||||
index 4157e50e4d..774ec96f0a 100644
|
index 4157e50e4d..774ec96f0a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
From e73d5d6a8519d763d801f66c0bb7098e83dafdbd Mon Sep 17 00:00:00 2001
|
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
||||||
Date: Tue, 18 Feb 2020 20:09:30 -0600
|
|
||||||
Subject: [PATCH] Fix a possible NPE for lukeeexd
|
|
||||||
|
|
||||||
---
|
|
||||||
src/main/java/net/minecraft/server/EntityPhantom.java | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
|
|
||||||
index 9cae8885d2..8d22fd2f50 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
|
|
||||||
@@ -474,7 +474,8 @@ public class EntityPhantom extends EntityFlying implements IMonster {
|
|
||||||
}
|
|
||||||
|
|
||||||
private void g() {
|
|
||||||
- EntityPhantom.this.d = (new BlockPosition(EntityPhantom.this.getGoalTarget())).up(20 + EntityPhantom.this.random.nextInt(20));
|
|
||||||
+ EntityLiving target = EntityPhantom.this.getGoalTarget(); if (target == null) return; // Purpur - this _shouldn't_ be needed at all...
|
|
||||||
+ EntityPhantom.this.d = (new BlockPosition(target)).up(20 + EntityPhantom.this.random.nextInt(20)); // Purpur
|
|
||||||
if (EntityPhantom.this.d.getY() < EntityPhantom.this.world.getSeaLevel()) {
|
|
||||||
EntityPhantom.this.d = new BlockPosition(EntityPhantom.this.d.getX(), EntityPhantom.this.world.getSeaLevel() + 1, EntityPhantom.this.d.getZ());
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.24.0
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user