18c3716c49
This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. We also store counts by type to further enable other performance optimizations in later patches.
59 lines
2.3 KiB
Diff
59 lines
2.3 KiB
Diff
From e4e98632b0628b4452d2b266506da9d200a62d4a Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
|
Date: Fri, 5 May 2017 03:57:17 -0500
|
|
Subject: [PATCH] Item#canEntityPickup
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
index 5ea9f3097..89e878365 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
@@ -514,6 +514,12 @@ public abstract class EntityInsentient extends EntityLiving {
|
|
while (iterator.hasNext()) {
|
|
EntityItem entityitem = (EntityItem) iterator.next();
|
|
|
|
+ // Paper Start
|
|
+ if (!entityitem.canMobPickup) {
|
|
+ continue;
|
|
+ }
|
|
+ // Paper End
|
|
+
|
|
if (!entityitem.dead && !entityitem.getItemStack().isEmpty() && !entityitem.t()) {
|
|
this.a(entityitem);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
|
|
index 6593fc633..99dbb1393 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityItem.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityItem.java
|
|
@@ -22,6 +22,7 @@ public class EntityItem extends Entity implements HopperPusher {
|
|
private static final DataWatcherObject<ItemStack> c = DataWatcher.a(EntityItem.class, DataWatcherRegistry.f);
|
|
private int age;
|
|
public int pickupDelay;
|
|
+ public boolean canMobPickup = true; // Paper
|
|
private int f;
|
|
private String g;
|
|
private String h;
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
|
index a17a537d6..1df17f09b 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
|
@@ -37,6 +37,16 @@ public class CraftItem extends CraftEntity implements Item {
|
|
item.pickupDelay = Math.min(delay, Short.MAX_VALUE);
|
|
}
|
|
|
|
+ // Paper Start
|
|
+ public boolean canMobPickup() {
|
|
+ return item.canMobPickup;
|
|
+ }
|
|
+
|
|
+ public void setCanMobPickup(boolean canMobPickup) {
|
|
+ item.canMobPickup = canMobPickup;
|
|
+ }
|
|
+ // Paper End
|
|
+
|
|
@Override
|
|
public String toString() {
|
|
return "CraftItem";
|
|
--
|
|
2.18.0
|
|
|