| 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); |
| } |
| } |
| |
| } |