From b6c39d83fda72d78c39f676a1550f58955ba0ffa Mon Sep 17 00:00:00 2001 From: onebeastchris Date: Tue, 3 Dec 2024 20:07:35 +0800 Subject: [PATCH] Don't add items to the creative inventory that we don't have a Java mapping for --- .../CreativeItemRegistryPopulator.java | 28 +++++++++++++++---- .../populator/ItemRegistryPopulator.java | 2 +- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/core/src/main/java/org/geysermc/geyser/registry/populator/CreativeItemRegistryPopulator.java b/core/src/main/java/org/geysermc/geyser/registry/populator/CreativeItemRegistryPopulator.java index 8e42887ff0b..01dcd38a659 100644 --- a/core/src/main/java/org/geysermc/geyser/registry/populator/CreativeItemRegistryPopulator.java +++ b/core/src/main/java/org/geysermc/geyser/registry/populator/CreativeItemRegistryPopulator.java @@ -37,6 +37,7 @@ import org.geysermc.geyser.registry.BlockRegistries; import org.geysermc.geyser.registry.type.BlockMappings; import org.geysermc.geyser.registry.type.GeyserBedrockBlock; +import org.geysermc.geyser.registry.type.GeyserMappingItem; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -50,12 +51,10 @@ public class CreativeItemRegistryPopulator { private static final List> JAVA_ONLY_ITEM_FILTER = List.of( // Bedrock-only as its own item - (identifier, data) -> identifier.equals("minecraft:empty_map") && data == 2, - // Bedrock-only banner patterns - (identifier, data) -> identifier.equals("minecraft:bordure_indented_banner_pattern") || identifier.equals("minecraft:field_masoned_banner_pattern") + (identifier, data) -> identifier.equals("minecraft:empty_map") && data == 2 ); - static void populate(ItemRegistryPopulator.PaletteVersion palette, Map definitions, Consumer itemConsumer) { + static void populate(ItemRegistryPopulator.PaletteVersion palette, Map definitions, Map items, Consumer itemConsumer) { GeyserBootstrap bootstrap = GeyserImpl.getInstance().getBootstrap(); // Load creative items @@ -68,7 +67,7 @@ static void populate(ItemRegistryPopulator.PaletteVersion palette, Map definitions) { + private static ItemData.@Nullable Builder createItemData(JsonNode itemNode, Map items, BlockMappings blockMappings, Map definitions) { int count = 1; int damage = 0; NbtMap tag = null; @@ -89,6 +88,23 @@ static void populate(ItemRegistryPopulator.PaletteVersion palette, Map { + CreativeItemRegistryPopulator.populate(palette, definitions, items, itemBuilder -> { ItemData item = itemBuilder.netId(creativeNetId.incrementAndGet()).build(); creativeItems.add(item);