fix item meta for tadpole buckets

This commit is contained in:
Jake Potrebic 2023-07-11 11:22:30 -07:00
parent 5b97ae9832
commit 61ff05d0d5
3 changed files with 23 additions and 1 deletions

View file

@ -265,7 +265,7 @@ public final class CraftItemMetas {
if (itemType == ItemType.SUSPICIOUS_STEW) {
return CraftItemMetas.asType(CraftItemMetas.SUSPICIOUS_STEW_META_DATA);
}
if (itemType == ItemType.COD_BUCKET || itemType == ItemType.PUFFERFISH_BUCKET
if (itemType == ItemType.COD_BUCKET || itemType == ItemType.PUFFERFISH_BUCKET || itemType == ItemType.TADPOLE_BUCKET // Paper
|| itemType == ItemType.SALMON_BUCKET || itemType == ItemType.ITEM_FRAME
|| itemType == ItemType.GLOW_ITEM_FRAME || itemType == ItemType.PAINTING) {
return CraftItemMetas.asType(CraftItemMetas.ENTITY_TAG_META_DATA);

View file

@ -19,6 +19,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

View file

@ -209,6 +209,27 @@ public class ItemMetaTest {
}
}
// 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(CraftItemType.minecraftToBukkit(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(CraftItemType.minecraftToBukkit(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(