2019-06-14 02:27:40 +00:00
|
|
|
From 02a1ec99a67ce0478e09e67f050ae89309517b33 Mon Sep 17 00:00:00 2001
|
2016-11-17 02:23:38 +00:00
|
|
|
From: Jedediah Smith <jedediah@silencegreys.com>
|
|
|
|
Date: Tue, 1 Mar 2016 14:47:52 -0600
|
|
|
|
Subject: [PATCH] Player affects spawning API
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
2019-06-14 02:27:40 +00:00
|
|
|
index 28791cca90..418e2fccdc 100644
|
2016-11-17 02:23:38 +00:00
|
|
|
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
2019-04-24 01:00:24 +00:00
|
|
|
@@ -70,6 +70,9 @@ public abstract class EntityHuman extends EntityLiving {
|
|
|
|
private final ItemCooldown bY;
|
2016-11-17 02:23:38 +00:00
|
|
|
@Nullable
|
|
|
|
public EntityFishingHook hookedFish;
|
2018-07-15 01:53:17 +00:00
|
|
|
+ // Paper start
|
2016-11-19 00:55:14 +00:00
|
|
|
+ public boolean affectsSpawning = true;
|
2018-07-15 01:53:17 +00:00
|
|
|
+ // Paper end
|
2016-11-17 02:23:38 +00:00
|
|
|
|
|
|
|
// CraftBukkit start
|
|
|
|
public boolean fauxSleeping;
|
2016-11-19 00:55:14 +00:00
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
2019-06-14 02:27:40 +00:00
|
|
|
index d020414f98..0ecbf873bf 100644
|
2016-11-19 00:55:14 +00:00
|
|
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
2019-05-19 03:16:22 +00:00
|
|
|
@@ -609,7 +609,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
2019-04-24 01:00:24 +00:00
|
|
|
if (!this.isPersistent() && !this.I()) {
|
2016-11-19 00:55:14 +00:00
|
|
|
EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D);
|
2016-11-17 02:23:38 +00:00
|
|
|
|
2016-11-19 00:55:14 +00:00
|
|
|
- if (entityhuman != null) {
|
|
|
|
+ if (entityhuman != null && entityhuman.affectsSpawning) { // Paper - Affects Spawning API
|
2019-04-24 01:00:24 +00:00
|
|
|
double d0 = entityhuman.h(this);
|
|
|
|
|
|
|
|
if (d0 > world.paperConfig.hardDespawnDistance) { // CraftBukkit - remove isTypeNotPersistent() check // Paper - custom despawn distances
|
2016-11-19 00:55:14 +00:00
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
|
2019-06-14 02:27:40 +00:00
|
|
|
index dbbc34d91b..d823c6b6d9 100644
|
2016-11-19 00:55:14 +00:00
|
|
|
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
|
2019-04-24 01:00:24 +00:00
|
|
|
@@ -106,7 +106,7 @@ public class EntitySilverfish extends EntityMonster {
|
|
|
|
if (super.a(generatoraccess, enummobspawn)) {
|
|
|
|
EntityHuman entityhuman = this.world.a(EntitySilverfish.b, (EntityLiving) this);
|
2018-07-15 01:53:17 +00:00
|
|
|
|
2016-11-19 00:55:14 +00:00
|
|
|
- return entityhuman == null;
|
|
|
|
+ return !(entityhuman != null && !entityhuman.affectsSpawning) && entityhuman == null; // Paper - Affects Spawning API
|
|
|
|
} else {
|
|
|
|
return false;
|
2016-11-17 02:23:38 +00:00
|
|
|
}
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
2019-06-14 02:27:40 +00:00
|
|
|
index 037b0bc685..76728b1785 100644
|
2016-11-17 02:23:38 +00:00
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
2019-06-08 20:33:05 +00:00
|
|
|
@@ -1642,7 +1642,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
2017-05-28 04:25:17 +00:00
|
|
|
@Override
|
|
|
|
public String getLocale() {
|
|
|
|
return getHandle().locale;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
2018-07-15 01:53:17 +00:00
|
|
|
+ // Paper start
|
2016-11-17 02:23:38 +00:00
|
|
|
+ public void setAffectsSpawning(boolean affects) {
|
|
|
|
+ this.getHandle().affectsSpawning = affects;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean getAffectsSpawning() {
|
|
|
|
+ return this.getHandle().affectsSpawning;
|
2017-05-28 04:25:17 +00:00
|
|
|
}
|
2018-07-15 01:53:17 +00:00
|
|
|
+ // Paper end
|
2017-05-28 04:25:17 +00:00
|
|
|
|
2018-08-12 06:08:09 +00:00
|
|
|
@Override
|
|
|
|
public void updateCommands() {
|
2016-11-17 02:23:38 +00:00
|
|
|
--
|
2019-04-03 08:51:39 +00:00
|
|
|
2.21.0
|
2016-11-17 02:23:38 +00:00
|
|
|
|