From 1bf7ae3ec244b2e8ab74b592b292bd78d7785996 Mon Sep 17 00:00:00 2001 From: Eclipse Date: Wed, 25 Jun 2025 13:14:55 +0000 Subject: [PATCH] Make it a bit safer --- .../geyser/session/cache/registry/JavaRegistries.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/geysermc/geyser/session/cache/registry/JavaRegistries.java b/core/src/main/java/org/geysermc/geyser/session/cache/registry/JavaRegistries.java index f6a3b4c4e..9440bfb09 100644 --- a/core/src/main/java/org/geysermc/geyser/session/cache/registry/JavaRegistries.java +++ b/core/src/main/java/org/geysermc/geyser/session/cache/registry/JavaRegistries.java @@ -68,8 +68,13 @@ public class JavaRegistries { public static final JavaRegistryKey ITEM = createHardcoded("item", Registries.JAVA_ITEMS, Item::javaId, Item::javaKey, key -> Optional.ofNullable(Registries.JAVA_ITEM_IDENTIFIERS.get(key.asString())).map(Item::javaId).orElse(-1)); public static JavaRegistryKey ENTITY_TYPE = createHardcoded("entity_type", Arrays.asList(EntityType.values()), EntityType::ordinal, - type -> MinecraftKey.key(type.name().toLowerCase(Locale.ROOT)), - key -> EntityType.valueOf(key.value().toUpperCase(Locale.ROOT)).ordinal()); + type -> MinecraftKey.key(type.name().toLowerCase(Locale.ROOT)), key -> { + try { + return EntityType.valueOf(key.value().toUpperCase(Locale.ROOT)).ordinal(); + } catch (IllegalArgumentException exception) { + return -1; // Non-existent entity type + } + }); public static final JavaRegistryKey CHAT_TYPE = create("chat_type"); public static final JavaRegistryKey DIMENSION_TYPE = create("dimension_type");