From 98fc704139fe8cbf1f32d4eeb0936da74c50435b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A8=D0=B0=D0=BD=D0=B4=D1=83=D1=80=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9A=D0=BE=D0=BD=D1=81=D1=82=D0=B0=D0=BD=D1=82=D0=B8?= =?UTF-8?q?=D0=BD=20=D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B8=D1=87?= Date: Fri, 10 Sep 2021 16:50:38 +0300 Subject: [PATCH] BlockHandlerBase --- .../server/instance/block/BlockHandler.java | 17 +++++------------ .../instance/block/BlockHandlerBase.java | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 12 deletions(-) create mode 100644 src/main/java/net/minestom/server/instance/block/BlockHandlerBase.java diff --git a/src/main/java/net/minestom/server/instance/block/BlockHandler.java b/src/main/java/net/minestom/server/instance/block/BlockHandler.java index acd794dc1..50d1510a5 100644 --- a/src/main/java/net/minestom/server/instance/block/BlockHandler.java +++ b/src/main/java/net/minestom/server/instance/block/BlockHandler.java @@ -295,23 +295,16 @@ public interface BlockHandler { * Handler used for loaded blocks with unknown namespace * in order to do not lose the information while saving, and for runtime debugging purpose. */ - class Dummy implements BlockHandler { + @ApiStatus.Internal + final class Dummy extends BlockHandlerBase { private static final Map DUMMY_CACHE = new ConcurrentHashMap<>(); - @ApiStatus.Internal public static @NotNull BlockHandler get(@NotNull String namespace) { - return DUMMY_CACHE.computeIfAbsent(namespace, s -> new Dummy(NamespaceID.from(namespace))); + return DUMMY_CACHE.computeIfAbsent(namespace, Dummy::new); } - private final NamespaceID namespaceID; - - private Dummy(NamespaceID namespaceID) { - this.namespaceID = namespaceID; - } - - @Override - public @NotNull NamespaceID getNamespaceId() { - return namespaceID; + private Dummy(String name) { + super(name); } } } diff --git a/src/main/java/net/minestom/server/instance/block/BlockHandlerBase.java b/src/main/java/net/minestom/server/instance/block/BlockHandlerBase.java new file mode 100644 index 000000000..3d7f2aaf2 --- /dev/null +++ b/src/main/java/net/minestom/server/instance/block/BlockHandlerBase.java @@ -0,0 +1,18 @@ +package net.minestom.server.instance.block; + +import net.minestom.server.utils.NamespaceID; +import org.jetbrains.annotations.NotNull; + +public class BlockHandlerBase implements BlockHandler { + + private final NamespaceID namespace; + + public BlockHandlerBase(String name) { + namespace = NamespaceID.from(name); + } + + @Override + public @NotNull NamespaceID getNamespaceId() { + return namespace; + } +}