blob: 8347a113fa687b8b6f47866badb0431367546ede [file] [log] [blame] [raw]
package universalelectricity.prefab.tile;
import universalelectricity.prefab.implement.IDisableable;
/**
* An easier way to implement the methods from IElectricityDisableable with default values set.
*
* @author Calclavia
*/
public abstract class TileEntityDisableable extends TileEntityAdvanced implements IDisableable
{
protected int disabledTicks = 0;
@Override
public void updateEntity()
{
super.updateEntity();
if (this.disabledTicks > 0)
{
this.disabledTicks--;
this.whileDisable();
return;
}
}
/**
* Called every tick while this tile entity is disabled.
*/
protected void whileDisable()
{
}
@Override
public void onDisable(int duration)
{
this.disabledTicks = duration;
}
@Override
public boolean isDisabled()
{
return this.disabledTicks > 0;
}
}