/** * Copyright (c) 2011-2015, 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.transport; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import buildcraft.api.core.EnumColor; import buildcraft.api.transport.pluggable.PipePluggable; public interface IPipeTile extends IInjectable { enum PipeType { ITEM, FLUID, POWER, STRUCTURE } PipeType getPipeType(); World getWorld(); int x(); int y(); int z(); /** * True if the pipe is connected to the block/pipe in the specific direction * * @param with * @return true if connect */ boolean isPipeConnected(ForgeDirection with); Block getNeighborBlock(ForgeDirection dir); TileEntity getNeighborTile(ForgeDirection dir); IPipe getNeighborPipe(ForgeDirection dir); IPipe getPipe(); int getPipeColor(); PipePluggable getPipePluggable(ForgeDirection direction); // Now in IPluggableProvider boolean hasPipePluggable(ForgeDirection direction); // Now in IPluggableProvider boolean hasBlockingPluggable(ForgeDirection direction); void scheduleNeighborChange(); void scheduleRenderUpdate(); // For compatibility with BC 6.2.x and below int injectItem(ItemStack stack, boolean doAdd, ForgeDirection from, EnumColor color); @Deprecated // Now in IInjectable int injectItem(ItemStack stack, boolean doAdd, ForgeDirection from); }