diff --git a/src/main/java/net/minestom/server/instance/block/Block.java b/src/main/java/net/minestom/server/instance/block/Block.java index 635f9d1d9..b8b6029b4 100644 --- a/src/main/java/net/minestom/server/instance/block/Block.java +++ b/src/main/java/net/minestom/server/instance/block/Block.java @@ -5,10 +5,7 @@ import net.minestom.server.registry.Registry; import net.minestom.server.tag.Tag; import net.minestom.server.tag.TagReadable; import net.minestom.server.utils.NamespaceID; -import org.jetbrains.annotations.Contract; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.annotations.Unmodifiable; +import org.jetbrains.annotations.*; import org.jglrxavpok.hephaistos.nbt.NBTCompound; import java.util.Collection; @@ -122,6 +119,10 @@ public sealed interface Block extends ProtocolObject, TagReadable, Blocks permit return properties().get(property); } + @Contract(pure = true) + @ApiStatus.Experimental + @NotNull Collection<@NotNull Block> possibleStates(); + /** * Returns the block registry. *

diff --git a/src/main/java/net/minestom/server/instance/block/BlockImpl.java b/src/main/java/net/minestom/server/instance/block/BlockImpl.java index a24d43972..c3bbe0874 100644 --- a/src/main/java/net/minestom/server/instance/block/BlockImpl.java +++ b/src/main/java/net/minestom/server/instance/block/BlockImpl.java @@ -132,6 +132,11 @@ final class BlockImpl implements Block { return Collections.unmodifiableMap(properties); } + @Override + public @NotNull Collection<@NotNull Block> possibleStates() { + return propertyEntry.values(); + } + @Override public @NotNull Registry.BlockEntry registry() { return registry;