diff --git a/core/src/main/java/org/geysermc/geyser/configuration/ConfigLoader.java b/core/src/main/java/org/geysermc/geyser/configuration/ConfigLoader.java index 68c4c2dd8c3..5ef5dc7c77e 100644 --- a/core/src/main/java/org/geysermc/geyser/configuration/ConfigLoader.java +++ b/core/src/main/java/org/geysermc/geyser/configuration/ConfigLoader.java @@ -61,9 +61,9 @@ public final class ConfigLoader { GitHub: https://github.com/GeyserMC/Geyser Discord: https://discord.gg/geysermc - Wiki: https://wiki.geysermc.org/ + Wiki: https://geysermc.org/wiki - NOTICE: See https://wiki.geysermc.org/geyser/setup/ for the setup guide. Many video tutorials are outdated. + NOTICE: See https://geysermc.org/wiki/geyser/setup/ for the setup guide. Many video tutorials are outdated. In most cases, especially with server hosting providers, further hosting-specific configuration is required. --------------------------------"""; 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 0606bd93894..2ee6f47f028 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 @@ -65,20 +65,21 @@ public class CreativeItemRegistryPopulator { static List readCreativeItemGroups(ItemRegistryPopulator.PaletteVersion palette, List creativeItemData) { GeyserBootstrap bootstrap = GeyserImpl.getInstance().getBootstrap(); - JsonNode creativeItemEntries; + JsonArray creativeItemEntries; try (InputStream stream = bootstrap.getResourceOrThrow(String.format("bedrock/creative_items.%s.json", palette.version()))) { - creativeItemEntries = GeyserImpl.JSON_MAPPER.readTree(stream).get("groups"); + creativeItemEntries = JsonUtils.fromJson(stream).getAsJsonArray("groups"); } catch (Exception e) { throw new AssertionError("Unable to load creative item groups", e); } List creativeItemGroups = new ArrayList<>(); - for (JsonNode creativeItemEntry : creativeItemEntries) { - CreativeItemCategory category = CreativeItemCategory.valueOf(creativeItemEntry.get("category").asText().toUpperCase(Locale.ROOT)); - String name = creativeItemEntry.get("name").asText(); + for (JsonElement creativeItemEntry : creativeItemEntries) { + JsonObject creativeItemEntryObject = creativeItemEntry.getAsJsonObject(); + CreativeItemCategory category = CreativeItemCategory.valueOf(creativeItemEntryObject.get("category").getAsString().toUpperCase(Locale.ROOT)); + String name = creativeItemEntryObject.get("name").getAsString(); - JsonNode icon = creativeItemEntry.get("icon"); - String identifier = icon.get("id").asText(); + JsonElement icon = creativeItemEntryObject.get("icon"); + String identifier = icon.getAsJsonObject().get("id").getAsString(); ItemData itemData; if (identifier.equals("minecraft:air")) { @@ -115,7 +116,8 @@ static void populate(ItemRegistryPopulator.PaletteVersion palette, Map