From 7aa37b8cc1708af46bdde6e6f788fe2d203483c7 Mon Sep 17 00:00:00 2001 From: derklaro Date: Tue, 28 Jan 2025 14:31:05 +0100 Subject: [PATCH] refactor: ensure metadata entry type is not primitive nor void --- .../protocol/meta/DefaultEntityMetadataFactoryBuilder.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/src/main/java/com/github/juliarn/npclib/api/protocol/meta/DefaultEntityMetadataFactoryBuilder.java b/api/src/main/java/com/github/juliarn/npclib/api/protocol/meta/DefaultEntityMetadataFactoryBuilder.java index c1dbce4..0b3fedc 100644 --- a/api/src/main/java/com/github/juliarn/npclib/api/protocol/meta/DefaultEntityMetadataFactoryBuilder.java +++ b/api/src/main/java/com/github/juliarn/npclib/api/protocol/meta/DefaultEntityMetadataFactoryBuilder.java @@ -58,6 +58,10 @@ final class DefaultEntityMetadataFactoryBuilder implements EntityMetadataF @Override public @NotNull EntityMetadataFactory.Builder type(@NotNull Type type) { + if (type instanceof Class && (((Class) type).isPrimitive() || type == Void.class)) { + throw new IllegalArgumentException("Entity metadata type must not be a primitive or void"); + } + this.type = Objects.requireNonNull(type, "type"); return this; }