package matteroverdrive.data;
import matteroverdrive.data.inventory.Slot;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import java.util.ArrayList;
import java.util.Collection;
/**
* Created by Simeon on 5/26/2015.
*/
public class TileEntityInventory extends Inventory
{
TileEntity entity;
public TileEntityInventory(TileEntity entity, String name) {
this(entity, name, new ArrayList<>());
}
public TileEntityInventory(TileEntity entity, String name, Collection<Slot> slots) {
this(entity,name, slots,null);
}
public TileEntityInventory(TileEntity entity, String name, Collection<Slot> slots, IUsableCondition usableCondition) {
super(name, slots, usableCondition);
this.entity = entity;
}
@Override
public void markDirty()
{
if(this.entity != null)
{
this.entity.markDirty();
}
}
@Override
public boolean isUseableByPlayer(EntityPlayer player)
{
if(usableCondition != null)
{
return usableCondition.usableByPlayer(player);
}
return entity.getWorldObj().getTileEntity(entity.xCoord, entity.yCoord, entity.zCoord) != entity ? false : player.getDistanceSq((double)entity.xCoord + 0.5D, (double)entity.yCoord + 0.5D, (double)entity.zCoord + 0.5D) <= 64.0D;
}
}