buildcraft/api/buildcraft/api/power/IEngine.java
2017-11-10 19:30:36 +01:00

37 lines
1.3 KiB
Java

/**
* Copyright (c) 2011-2017, SpaceToad and the BuildCraft Team
* http://www.mod-buildcraft.com
*
* The BuildCraft API is distributed under the terms of the MIT License.
* Please check the contents of the license, which should be located
* as "LICENSE.API" in the BuildCraft source code distribution.
*/
package buildcraft.api.power;
import net.minecraftforge.common.util.ForgeDirection;
/**
* Engines should implement this interface if they want to support
* BuildCraft's behaviour of passing energy between engines
* without using receiveEnergy() (which has other issues).
*/
public interface IEngine {
/**
* Returns true if the engine wants to receive power from
* another engine on this side.
* @param side
* @return
*/
boolean canReceiveFromEngine(ForgeDirection side);
/**
* Receives energy from an engine.
* See {@link cofh.api.energy.IEnergyHandler#receiveEnergy(ForgeDirection, int, boolean)}
* @param side The side the engine is receiving energy from.
* @param energy The amount of energy given to the engine.
* @param simulate True if the energy should not actually be added.
* @return The amount of energy used by the engine.
*/
int receiveEnergyFromEngine(ForgeDirection side, int energy, boolean simulate);
}