diff --git a/patches/api/0013-Implement-ItemFactory-getMonsterEgg.patch b/patches/api/0013-Implement-ItemFactory-getMonsterEgg.patch new file mode 100644 index 000000000..4036967cd --- /dev/null +++ b/patches/api/0013-Implement-ItemFactory-getMonsterEgg.patch @@ -0,0 +1,32 @@ +From 6e35aa8c329b3e93f32e2974247e23e42bf2b082 Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Fri, 5 Jul 2019 16:37:04 -0500 +Subject: [PATCH] Implement ItemFactory#getMonsterEgg + +--- + src/main/java/org/bukkit/inventory/ItemFactory.java | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/src/main/java/org/bukkit/inventory/ItemFactory.java b/src/main/java/org/bukkit/inventory/ItemFactory.java +index 03ba2265..630c15d2 100644 +--- a/src/main/java/org/bukkit/inventory/ItemFactory.java ++++ b/src/main/java/org/bukkit/inventory/ItemFactory.java +@@ -166,4 +166,15 @@ public interface ItemFactory { + @Nullable + String getI18NDisplayName(@Nullable ItemStack item); + // Paper end ++ ++ // Purpur start ++ /** ++ * Get a monster egg ItemStack from an EntityType ++ * ++ * @param type EntityType ++ * @return ItemStack spawner egg ++ */ ++ @Nullable ++ ItemStack getMonsterEgg(@Nullable org.bukkit.entity.EntityType type); ++ // Purpur end + } +-- +2.20.1 + diff --git a/patches/server/0040-Implement-ItemFactory-getMonsterEgg.patch b/patches/server/0040-Implement-ItemFactory-getMonsterEgg.patch new file mode 100644 index 000000000..24fa8e22a --- /dev/null +++ b/patches/server/0040-Implement-ItemFactory-getMonsterEgg.patch @@ -0,0 +1,49 @@ +From 3da9a55c19a7080d6976b28f8c51be51f8f711c5 Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Fri, 5 Jul 2019 16:36:55 -0500 +Subject: [PATCH] Implement ItemFactory#getMonsterEgg + +--- + .../java/net/minecraft/server/ItemMonsterEgg.java | 2 +- + .../craftbukkit/inventory/CraftItemFactory.java | 14 ++++++++++++++ + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/src/main/java/net/minecraft/server/ItemMonsterEgg.java b/src/main/java/net/minecraft/server/ItemMonsterEgg.java +index 4482dd930..bb3b0abd9 100644 +--- a/src/main/java/net/minecraft/server/ItemMonsterEgg.java ++++ b/src/main/java/net/minecraft/server/ItemMonsterEgg.java +@@ -8,7 +8,7 @@ import javax.annotation.Nullable; + + public class ItemMonsterEgg extends Item { + +- private static final Map, ItemMonsterEgg> a = Maps.newIdentityHashMap(); ++ public static final Map, ItemMonsterEgg> a = Maps.newIdentityHashMap(); // Purpur - private -> public + private final int b; + private final int c; + private final EntityTypes d; +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +index 80f71a77b..0dae1fcf7 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +@@ -349,4 +349,18 @@ public final class CraftItemFactory implements ItemFactory { + return nms != null ? net.minecraft.server.LocaleLanguage.getInstance().translateKey(nms.getItem().getName()) : null; + } + // Paper end ++ ++ // Purpur start ++ @Override ++ public ItemStack getMonsterEgg(org.bukkit.entity.EntityType type) { ++ if (type == null) { ++ return null; ++ } ++ String name = type.getKey().toString(); ++ net.minecraft.server.MinecraftKey key = new net.minecraft.server.MinecraftKey(name); ++ net.minecraft.server.EntityTypes types = net.minecraft.server.EntityTypes.getFromKey(key); ++ net.minecraft.server.ItemMonsterEgg egg = net.minecraft.server.ItemMonsterEgg.a.get(types); ++ return new net.minecraft.server.ItemStack(egg).asBukkitMirror(); ++ } ++ // Purpur end + } +-- +2.20.1 +