papermc/Spigot-Server-Patches/Player-affects-spawning-API.patch

73 lines
3.5 KiB
Diff
Raw Normal View History

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2015-05-18 19:22:48 -05:00
From: Jedediah Smith <jedediah@silencegreys.com>
2016-02-29 17:09:49 -06:00
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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
2014-11-27 17:17:45 -08:00
@@ -0,0 +0,0 @@ public abstract class EntityHuman extends EntityLiving {
2016-11-16 20:23:38 -06:00
private final ItemCooldown bV;
@Nullable
2014-11-27 17:17:45 -08:00
public EntityFishingHook hookedFish;
2016-11-16 20:23:38 -06:00
+ public boolean affectsSpawning = true; // Paper - AffectsSpawning API
2015-03-07 19:16:09 -06:00
2014-11-27 17:17:45 -08:00
// CraftBukkit start
public boolean fauxSleeping;
2016-11-16 20:23:38 -06:00
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
2016-11-16 20:23:38 -06:00
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -0,0 +0,0 @@ public final class IEntitySelector {
};
public static final Predicate<Entity> e = new Predicate() {
public boolean a(@Nullable Entity entity) {
- return !(entity instanceof EntityHuman) || !((EntityHuman) entity).isSpectator();
+ return !(entity instanceof EntityHuman) || !((EntityHuman) entity).isSpectator() || !((EntityHuman) entity).affectsSpawning; // Paper - Affects Spawning API
}
public boolean apply(@Nullable Object object) {
return this.a((Entity) object);
}
};
+ public static final Predicate<Entity> CAN_MOBS_TARGET = e; // Paper - OBFHELPER
public static <T extends Entity> Predicate<T> a(final double d0, final double d1, final double d2, double d3) {
final double d4 = d3 * d3;
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -0,0 +0,0 @@ public final class SpawnerCreature {
2014-11-27 17:17:45 -08:00
while (iterator.hasNext()) {
EntityHuman entityhuman = (EntityHuman) iterator.next();
2016-11-16 20:23:38 -06:00
- if (!entityhuman.isSpectator()) {
+ if (!entityhuman.isSpectator() && entityhuman.affectsSpawning) { // Paper - AffectsSpawning API
2014-11-27 17:17:45 -08:00
int l = MathHelper.floor(entityhuman.locX / 16.0D);
2016-11-16 20:23:38 -06:00
j = MathHelper.floor(entityhuman.locZ / 16.0D);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
2016-02-29 17:09:49 -06:00
}
+ @Override
+ public void setAffectsSpawning(boolean affects) {
+ this.getHandle().affectsSpawning = affects;
2016-02-29 17:09:49 -06:00
+ }
+
2016-02-29 17:09:49 -06:00
+ @Override
+ public boolean getAffectsSpawning() {
+ return this.getHandle().affectsSpawning;
2016-02-29 17:09:49 -06:00
+ }
2015-03-07 19:16:09 -06:00
+
2016-02-29 17:09:49 -06:00
// Spigot start
private final Player.Spigot spigot = new Player.Spigot()
{
--