package net.minecraft.world.level.storage; import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import java.util.Optional; import java.util.stream.Stream; import net.minecraft.core.HolderLookup; public interface ValueInput { Optional read(String key, Codec codec); @Deprecated Optional read(MapCodec codec); Optional child(String key); ValueInput childOrEmpty(String key); Optional childrenList(String key); ValueInput.ValueInputList childrenListOrEmpty(String key); Optional> list(String key, Codec elementCodec); ValueInput.TypedInputList listOrEmpty(String key, Codec elementCodec); boolean getBooleanOr(String key, boolean defaultValue); byte getByteOr(String key, byte defaultValue); int getShortOr(String key, short defaultValue); Optional getInt(String key); int getIntOr(String key, int defaultValue); long getLongOr(String key, long defaultValue); Optional getLong(String key); float getFloatOr(String key, float defaultValue); double getDoubleOr(String key, double defaultValue); Optional getString(String key); String getStringOr(String key, String defaultValue); Optional getIntArray(String key); @Deprecated HolderLookup.Provider lookup(); public interface TypedInputList extends Iterable { boolean isEmpty(); Stream stream(); } public interface ValueInputList extends Iterable { boolean isEmpty(); Stream stream(); } }