Add Block#values

This commit is contained in:
TheMode 2021-07-16 19:39:56 +02:00
parent b07e912063
commit 518aab3a44
2 changed files with 11 additions and 0 deletions

View File

@ -11,6 +11,7 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.Unmodifiable;
import org.jglrxavpok.hephaistos.nbt.NBTCompound;
import java.util.Collection;
import java.util.Map;
import java.util.function.BiPredicate;
@ -172,6 +173,10 @@ public interface Block extends ProtocolObject, TagReadable, BlockConstants {
return compare(block, Comparator.ID);
}
static @NotNull Collection<@NotNull Block> values() {
return BlockLoader.values();
}
static Block fromNamespaceId(@NotNull String namespaceID) {
return BlockLoader.get(namespaceID);
}

View File

@ -9,6 +9,8 @@ import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@ -52,6 +54,10 @@ class BlockLoader {
return entry.propertyMap.get(properties);
}
static Collection<Block> values() {
return Collections.unmodifiableCollection(NAMESPACE_MAP.values());
}
static {
// Load data from file
JsonObject blocks = Registry.load(Registry.Resource.BLOCK);