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.jetbrains.annotations.Unmodifiable;
import org.jglrxavpok.hephaistos.nbt.NBTCompound; import org.jglrxavpok.hephaistos.nbt.NBTCompound;
import java.util.Collection;
import java.util.Map; import java.util.Map;
import java.util.function.BiPredicate; import java.util.function.BiPredicate;
@ -172,6 +173,10 @@ public interface Block extends ProtocolObject, TagReadable, BlockConstants {
return compare(block, Comparator.ID); return compare(block, Comparator.ID);
} }
static @NotNull Collection<@NotNull Block> values() {
return BlockLoader.values();
}
static Block fromNamespaceId(@NotNull String namespaceID) { static Block fromNamespaceId(@NotNull String namespaceID) {
return BlockLoader.get(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.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
@ -52,6 +54,10 @@ class BlockLoader {
return entry.propertyMap.get(properties); return entry.propertyMap.get(properties);
} }
static Collection<Block> values() {
return Collections.unmodifiableCollection(NAMESPACE_MAP.values());
}
static { static {
// Load data from file // Load data from file
JsonObject blocks = Registry.load(Registry.Resource.BLOCK); JsonObject blocks = Registry.load(Registry.Resource.BLOCK);