From dcbdad9a1b29f6dff53f9859c0ac6a718f634e7e Mon Sep 17 00:00:00 2001 From: mworzala Date: Tue, 12 Mar 2024 20:05:41 -0400 Subject: [PATCH] fix: painting variant read entry, forgot to follow my own comment --- .../net/minestom/server/entity/MetadataImpl.java | 3 ++- .../entity/metadata/other/PaintingMeta.java | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minestom/server/entity/MetadataImpl.java b/src/main/java/net/minestom/server/entity/MetadataImpl.java index c2777eee2..d2d89cb92 100644 --- a/src/main/java/net/minestom/server/entity/MetadataImpl.java +++ b/src/main/java/net/minestom/server/entity/MetadataImpl.java @@ -5,6 +5,7 @@ import net.minestom.server.coordinate.Vec; import net.minestom.server.entity.metadata.animal.FrogMeta; import net.minestom.server.entity.metadata.animal.SnifferMeta; import net.minestom.server.entity.metadata.animal.tameable.CatMeta; +import net.minestom.server.entity.metadata.other.PaintingMeta; import net.minestom.server.instance.block.Block; import net.minestom.server.item.ItemStack; import net.minestom.server.network.NetworkBuffer; @@ -45,7 +46,7 @@ final class MetadataImpl { EMPTY_VALUES.set(TYPE_CAT_VARIANT, CatVariant(CatMeta.Variant.TABBY)); EMPTY_VALUES.set(TYPE_FROG_VARIANT, FrogVariant(FrogMeta.Variant.TEMPERATE)); // OptGlobalPos - // PaintingVariant + EMPTY_VALUES.set(TYPE_PAINTINGVARIANT, PaintingVariant(PaintingMeta.Variant.KEBAB)); EMPTY_VALUES.set(TYPE_SNIFFER_STATE, SnifferState(SnifferMeta.State.IDLING)); EMPTY_VALUES.set(TYPE_VECTOR3, Vector3(Vec.ZERO)); EMPTY_VALUES.set(TYPE_QUATERNION, Quaternion(new float[]{0, 0, 0, 0})); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/PaintingMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/PaintingMeta.java index bb9fb49a7..06b0ec616 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/PaintingMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/PaintingMeta.java @@ -114,6 +114,21 @@ public class PaintingMeta extends EntityMeta implements ObjectDataProvider { return VALUES[id]; } + public static @Nullable Variant fromNamespaceId(@Nullable String namespaceId) { + if (namespaceId == null) return null; + return fromNamespaceId(NamespaceID.from(namespaceId)); + } + + public static @Nullable Variant fromNamespaceId(@Nullable NamespaceID namespaceId) { + if (namespaceId == null) return null; + for (Variant value : VALUES) { + if (value.namespace().equals(namespaceId)) { + return value; + } + } + return null; + } + private final NamespaceID namespace; private final int width; private final int height;