package zmaster587.advancedRocketry.api.satellite; import net.minecraftforge.common.util.ForgeDirection; import zmaster587.advancedRocketry.api.DataStorage; public interface IDataHandler { /** * @param maxAmount Maximum amount to extract * @param type the {@link DataStorage.DataType} to extract, UNDEFINED if it does not matter * @param dir the direction from which the data is being extracted, UNKNOWN for internal use * @param commit true if the change is to be commited, false if simulated * @return amount of data actually extracted */ public int extractData(int maxAmount, DataStorage.DataType type, ForgeDirection dir, boolean commit); /** * @param maxAmount Maximum amount to add * @param type the {@link DataStorage.DataType} to extract, UNDEFINED if it does not matter * @param dir the direction from which the data is being extracted, UNKNOWN for internal use * @param commit true if the change is to be commited, false if simulated * @return Amount of data actually added */ public int addData(int maxAmount, DataStorage.DataType type, ForgeDirection dir, boolean commit); /** * * @param type data type * @return the amount of data on the object */ //public int getDataAmount(DataStorage.DataType type); }