package matteroverdrive.tile.pipes;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.ForgeDirection;
/**
* Created by Simeon on 3/7/2015.
*/
public class MatterTransfer
{
public static final String LIFE_KEY = "transfer_life";
public static final String DIRECTION_KEY = "transfer_direction";
public static final String MATTER_AMOUNT_KEY = "transfer_matter";
public ForgeDirection dir = ForgeDirection.values()[0];
public int amount = 0;
public int life = 0;
private MatterTransfer()
{
}
public MatterTransfer(ForgeDirection dir,int amount,int life)
{
this.dir = dir;
this.amount = amount;
this.life = life;
}
public void writeToNBT(NBTTagCompound tag)
{
if(tag != null)
{
tag.setInteger(MATTER_AMOUNT_KEY,amount);
tag.setByte(DIRECTION_KEY, (byte) dir.ordinal());
tag.setInteger(LIFE_KEY,life);
}
}
public void readFromNBT(NBTTagCompound tag)
{
if(tag != null)
{
if(tag.hasKey(MATTER_AMOUNT_KEY,3))
{
this.amount = tag.getInteger(MATTER_AMOUNT_KEY);
}
if(tag.hasKey(DIRECTION_KEY,1))
{
int dirId = tag.getByte(DIRECTION_KEY);
if(dirId < ForgeDirection.values().length)
{
this.dir = ForgeDirection.values()[dirId];
}
}
if(tag.hasKey(LIFE_KEY,3))
{
this.life = tag.getInteger(LIFE_KEY);
}
}
}
public static MatterTransfer loadMatterTransferFromNBT(NBTTagCompound comp)
{
if(comp != null) {
MatterTransfer t = new MatterTransfer();
t.readFromNBT(comp);
}
return null;
}
}