Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 04:20:04 +01:00
e284bb1215
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: fb23cbb3 Define surefire plugin version d022084a Define ordering for MetadataStoreTest 99a7f6f0 PR-910: Match generic max absorption attribute name style with the rest c7390d71 PR-909: Update tests to JUnit 5 CraftBukkit Changes: f0661c351 PR-1230: Move unstructured PDC NBT serialisation to SNBT 452fcb599 PR-1256: Update tests to JUnit 5
75 Zeilen
4.0 KiB
Diff
75 Zeilen
4.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Tue, 11 Jul 2023 11:22:30 -0700
|
|
Subject: [PATCH] fix item meta for tadpole buckets
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
|
index 6e91c7ccc36e088be60739dd71b287f0b922a055..57f4cf40359fe9bb427eb0134660d00839a63c86 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
|
|
@@ -348,6 +348,7 @@ public final class CraftItemFactory implements ItemFactory {
|
|
case COD_BUCKET:
|
|
case PUFFERFISH_BUCKET:
|
|
case SALMON_BUCKET:
|
|
+ case TADPOLE_BUCKET: // Paper
|
|
case ITEM_FRAME:
|
|
case GLOW_ITEM_FRAME:
|
|
case PAINTING:
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
|
index ce82f313007762b6d1d9f006f21a8858e2976efb..0e5abd2a8694b24d4077a602a544e9c2b4c31822 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
|
@@ -600,6 +600,7 @@ public final class CraftItemStack extends ItemStack {
|
|
case COD_BUCKET:
|
|
case PUFFERFISH_BUCKET:
|
|
case SALMON_BUCKET:
|
|
+ case TADPOLE_BUCKET: // Paper
|
|
case ITEM_FRAME:
|
|
case GLOW_ITEM_FRAME:
|
|
case PAINTING:
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaEntityTag.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaEntityTag.java
|
|
index e65bdbbbedb91eca016d46de5cc7cbb70dd9f659..9024467a627a40a145a951510f2207e2a175a4ab 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaEntityTag.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaEntityTag.java
|
|
@@ -16,6 +16,7 @@ public class CraftMetaEntityTag extends CraftMetaItem {
|
|
Material.COD_BUCKET,
|
|
Material.PUFFERFISH_BUCKET,
|
|
Material.SALMON_BUCKET,
|
|
+ Material.TADPOLE_BUCKET, // Paper
|
|
Material.ITEM_FRAME,
|
|
Material.GLOW_ITEM_FRAME,
|
|
Material.PAINTING
|
|
diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
|
|
index 937ddd3a2b9e1df2c8835079923c339178f08459..ceca8b6a4a11753bef7ad341c34ccda60114c6b5 100644
|
|
--- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
|
|
+++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
|
|
@@ -236,6 +236,27 @@ public class ItemMetaTest extends AbstractTestingBase {
|
|
}
|
|
}
|
|
|
|
+ // Paper start - check entity tag metas
|
|
+ private static final java.util.Set<Class<?>> ENTITY_TAG_METAS = java.util.Set.of(
|
|
+ CraftMetaEntityTag.class,
|
|
+ CraftMetaTropicalFishBucket.class,
|
|
+ CraftMetaAxolotlBucket.class
|
|
+ );
|
|
+ @Test
|
|
+ public void testEntityTagMeta() {
|
|
+ for (final Item item : BuiltInRegistries.ITEM) {
|
|
+ if (item instanceof net.minecraft.world.item.HangingEntityItem || item instanceof net.minecraft.world.item.MobBucketItem) {
|
|
+ ItemStack stack = new ItemStack(CraftMagicNumbers.getMaterial(item));
|
|
+ assertTrue(ENTITY_TAG_METAS.contains(stack.getItemMeta().getClass()), "missing entity tag meta handling for " + item);
|
|
+ stack = CraftItemStack.asNewCraftStack(net.minecraft.world.item.Items.STONE);
|
|
+ stack.editMeta(meta -> meta.displayName(net.kyori.adventure.text.Component.text("hello")));
|
|
+ stack.setType(CraftMagicNumbers.getMaterial(item));
|
|
+ assertTrue(ENTITY_TAG_METAS.contains(stack.getItemMeta().getClass()), "missing entity tag meta handling for " + item);
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
@Test
|
|
public void testEachExtraData() {
|
|
final List<StackProvider> providers = Arrays.asList(
|