package mekanism.common.multiblock;
import java.util.HashSet;
import java.util.Set;
import mekanism.api.Coord4D;
import net.minecraft.item.ItemStack;
public abstract class SynchronizedData<T extends SynchronizedData<T>>
{
public Set<Coord4D> locations = new HashSet<Coord4D>();
public int volLength;
public int volWidth;
public int volHeight;
public int volume;
public String inventoryID;
public boolean didTick;
public boolean hasRenderer;
public Coord4D renderLocation;
public Coord4D minLocation;
public Coord4D maxLocation;
public boolean destroyed;
public Set<Coord4D> internalLocations = new HashSet<Coord4D>();
public ItemStack[] getInventory()
{
return null;
}
@Override
public int hashCode()
{
int code = 1;
code = 31 * code + locations.hashCode();
code = 31 * code + volLength;
code = 31 * code + volWidth;
code = 31 * code + volHeight;
code = 31 * code + volume;
return code;
}
@Override
public boolean equals(Object obj)
{
if(obj == null || obj.getClass() != getClass())
{
return false;
}
SynchronizedData<T> data = (SynchronizedData<T>)obj;
if(!data.locations.equals(locations))
{
return false;
}
if(data.volLength != volLength || data.volWidth != volWidth || data.volHeight != volHeight)
{
return false;
}
if(data.volume != volume)
{
return false;
}
return true;
}
}