aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0017-Player-affects-spawning-API.patch
diff options
context:
space:
mode:
authorZach Brown <[email protected]>2017-03-25 00:22:02 -0500
committerZach Brown <[email protected]>2017-03-25 00:22:02 -0500
commit5e2784e941ba2873facc44b30be906485fcdae95 (patch)
treebd89c6f56ded2bfabe6ffe468f15bc7ce329a1b9 /Spigot-Server-Patches/0017-Player-affects-spawning-API.patch
parent246712ed92d21dbc90f9e8437dc42c79b558308d (diff)
downloadPaper-5e2784e941ba2873facc44b30be906485fcdae95.tar.gz
Paper-5e2784e941ba2873facc44b30be906485fcdae95.zip
Switch to a bStats based Metrics system
Diffstat (limited to 'Spigot-Server-Patches/0017-Player-affects-spawning-API.patch')
-rw-r--r--Spigot-Server-Patches/0017-Player-affects-spawning-API.patch95
1 files changed, 95 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0017-Player-affects-spawning-API.patch b/Spigot-Server-Patches/0017-Player-affects-spawning-API.patch
new file mode 100644
index 0000000000..5ec6f1d5eb
--- /dev/null
+++ b/Spigot-Server-Patches/0017-Player-affects-spawning-API.patch
@@ -0,0 +1,95 @@
+From 18f6ba2999aa3d3d8175d9d660753847446cb5bf Mon Sep 17 00:00:00 2001
+From: Jedediah Smith <[email protected]>
+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
+index ec8f581ad..43e28d61c 100644
+--- a/src/main/java/net/minecraft/server/EntityHuman.java
++++ b/src/main/java/net/minecraft/server/EntityHuman.java
+@@ -63,6 +63,7 @@ public abstract class EntityHuman extends EntityLiving {
+ private final ItemCooldown bV;
+ @Nullable
+ public EntityFishingHook hookedFish;
++ public boolean affectsSpawning = true;
+
+ // CraftBukkit start
+ public boolean fauxSleeping;
+diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
+index 21f5df3c0..a7283d36d 100644
+--- a/src/main/java/net/minecraft/server/EntityInsentient.java
++++ b/src/main/java/net/minecraft/server/EntityInsentient.java
+@@ -616,7 +616,7 @@ public abstract class EntityInsentient extends EntityLiving {
+ } else {
+ EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D);
+
+- if (entityhuman != null) {
++ if (entityhuman != null && entityhuman.affectsSpawning) { // Paper - Affects Spawning API
+ double d0 = entityhuman.locX - this.locX;
+ double d1 = entityhuman.locY - this.locY;
+ double d2 = entityhuman.locZ - this.locZ;
+diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
+index 5af51cc0a..7531c9ba9 100644
+--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
++++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
+@@ -99,8 +99,7 @@ public class EntitySilverfish extends EntityMonster {
+ public boolean cM() {
+ if (super.cM()) {
+ EntityHuman entityhuman = this.world.b(this, 5.0D);
+-
+- return entityhuman == null;
++ return !(entityhuman != null && !entityhuman.affectsSpawning) && entityhuman == null; // Paper - Affects Spawning API
+ } else {
+ return false;
+ }
+diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
+index 17bf3e410..a05fad54f 100644
+--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
++++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
+@@ -52,7 +52,7 @@ public final class SpawnerCreature {
+ while (iterator.hasNext()) {
+ EntityHuman entityhuman = (EntityHuman) iterator.next();
+
+- if (!entityhuman.isSpectator()) {
++ if (!entityhuman.isSpectator() && entityhuman.affectsSpawning) {
+ int l = MathHelper.floor(entityhuman.locX / 16.0D);
+
+ j = MathHelper.floor(entityhuman.locZ / 16.0D);
+diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
+index edd6c3b5e..751fc01d1 100644
+--- a/src/main/java/net/minecraft/server/World.java
++++ b/src/main/java/net/minecraft/server/World.java
+@@ -2722,7 +2722,7 @@ public abstract class World implements IBlockAccess {
+ for (int i = 0; i < this.players.size(); ++i) {
+ EntityHuman entityhuman = (EntityHuman) this.players.get(i);
+
+- if (IEntitySelector.e.apply(entityhuman)) {
++ if (IEntitySelector.e.apply(entityhuman) && entityhuman.affectsSpawning) { // Paper - Affects Spawning API
+ double d4 = entityhuman.d(d0, d1, d2);
+
+ if (d3 < 0.0D || d4 < d3 * d3) {
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+index 9f452043f..b412bf653 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+@@ -1469,6 +1469,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+
+ }
+
++ @Override
++ public void setAffectsSpawning(boolean affects) {
++ this.getHandle().affectsSpawning = affects;
++ }
++
++ @Override
++ public boolean getAffectsSpawning() {
++ return this.getHandle().affectsSpawning;
++ }
++
+ // Spigot start
+ private final Player.Spigot spigot = new Player.Spigot()
+ {
+--
+2.12.0.windows.1
+