From 243413dcce0adddcfff474e835fa225c5b8f27d6 Mon Sep 17 00:00:00 2001 From: Tofaa <82680183+Tofaa2@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:20:06 +0300 Subject: [PATCH] fix null metadata happening --- .idea/gradle.xml | 1 + src/main/java/me/tofaa/entitylib/EntityLib.java | 3 --- src/main/java/me/tofaa/entitylib/MetaConverterRegistry.java | 5 +++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 0925429..56bf40c 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -10,6 +10,7 @@ diff --git a/src/main/java/me/tofaa/entitylib/EntityLib.java b/src/main/java/me/tofaa/entitylib/EntityLib.java index 4e7dc34..2e3b52a 100644 --- a/src/main/java/me/tofaa/entitylib/EntityLib.java +++ b/src/main/java/me/tofaa/entitylib/EntityLib.java @@ -104,9 +104,6 @@ public final class EntityLib { checkInit(); Metadata m = new Metadata(entityId); BiFunction function = metaRegistry.get(entityType); - if (function == null) { - throw new IllegalArgumentException("No meta converter for entity type " + entityType); - } EntityMeta meta = function.apply(entityId, m); metadata.put(entityId, meta); return meta; diff --git a/src/main/java/me/tofaa/entitylib/MetaConverterRegistry.java b/src/main/java/me/tofaa/entitylib/MetaConverterRegistry.java index 3577d45..782f8e6 100644 --- a/src/main/java/me/tofaa/entitylib/MetaConverterRegistry.java +++ b/src/main/java/me/tofaa/entitylib/MetaConverterRegistry.java @@ -30,6 +30,7 @@ import me.tofaa.entitylib.meta.mobs.villager.VillagerMeta; import me.tofaa.entitylib.meta.mobs.villager.WanderingTraderMeta; import me.tofaa.entitylib.meta.projectile.*; import me.tofaa.entitylib.meta.types.PlayerMeta; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.HashMap; @@ -159,8 +160,8 @@ final class MetaConverterRegistry { return (Class) metaClasses.get(entityType); } - public @Nullable BiFunction get(EntityType entityType) { - return converters.get(entityType); + public @NotNull BiFunction get(EntityType entityType) { + return converters.getOrDefault(entityType, EntityMeta::new); } }