package buildcraft.api.transport.pipe_bc8;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.fluids.Fluid;
import buildcraft.api.core.INBTLoadable_BC8;
import buildcraft.api.core.INetworkLoadable_BC8;
import buildcraft.api.transport.pipe_bc8.IPipePropertyProvider.IPipePropertyProviderEditable;
import io.netty.buffer.ByteBuf;
/** Provides a way to change the contents of a pipe. */
public interface IPipeContentsEditable extends IPipeContents, INetworkLoadable_BC8<IPipeContentsEditable>, INBTLoadable_BC8<IPipeContentsEditable> {
IPipeContents asReadOnly();
void setJourneyPart(EnumContentsJourneyPart journeyPart);
void setDirection(EnumFacing direction);
void setSpeed(double speed);
public interface IPipeContentsEditableFluid extends IPipeContentsEditable, IPipeContentsFluid {
int setAmount(int newAmount);
void setFluid(Fluid fluid);
void setNBT(NBTTagCompound compound);
void setFluidStack();
@Override
IPipeContentsFluid asReadOnly();
@Override
IPipeContentsEditableFluid readFromNBT(NBTBase nbt);
@Override
IPipeContentsEditableFluid readFromByteBuf(ByteBuf buf);
}
public interface IPipeContentsEditableItem extends IPipeContentsEditable, IPipeContentsItem {
void setStack(ItemStack newStack);
@Override
IPipePropertyProviderEditable getProperties();
@Override
IPipeContentsItem asReadOnly();
@Override
IPipeContentsEditableItem readFromNBT(NBTBase nbt);
@Override
IPipeContentsEditableItem readFromByteBuf(ByteBuf buf);
}
}