List of usage examples for net.minecraftforge.fluids.capability CapabilityFluidHandler FLUID_HANDLER_CAPABILITY
Capability FLUID_HANDLER_CAPABILITY
To view the source code for net.minecraftforge.fluids.capability CapabilityFluidHandler FLUID_HANDLER_CAPABILITY.
Click Source Link
From source file:appeng.parts.p2p.PartP2PFluids.java
License:Open Source License
@Override public boolean hasCapability(Capability<?> capabilityClass) { if (capabilityClass == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) { return true; }//from w w w .j ava2 s. co m return super.hasCapability(capabilityClass); }
From source file:appeng.parts.p2p.PartP2PFluids.java
License:Open Source License
@Override public <T> T getCapability(Capability<T> capabilityClass) { if (capabilityClass == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) { return (T) this; }// w w w. j av a 2 s . c o m return super.getCapability(capabilityClass); }
From source file:appeng.parts.p2p.PartP2PFluids.java
License:Open Source License
private IFluidHandler getTarget() { if (!this.getProxy().isActive()) { return null; }//from ww w .j a v a 2 s. c o m if (this.cachedTank != null) { return this.cachedTank; } final TileEntity te = this.getTile().getWorld() .getTileEntity(this.getTile().getPos().offset(this.getSide().getFacing())); if (te != null && te.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, this.getSide().getFacing().getOpposite())) { return this.cachedTank = te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, this.getSide().getFacing().getOpposite()); } return null; }
From source file:blusunrize.immersiveengineering.common.blocks.metal.TileEntityBelljar.java
@Override public boolean hasCapability(Capability<?> capability, EnumFacing facing) { if (getGuiMaster() != null) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) return dummy == 0 ? (facing == null || facing.getAxis() != this.facing.rotateY().getAxis()) : dummy == 1 && (facing == null || facing == this.facing.getOpposite()); else if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) return dummy == 0 && (facing == null || facing.getAxis() != this.facing.rotateY().getAxis()); }/*from w w w . j a v a 2 s .c o m*/ return super.hasCapability(capability, facing); }
From source file:blusunrize.immersiveengineering.common.blocks.metal.TileEntityBelljar.java
@Override public <T> T getCapability(Capability<T> capability, EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { if (dummy == 0 && (facing == null || facing.getAxis() != this.facing.rotateY().getAxis())) return (T) inputHandler; if (dummy == 1 && (facing == null || facing == this.facing.getOpposite())) { TileEntityBelljar te = getGuiMaster(); if (te != null) return (T) te.outputHandler; }// ww w .j a va 2 s.c o m } else if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY && dummy == 0 && (facing == null || facing.getAxis() != this.facing.rotateY().getAxis())) return (T) tank; return super.getCapability(capability, facing); }
From source file:blusunrize.immersiveengineering.common.blocks.metal.TileEntityFluidPipe.java
public static Set<DirectionalFluidOutput> getConnectedFluidHandlers(BlockPos node, World world) { if (indirectConnections.containsKey(node)) return indirectConnections.get(node); ArrayList<BlockPos> openList = new ArrayList<>(); ArrayList<BlockPos> closedList = new ArrayList<>(); Set<DirectionalFluidOutput> fluidHandlers = Collections.newSetFromMap(new ConcurrentHashMap<>()); openList.add(node);/*from w w w .j av a 2 s . c om*/ while (!openList.isEmpty() && closedList.size() < 1024) { BlockPos next = openList.get(0); TileEntity pipeTile = Utils.getExistingTileEntity(world, next); if (!closedList.contains(next) && (pipeTile instanceof IFluidPipe)) { if (pipeTile instanceof TileEntityFluidPipe) closedList.add(next); IFluidTankProperties[] tankInfo; for (int i = 0; i < 6; i++) { // boolean b = (te instanceof TileEntityFluidPipe)? (((TileEntityFluidPipe) te).sideConfig[i]==0): (((TileEntityFluidPump) te).sideConfig[i]==1); EnumFacing fd = EnumFacing.byIndex(i); if (((IFluidPipe) pipeTile).hasOutputConnection(fd)) { BlockPos nextPos = next.offset(fd); TileEntity adjacentTile = Utils.getExistingTileEntity(world, nextPos); if (adjacentTile != null) if (adjacentTile instanceof TileEntityFluidPipe) openList.add(nextPos); else if (adjacentTile.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, fd.getOpposite())) { IFluidHandler handler = adjacentTile.getCapability( CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, fd.getOpposite()); if (handler != null) { tankInfo = handler.getTankProperties(); if (tankInfo != null && tankInfo.length > 0) fluidHandlers.add(new DirectionalFluidOutput(handler, adjacentTile, fd)); } } } } } openList.remove(0); } if (FMLCommonHandler.instance().getEffectiveSide() == Side.SERVER) { if (!indirectConnections.containsKey(node)) { indirectConnections.put(node, newSetFromMap(new ConcurrentHashMap<DirectionalFluidOutput, Boolean>())); indirectConnections.get(node).addAll(fluidHandlers); } } return fluidHandlers; }
From source file:blusunrize.immersiveengineering.common.blocks.metal.TileEntityFluidPipe.java
@Override public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) { if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY && facing != null && sideConfig[facing.ordinal()] == 0) return true; return super.hasCapability(capability, facing); }
From source file:blusunrize.immersiveengineering.common.blocks.metal.TileEntityFluidPipe.java
@Override public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) { if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY && facing != null && sideConfig[facing.ordinal()] == 0) return (T) sidedHandlers[facing.ordinal()]; return super.getCapability(capability, facing); }
From source file:blusunrize.immersiveengineering.common.blocks.metal.TileEntityFluidPipe.java
public boolean updateConnectionByte(EnumFacing dir) { IFluidTankProperties[] tankInfo;//from ww w. j av a 2 s . c o m final byte oldConn = connections; int i = dir.getIndex(); int mask = 1 << i; connections &= ~mask; TileEntity con = Utils.getExistingTileEntity(world, getPos().offset(dir)); if (sideConfig[i] == 0 && con != null && con.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, dir.getOpposite())) { IFluidHandler handler = con.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, dir.getOpposite()); if (handler != null) { tankInfo = handler.getTankProperties(); if (tankInfo != null && tankInfo.length > 0) connections |= mask; } } return oldConn != connections; }
From source file:blusunrize.immersiveengineering.common.blocks.metal.TileEntityFluidPipe.java
public byte getAvailableConnectionByte() { byte connections = 0; IFluidTankProperties[] tankInfo;//w ww.j a va 2 s . co m for (int i = 5; i >= 0; i--) { // TileEntity con = world.getTileEntity(xCoord+(i==4?-1: i==5?1: 0),yCoord+(i==0?-1: i==1?1: 0),zCoord+(i==2?-1: i==3?1: 0)); EnumFacing dir = EnumFacing.byIndex(i); TileEntity con = Utils.getExistingTileEntity(world, getPos().offset(dir)); connections <<= 1; if (con != null && con.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, dir.getOpposite())) { IFluidHandler handler = con.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, dir.getOpposite()); if (handler != null) { tankInfo = handler.getTankProperties(); if (tankInfo != null && tankInfo.length > 0) connections |= 1; } } } return connections; }