2020-05-06 11:48:49 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2016-11-17 03:23:38 +01: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
|
2020-05-06 11:48:49 +02:00
|
|
|
index 1228b73bd433c59b0b1503f3be270a9af6aadaa5..1f20fbbf92c9d2937594c924837fff0bb9ee9238 100644
|
2016-11-17 03:23:38 +01:00
|
|
|
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
2019-07-20 06:01:24 +02:00
|
|
|
@@ -71,6 +71,9 @@ public abstract class EntityHuman extends EntityLiving {
|
2019-12-11 01:56:03 +01:00
|
|
|
private final ItemCooldown bW;
|
2016-11-17 03:23:38 +01:00
|
|
|
@Nullable
|
|
|
|
public EntityFishingHook hookedFish;
|
2018-07-15 03:53:17 +02:00
|
|
|
+ // Paper start
|
2016-11-19 01:55:14 +01:00
|
|
|
+ public boolean affectsSpawning = true;
|
2018-07-15 03:53:17 +02:00
|
|
|
+ // Paper end
|
2016-11-17 03:23:38 +01:00
|
|
|
|
|
|
|
// CraftBukkit start
|
|
|
|
public boolean fauxSleeping;
|
2016-11-19 01:55:14 +01:00
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
2020-05-06 11:48:49 +02:00
|
|
|
index 23995b68a17b87b90962c4c12aa37e3a254073b5..1732c1ae9537957c51da5e484b55febb6e9f0091 100644
|
2016-11-19 01:55:14 +01:00
|
|
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
2020-02-21 18:52:20 +01:00
|
|
|
@@ -627,7 +627,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
2019-12-11 01:56:03 +01:00
|
|
|
} else if (!this.isPersistent() && !this.I()) {
|
2016-11-19 01:55:14 +01:00
|
|
|
EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D);
|
2016-11-17 03:23:38 +01:00
|
|
|
|
2016-11-19 01:55:14 +01:00
|
|
|
- if (entityhuman != null) {
|
|
|
|
+ if (entityhuman != null && entityhuman.affectsSpawning) { // Paper - Affects Spawning API
|
2019-04-24 03:00:24 +02:00
|
|
|
double d0 = entityhuman.h(this);
|
|
|
|
|
|
|
|
if (d0 > world.paperConfig.hardDespawnDistance) { // CraftBukkit - remove isTypeNotPersistent() check // Paper - custom despawn distances
|
2016-11-19 01:55:14 +01:00
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
|
2020-05-06 11:48:49 +02:00
|
|
|
index 102b3a3c48799e44de760da48425fef9c5278771..08c2a22f7a01df21532e1949ea9d51f78a611cee 100644
|
2016-11-19 01:55:14 +01:00
|
|
|
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
|
2019-07-20 06:01:24 +02:00
|
|
|
@@ -99,7 +99,7 @@ public class EntitySilverfish extends EntityMonster {
|
2019-06-25 03:47:58 +02:00
|
|
|
if (d(entitytypes, generatoraccess, enummobspawn, blockposition, random)) {
|
2019-07-20 06:01:24 +02:00
|
|
|
EntityHuman entityhuman = generatoraccess.a((double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, 5.0D, true);
|
2018-07-15 03:53:17 +02:00
|
|
|
|
2016-11-19 01:55:14 +01:00
|
|
|
- return entityhuman == null;
|
|
|
|
+ return !(entityhuman != null && !entityhuman.affectsSpawning) && entityhuman == null; // Paper - Affects Spawning API
|
|
|
|
} else {
|
|
|
|
return false;
|
2016-11-17 03:23:38 +01:00
|
|
|
}
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
2020-06-02 05:15:47 +02:00
|
|
|
index 48d1397a6846c64dfa372390783ce66827153bf9..2d3f3a2b7f4e6acdf8043befb584fc0752b1ba3a 100644
|
2016-11-17 03:23:38 +01:00
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
2020-06-02 05:15:47 +02:00
|
|
|
@@ -1625,7 +1625,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
2017-05-28 06:25:17 +02:00
|
|
|
@Override
|
|
|
|
public String getLocale() {
|
|
|
|
return getHandle().locale;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
2018-07-15 03:53:17 +02:00
|
|
|
+ // Paper start
|
2016-11-17 03:23:38 +01:00
|
|
|
+ public void setAffectsSpawning(boolean affects) {
|
|
|
|
+ this.getHandle().affectsSpawning = affects;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean getAffectsSpawning() {
|
|
|
|
+ return this.getHandle().affectsSpawning;
|
2017-05-28 06:25:17 +02:00
|
|
|
}
|
2018-07-15 03:53:17 +02:00
|
|
|
+ // Paper end
|
2017-05-28 06:25:17 +02:00
|
|
|
|
2018-08-12 08:08:09 +02:00
|
|
|
@Override
|
|
|
|
public void updateCommands() {
|