13
0
geforkt von Mirrors/Paper

Item#canEntityPickup (#680)

Item#canEntityPickup
Dieser Commit ist enthalten in:
BillyGalbreath 2017-06-11 19:40:42 -05:00
Ursprung 9737df4f65
Commit d1f99dde16
2 geänderte Dateien mit 89 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -0,0 +1,32 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Fri, 5 May 2017 03:57:08 -0500
Subject: [PATCH] Item#canEntityPickup
diff --git a/src/main/java/org/bukkit/entity/Item.java b/src/main/java/org/bukkit/entity/Item.java
index 90260b7e..7163f8b0 100644
--- a/src/main/java/org/bukkit/entity/Item.java
+++ b/src/main/java/org/bukkit/entity/Item.java
@@ -0,0 +0,0 @@ public interface Item extends Entity {
* @param delay New delay
*/
public void setPickupDelay(int delay);
+
+ // Paper Start
+ /**
+ * Gets if non-player entities can pick this Item up
+ *
+ * @return True if non-player entities can pickup
+ */
+ public boolean canMobPickup();
+
+ /**
+ * Sets if non-player entities can pick this Item up
+ *
+ * @param canMobPickup True to allow non-player entity pickup
+ */
+ public void setCanMobPickup(boolean canMobPickup);
+ // Paper end
}
--

Datei anzeigen

@ -0,0 +1,57 @@
From 0000000000000000000000000000000000000000 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 1d26555d..3179e627 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -0,0 +0,0 @@ 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 95ca1b8e..207b6f0b 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -0,0 +0,0 @@ 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 a17a537d..6bacf204 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -0,0 +0,0 @@ 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";
--