当前位置: 首页>>代码示例>>Java>>正文


Java IPipeConnection类代码示例

本文整理汇总了Java中buildcraft.api.transport.IPipeConnection的典型用法代码示例。如果您正苦于以下问题:Java IPipeConnection类的具体用法?Java IPipeConnection怎么用?Java IPipeConnection使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


IPipeConnection类属于buildcraft.api.transport包,在下文中一共展示了IPipeConnection类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getPipeDirections

import buildcraft.api.transport.IPipeConnection; //导入依赖的package包/类
/**
 * Returns a list of adjacent pipes.
 * 
 * @param world
 * @param blockPos
 * @return
 */
public static ForgeDirection[] getPipeDirections(World world, Vect blockPos, ForgeDirection from) {
	LinkedList<ForgeDirection> possiblePipes = new LinkedList<ForgeDirection>();

	for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
		if(from != ForgeDirection.UNKNOWN && from != dir.getOpposite())
			continue;
		
		Position posPipe = new Position(blockPos.x, blockPos.y, blockPos.z, dir);
		posPipe.moveForwards(1.0);

		TileEntity pipeEntry = world.getBlockTileEntity((int) posPipe.x, (int) posPipe.y, (int) posPipe.z);

		if (pipeEntry instanceof IPipeEntry && ((IPipeEntry) pipeEntry).acceptItems()) {
			if(from != ForgeDirection.UNKNOWN && pipeEntry instanceof IPipeConnection) {
				if(((IPipeConnection)pipeEntry).isPipeConnected(from))
					possiblePipes.add(dir);
			} else
				possiblePipes.add(dir);
		}
	}

	return possiblePipes.toArray(new ForgeDirection[0]);

}
 
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:32,代码来源:BlockUtil.java

示例2: getPipeDirections

import buildcraft.api.transport.IPipeConnection; //导入依赖的package包/类
public static ForgeDirection[] getPipeDirections(World world, BlockPosition blockPos, ForgeDirection from) {
	LinkedList<ForgeDirection> possiblePipes = new LinkedList<ForgeDirection>();

	for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
		if (from != ForgeDirection.UNKNOWN && from != dir.getOpposite()) {
			continue;
		}

		Position posPipe = new Position(blockPos.x, blockPos.y, blockPos.z, dir);
		posPipe.moveForwards(1.0);

		TileEntity pipeEntry = world.getTileEntity((int) posPipe.x, (int) posPipe.y, (int) posPipe.z);

		if (pipeEntry instanceof IPipe && ((IPipe) pipeEntry).getTile().canInjectItems(from)) {
			if (from != ForgeDirection.UNKNOWN && pipeEntry instanceof IPipeConnection) {
				if (((IPipe) pipeEntry).getTile().isPipeConnected(from)) {
					possiblePipes.add(dir);
				}
			} else {
				possiblePipes.add(dir);
			}
		}
	}

	return possiblePipes.toArray(new ForgeDirection[possiblePipes.size()]);

}
 
开发者ID:covers1624,项目名称:LegacyFarms,代码行数:28,代码来源:BlockUtils.java

示例3: canInterfaceWith

import buildcraft.api.transport.IPipeConnection; //导入依赖的package包/类
public static boolean canInterfaceWith(TileEntity tile, ForgeDirection side) {
    if (tile instanceof IRelocator) {
        return ((IRelocator) tile).connectsToSide(side.ordinal());
    } else if (Mods.IS_COFH_TRANSPORT_API_LOADED && tile instanceof IItemDuct) {
        return true;
    } else if (Mods.IS_BC_TRANSPORT_API_LOADED && tile instanceof IPipeTile) {
        if (((IPipeTile) tile).getPipeType() == IPipeTile.PipeType.ITEM)
            return true;
    } else if (Mods.IS_BC_TRANSPORT_API_LOADED && tile instanceof IPipeConnection) {
        return ((IPipeConnection) tile).overridePipeConnection(IPipeTile.PipeType.ITEM, side) != IPipeConnection.ConnectOverride.DISCONNECT;
    } else if (tile instanceof IInventory) {
        return !(tile instanceof ISidedInventory) || ((ISidedInventory) tile).getAccessibleSlotsFromSide(side.ordinal()).length > 0;
    }
    return false;
}
 
开发者ID:Dynious,项目名称:RefinedRelocation,代码行数:16,代码来源:IOHelper.java


注:本文中的buildcraft.api.transport.IPipeConnection类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。