if (MainProxy.isClient(getWorld())) return;
super.throttledUpdateEntity();
WorldUtil worldUtil = new WorldUtil(getWorld(), getX(), getY(), getZ());
for (AdjacentTile tile : worldUtil.getAdjacentTileEntities(true)){
if (!(tile.tile instanceof IFluidHandler) || SimpleServiceLocator.pipeInformaitonManager.isPipe(tile.tile)) continue;
IFluidHandler container = (IFluidHandler) tile.tile;
if (container.getTankInfo(ForgeDirection.UNKNOWN) == null || container.getTankInfo(ForgeDirection.UNKNOWN).length == 0) continue;
//How much do I want?
Map<ItemIdentifier, Integer> wantContainers = dummyInventory.getItemsAndCount();
HashMap<FluidIdentifier, Integer> wantFluids = new HashMap<FluidIdentifier, Integer>();
for (Entry<ItemIdentifier, Integer> item : wantContainers.entrySet()){
ItemStack wantItem = item.getKey().unsafeMakeNormalStack(1);
FluidStack liquidstack = FluidContainerRegistry.getFluidForFilledItem(wantItem);
if (liquidstack == null) continue;
wantFluids.put(FluidIdentifier.get(liquidstack), item.getValue() * liquidstack.amount);
}
//How much do I have?
HashMap<FluidIdentifier, Integer> haveFluids = new HashMap<FluidIdentifier, Integer>();
FluidTankInfo[] result = container.getTankInfo(ForgeDirection.UNKNOWN);
for (FluidTankInfo slot : result){
if (slot == null || slot.fluid == null || slot.fluid.fluidID == 0 || !wantFluids.containsKey(FluidIdentifier.get(slot.fluid))) continue;
Integer liquidWant = haveFluids.get(FluidIdentifier.get(slot.fluid));
if (liquidWant==null){
haveFluids.put(FluidIdentifier.get(slot.fluid), slot.fluid.amount);