blob: c71a5ea27aaaeddc696446ca8858925421386c2d [file] [log] [blame] [raw]
package universalelectricity.core.electricity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.event.Cancelable;
import net.minecraftforge.event.Event;
import universalelectricity.core.block.IElectrical;
import universalelectricity.core.grid.IElectricityNetwork;
public class ElectricalEvent extends Event
{
/**
* Call this to have your TileEntity produce power into the network.
*
* @author Calclavia
*
*/
@Cancelable
public static class ElectricityProduceEvent extends ElectricalEvent
{
public World world;
public IElectrical tileEntity;
public ElectricityProduceEvent(IElectrical tileEntity)
{
this.tileEntity = tileEntity;
this.world = ((TileEntity) this.tileEntity).worldObj;
}
}
public static class NetworkEvent extends ElectricalEvent
{
public final IElectricityNetwork network;
public ElectricityPack electricityPack;
public TileEntity[] ignoreTiles;
public NetworkEvent(IElectricityNetwork network, ElectricityPack electricityPack, TileEntity... ignoreTiles)
{
this.network = network;
this.electricityPack = electricityPack;
this.ignoreTiles = ignoreTiles;
}
}
/**
* Internal Events. These events are fired when something happens in the network.
*
* @author Calclavia
*
*/
@Cancelable
public static class ElectricityProductionEvent extends NetworkEvent
{
public ElectricityProductionEvent(IElectricityNetwork network, ElectricityPack electricityPack, TileEntity... ignoreTiles)
{
super(network, electricityPack, ignoreTiles);
}
}
public static class ElectricityRequestEvent extends NetworkEvent
{
public ElectricityRequestEvent(IElectricityNetwork network, ElectricityPack electricityPack, TileEntity... ignoreTiles)
{
super(network, electricityPack, ignoreTiles);
}
}
}