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, ?> values; private BuiltInMetadata(Map, ?> values) { this.values = values; } public T get(MetadataSectionSerializer serializer) { return (T)this.values.get(serializer); } public static BuiltInMetadata of() { return EMPTY; } public static BuiltInMetadata of(MetadataSectionSerializer serializer, T value) { return new BuiltInMetadata(Map.of(serializer, value)); } public static BuiltInMetadata of(MetadataSectionSerializer serializer1, T1 value1, MetadataSectionSerializer serializer2, T2 value2) { return new BuiltInMetadata(Map.of(serializer1, value1, serializer2, value2)); } }