本文整理汇总了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;未经允许,请勿转载。 |
请发表评论