package net.minecraft.world.level.storage; import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import org.jetbrains.annotations.Nullable; public interface ValueOutput { void store(String key, Codec codec, T value); void storeNullable(String key, Codec codec, @Nullable T value); @Deprecated void store(MapCodec codec, T value); void putBoolean(String key, boolean value); void putByte(String key, byte value); void putShort(String key, short value); void putInt(String key, int value); void putLong(String key, long value); void putFloat(String key, float value); void putDouble(String key, double value); void putString(String key, String value); void putIntArray(String key, int[] value); ValueOutput child(String key); ValueOutput.ValueOutputList childrenList(String key); ValueOutput.TypedOutputList list(String key, Codec elementCodec); void discard(String key); boolean isEmpty(); public interface TypedOutputList { void add(T element); boolean isEmpty(); } public interface ValueOutputList { ValueOutput addChild(); void discardLast(); boolean isEmpty(); } }