add redstone engine API
This commit is contained in:
parent
ad36ec30cd
commit
778d76b136
3 changed files with 9 additions and 4 deletions
|
@ -13,6 +13,7 @@ import net.minecraft.util.ResourceLocation;
|
|||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import buildcraft.api.pipes.IPipeContainer;
|
||||
import buildcraft.api.pipes.IPipeContainer.PipeType;
|
||||
import buildcraft.api.power.IRedstoneEngineReceiver;
|
||||
import buildcraft.factory.TilePump;
|
||||
|
||||
public class TileEngineWood extends TileEngine {
|
||||
|
@ -126,7 +127,7 @@ public class TileEngineWood extends TileEngine {
|
|||
TileEntity tile = getTile(orientation);
|
||||
|
||||
// TODO: Make a proper API out of this
|
||||
if (tile instanceof TilePump ||
|
||||
if ((tile instanceof IRedstoneEngineReceiver && ((IRedstoneEngineReceiver) tile).canConnectRedstoneEngine(orientation.getOpposite())) ||
|
||||
(tile instanceof IPipeContainer && ((IPipeContainer) tile).getPipeType() != PipeType.POWER)) {
|
||||
super.sendPower();
|
||||
} else {
|
||||
|
|
|
@ -29,6 +29,7 @@ import buildcraft.BuildCraftCore;
|
|||
import buildcraft.BuildCraftFactory;
|
||||
import buildcraft.api.core.BlockIndex;
|
||||
import buildcraft.api.core.SafeTimeTracker;
|
||||
import buildcraft.api.power.IRedstoneEngineReceiver;
|
||||
import buildcraft.api.tiles.IHasWork;
|
||||
import buildcraft.core.CoreConstants;
|
||||
import buildcraft.core.EntityBlock;
|
||||
|
@ -41,7 +42,7 @@ import buildcraft.core.proxy.CoreProxy;
|
|||
import buildcraft.core.utils.BlockUtils;
|
||||
import buildcraft.core.utils.Utils;
|
||||
|
||||
public class TilePump extends TileBuildCraft implements IHasWork, IFluidHandler {
|
||||
public class TilePump extends TileBuildCraft implements IHasWork, IFluidHandler, IRedstoneEngineReceiver {
|
||||
|
||||
public static final int REBUID_DELAY = 512;
|
||||
public static int MAX_LIQUID = FluidContainerRegistry.BUCKET_VOLUME * 16;
|
||||
|
@ -448,4 +449,9 @@ public class TilePump extends TileBuildCraft implements IHasWork, IFluidHandler
|
|||
public FluidTankInfo[] getTankInfo(ForgeDirection from) {
|
||||
return new FluidTankInfo[]{tank.getInfo()};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canConnectRedstoneEngine(ForgeDirection side) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -895,8 +895,6 @@ public class TileGenericPipe extends TileEntity implements IFluidHandler,
|
|||
public boolean hasGate(ForgeDirection direction) {
|
||||
if (direction == null || direction == ForgeDirection.UNKNOWN) {
|
||||
return false;
|
||||
} else if (this.getWorldObj().isRemote) {
|
||||
return renderState.gateMatrix.isGateExists(direction);
|
||||
} else {
|
||||
return sideProperties.pluggables[direction.ordinal()] instanceof GatePluggable;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue