mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Implement ItemFactory#getMonsterEgg
This commit is contained in:
32
patches/api/0013-Implement-ItemFactory-getMonsterEgg.patch
Normal file
32
patches/api/0013-Implement-ItemFactory-getMonsterEgg.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
From 6e35aa8c329b3e93f32e2974247e23e42bf2b082 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
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
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From 3da9a55c19a7080d6976b28f8c51be51f8f711c5 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
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<EntityTypes<?>, ItemMonsterEgg> a = Maps.newIdentityHashMap();
|
||||
+ public static final Map<EntityTypes<?>, 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
|
||||
|
||||
Reference in New Issue
Block a user