@Nullable @Override public FluidStack drain(FluidStack resource, boolean doDrain) { if (FluidHelper.isFluidEqual(resource, container.getFluid(stack))) { return container.drain(stack, resource.amount, doDrain); } return null; }
@Nullable @Override public FluidStack drain(FluidStack resource, boolean doDrain) { if (isCreative) { if (!FluidHelper.isFluidEqual(resource, tank.getFluid())) { return null; } return resource.copy(); } FluidStack retStack = tank.drain(resource, doDrain); if (retStack != null) { renderFlag = true; } return retStack; }
@Override protected void processStart() { processMax = curRecipe.getEnergy() * energyMod / ENERGY_BASE; processRem = processMax; FluidStack prevStack = renderFluid.copy(); renderFluid = curRecipe.getOutput().copy(); renderFluid.amount = 0; if (!FluidHelper.isFluidEqual(prevStack, renderFluid)) { sendFluidPacket(); } }
@Override protected void processStart() { processMax = curRecipe.getEnergy() * energyMod / ENERGY_BASE; processRem = processMax; FluidStack prevStack = renderFluid.copy(); renderFluid = inputTank.getFluid().copy(); renderFluid.amount = 0; if (!FluidHelper.isFluidEqual(prevStack, renderFluid)) { sendFluidPacket(); } }
@Override protected void processStart() { processMax = curRecipe.getEnergy() * energyMod / ENERGY_BASE; processRem = processMax; FluidStack prevStack = renderFluid.copy(); renderFluid = curRecipe.getOutputFluid().copy(); renderFluid.amount = 0; if (!FluidHelper.isFluidEqual(prevStack, renderFluid)) { sendFluidPacket(); } }
if (contained != null) { for (FluidStack fluid : fluids.get(0)) { if (FluidHelper.isFluidEqual(contained, fluid)) { focusFluids.add(fluid); for (ItemStack stack : outputs.get(0)) { FluidStack contained = FluidHelper.getFluidStackFromHandler(stack); if (contained == null || FluidHelper.isFluidEqual(fluid, contained)) { focusOutputs.add(stack);
if (contained != null) { for (FluidStack fluid : fluids.get(0)) { if (FluidHelper.isFluidEqual(contained, fluid)) { focusFluids.add(fluid); for (ItemStack stack : inputs.get(0)) { FluidStack contained = FluidHelper.getFluidStackFromHandler(stack); if (contained == null || FluidHelper.isFluidEqual(fluid, contained)) { focusInputs.add(stack);
@Override protected boolean canStart() { PrecipitatorRecipe recipe = PrecipitatorManager.getRecipe(outputItem[0]); if (recipe == null) { return false; } if (!FluidHelper.isFluidEqual(tank.getFluid(), recipe.getInput())) { return false; } if (tank.getFluidAmount() < recipe.getInput().amount || energyStorage.getEnergyStored() <= 0) { return false; } if (inventory[0].isEmpty()) { return true; } if (!inventory[0].isItemEqual(outputItem[0])) { return false; } return inventory[0].getCount() + outputItem[0].getCount() <= outputItem[0].getMaxStackSize(); }
private void processStartHandler() { IFluidHandlerItem handler = inventory[1].getCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null); IFluidTankProperties[] tankProperties = handler.getTankProperties(); FluidStack handlerStack = tankProperties[0].getContents(); FluidStack prevStack = renderFluid.copy(); if (!extractMode) { renderFluid = tank.getFluid() == null ? null : tank.getFluid().copy(); } else { renderFluid = tank.getFluid() == null ? handlerStack == null ? null : handlerStack.copy() : tank.getFluid().copy(); } if (renderFluid == null) { renderFluid = new FluidStack(FluidRegistry.WATER, 0); } else { renderFluid.amount = 0; } processMax = TransposerManager.DEFAULT_ENERGY * energyMod / ENERGY_BASE; processRem = processMax; if (!FluidHelper.isFluidEqual(prevStack, renderFluid)) { sendFluidPacket(); } }
if (!FluidHelper.isFluidEqual(potionFluid, renderFluid)) { renderFluid = new FluidStack(potionFluid, 0); sendFluidPacket();
@Override protected void processStart() { FluidStack prevStack = renderFluid.copy(); TransposerRecipe recipe; if (!extractMode) { recipe = TransposerManager.getFillRecipe(inventory[0], tank.getFluid()); processMax = recipe.getEnergy() * energyMod / ENERGY_BASE; renderFluid = tank.getFluid().copy(); } else { recipe = TransposerManager.getExtractRecipe(inventory[0]); processMax = recipe.getEnergy() * energyMod / ENERGY_BASE; renderFluid = recipe.getFluid().copy(); } renderFluid.amount = 0; processRem = processMax; inventory[1] = ItemHelper.cloneStack(inventory[0], recipe.getInput().getCount()); inventory[0].shrink(recipe.getInput().getCount()); if (inventory[0].getCount() <= 0) { inventory[0] = ItemStack.EMPTY; } if (!FluidHelper.isFluidEqual(prevStack, renderFluid)) { sendFluidPacket(); } }