package crazypants.enderio.machine.obelisk.inhibitor;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import crazypants.enderio.ModObject;
import crazypants.enderio.machine.AbstractPowerConsumerEntity;
import crazypants.enderio.machine.SlotDefinition;
import crazypants.enderio.machine.ranged.IRanged;
public class TileInhibitorObelisk extends AbstractPowerConsumerEntity implements IRanged {
private float range = 32;
public TileInhibitorObelisk() {
super(new SlotDefinition(0, 0, 1));
}
@Override
public String getMachineName() {
return ModObject.blockInhibitorObelisk.unlocalisedName;
}
@Override
protected boolean isMachineItemValidForSlot(int i, ItemStack itemstack) {
return false;
}
@Override
public boolean isActive() {
return hasPower();
}
@Override
protected boolean processTasks(boolean redstoneCheckPassed) {
return redstoneCheckPassed;
}
@Override
public World getWorld() {
return worldObj;
}
@Override
public float getRange() {
return range;
}
public void setRange(float range) {
this.range = range;
BlockInhibitorObelisk.instance.activeInhibitors.put(getLocation(), range);
}
@Override
public boolean isShowingRange() {
return false;
}
@Override
public void validate() {
super.validate();
BlockInhibitorObelisk.instance.activeInhibitors.put(getLocation(), range);
}
@Override
public void invalidate() {
super.invalidate();
BlockInhibitorObelisk.instance.activeInhibitors.remove(getLocation());
}
@Override
public void onChunkUnload() {
super.onChunkUnload();
BlockInhibitorObelisk.instance.activeInhibitors.remove(getLocation());
}
}