minecraft-src/net/minecraft/server/packs/BuiltInMetadata.java
2025-07-04 01:41:11 +03:00

29 lines
952 B
Java

package net.minecraft.server.packs;
import java.util.Map;
import net.minecraft.server.packs.metadata.MetadataSectionSerializer;
public class BuiltInMetadata {
private static final BuiltInMetadata EMPTY = new BuiltInMetadata(Map.of());
private final Map<MetadataSectionSerializer<?>, ?> values;
private BuiltInMetadata(Map<MetadataSectionSerializer<?>, ?> values) {
this.values = values;
}
public <T> T get(MetadataSectionSerializer<T> serializer) {
return (T)this.values.get(serializer);
}
public static BuiltInMetadata of() {
return EMPTY;
}
public static <T> BuiltInMetadata of(MetadataSectionSerializer<T> serializer, T value) {
return new BuiltInMetadata(Map.of(serializer, value));
}
public static <T1, T2> BuiltInMetadata of(MetadataSectionSerializer<T1> serializer1, T1 value1, MetadataSectionSerializer<T2> serializer2, T2 value2) {
return new BuiltInMetadata(Map.of(serializer1, value1, serializer2, value2));
}
}