package emasher.tileentities;
import emasher.EngineersToolbox;
import emasher.packethandling.AdapterSideMessage;
import emasher.packethandling.RequestInfoFromServerMessage;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
public abstract class TileAdapterBase extends TileEntity {
public boolean[] outputs = new boolean[] {false, false, false, false, false, false};
public void toggleOutput( int side ) {
outputs[side] = !outputs[side];
EngineersToolbox.network().sendToDimension( new AdapterSideMessage( this, ( byte ) side ), worldObj.provider.dimensionId );
}
@Override
public void validate() {
super.validate();
if( this.worldObj.isRemote ) {
for( int i = 0; i < 6; i++ ) {
EngineersToolbox.network().sendToServer( new RequestInfoFromServerMessage( this, ( byte ) i, ( byte ) 4 ) );
}
}
}
@Override
public void writeToNBT( NBTTagCompound data ) {
super.writeToNBT( data );
for( int i = 0; i < 6; i++ ) {
data.setBoolean( "outputs" + i, outputs[i] );
}
}
@Override
public void readFromNBT( NBTTagCompound data ) {
super.readFromNBT( data );
for( int i = 0; i < 6; i++ ) {
if( data.hasKey( "outputs" + i ) ) outputs[i] = data.getBoolean( "outputs" + i );
}
}
}