| package appeng.api.me.tiles; |
| |
| import appeng.api.config.ItemFlow; |
| |
| /** |
| * Used to access information about AE's various power accepting blocks for monitoring purposes. |
| * |
| */ |
| public interface IMEPowerStorage { |
| |
| /** |
| * ME power storage asset, pass the amount you want to use, and what you want to use it for. |
| * @param use |
| * @param for_what |
| * @return if you can use it. |
| */ |
| boolean useMEEnergy( float use, String for_what ); |
| |
| /** |
| * Add energy to an ME Power storage. |
| * @param amt that was not added to storage myEnergy = addMEPower( myEnergy ); // pushes your power into the network. |
| * @return |
| */ |
| public double addMEPower( double amt ); |
| |
| /** |
| * returns the current maximum power ( this can change :P ) |
| */ |
| public double getMEMaxPower(); |
| |
| /** |
| * returns the current AE Power Level, this may exceed getMEMaxPower() |
| */ |
| public double getMECurrentPower(); |
| |
| /** |
| * Checked on network reset to see if your block can be used as a public power storage ( use getPowerFlow to control the behavior ) |
| * @return |
| */ |
| public boolean isPublicPowerStorage(); |
| |
| /** |
| * Control the power flow by telling what the controller can do, either add? or subtract? or both! |
| * @return |
| */ |
| public ItemFlow getPowerFlow(); |
| |
| /** |
| * Drains power from this storage, it returns the power it was able to obtain. |
| * @param amt - amount of power to drain. |
| * @return amount of power obtained. |
| */ |
| double drainMEPower(double amt); |
| |
| } |