@Override public int getLightValue() { return redstoneControlOrDisable() ? FluidHelper.getFluidLuminosity(FluidRegistry.LAVA) : 0; }
public static void addPotionTooltip(FluidStack stack, List<String> list) { addPotionTooltip(stack, list, 1.0F); }
@Override public int getFuelEnergy(ItemStack stack) { FluidStack fluid = FluidHelper.getFluidForFilledItem(stack); return MagmaticManager.isValidFuel(fluid) ? MagmaticManager.getFuelEnergy(fluid) * (energyMod + coolantFactor) / ENERGY_BASE : 0; }
public static FluidStack getFluidForFilledItem(ItemStack container) { if (container != null && isFluidHandler(container)) { return getFluidStackFromHandler(container); } return null; }
/** * Attempts to interact the item with an IFluidHandler. * Interaction will always try and fill the item first, if this fails it will attempt to drain the item. * * @param stack The stack to interact with. * @param handler The Handler to fill / drain. * @param player The player using the item. * @param hand The hand the player is holding the item in. * @return If any interaction with the handler was successful. */ public static boolean interactWithHandler(ItemStack stack, IFluidHandler handler, EntityPlayer player, EnumHand hand) { return fillItemFromHandler(stack, handler, player, hand) || drainItemToHandler(stack, handler, player, hand); }
List<FluidStack> focusFluids = new ArrayList<>(); ItemStack output = (ItemStack) focus.getValue(); FluidStack contained = FluidHelper.getFluidStackFromHandler(output); if (contained != null) { for (FluidStack fluid : fluids.get(0)) { if (FluidHelper.isFluidEqual(contained, fluid)) { focusFluids.add(fluid); FluidStack fluid = (FluidStack) focus.getValue(); for (ItemStack stack : outputs.get(0)) { FluidStack contained = FluidHelper.getFluidStackFromHandler(stack); if (contained == null || FluidHelper.isFluidEqual(fluid, contained)) { focusOutputs.add(stack); if (FluidHelper.isPotionFluid(ingredient)) { FluidHelper.addPotionTooltip(ingredient, tooltip);
@Override public void addTooltip(List<String> list) { if (tank.getFluid() != null && tank.getFluidAmount() > 0) { list.add(StringHelper.getFluidName(tank.getFluid())); if (FluidHelper.isPotionFluid(tank.getFluid())) { FluidHelper.addPotionTooltip(tank.getFluid(), list, durationFactor); } } if (isInfinite) { list.add(StringHelper.localize("info.cofh.infiniteFluid")); } else { list.add(StringHelper.formatNumber(tank.getFluidAmount()) + " / " + StringHelper.formatNumber(tank.getCapacity()) + " mB"); } }
@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; }
@Override public boolean isItemValid(ItemStack stack) { return TransposerManager.isItemValid(stack) || FluidHelper.isFluidHandler(stack); }
@Override public boolean onBlockActivatedDelegate(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { TileDynamoBase tile = (TileDynamoBase) world.getTileEntity(pos); if (tile == null || !tile.canPlayerAccess(player)) { return false; } if (tile.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null)) { ItemStack heldItem = player.getHeldItem(hand); IFluidHandler handler = tile.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null); if (FluidHelper.isFluidHandler(heldItem)) { FluidHelper.interactWithHandler(heldItem, handler, player, hand); return true; } } return false; }
FluidStack stack = augmentFluid ? FluidHelper.getFluidFromWorld(world, target, true) : null; if (stack != null) { for (int i = 0; i < 6 && stack.amount > 0; i++) { if (sideCache[i] == 1) { stack.amount -= FluidHelper.insertFluidIntoAdjacentFluidHandler(this, EnumFacing.VALUES[i], stack, true);
public static FluidStack getFluidFromWorld(World world, BlockPos pos) { return getFluidFromWorld(world, pos, false); }
List<FluidStack> focusFluids = new ArrayList<>(); ItemStack input = (ItemStack) focus.getValue(); FluidStack contained = FluidHelper.getFluidStackFromHandler(input); if (contained != null) { for (FluidStack fluid : fluids.get(0)) { if (FluidHelper.isFluidEqual(contained, fluid)) { focusFluids.add(fluid); FluidStack fluid = (FluidStack) focus.getValue(); for (ItemStack stack : inputs.get(0)) { FluidStack contained = FluidHelper.getFluidStackFromHandler(stack); if (contained == null || FluidHelper.isFluidEqual(fluid, contained)) { focusInputs.add(stack); if (FluidHelper.isPotionFluid(ingredient)) { FluidHelper.addPotionTooltip(ingredient, tooltip);
@Override public void setRecipe(IRecipeLayout recipeLayout, CrucibleRecipeWrapper recipeWrapper, IIngredients ingredients) { List<List<ItemStack>> inputs = ingredients.getInputs(ItemStack.class); List<List<FluidStack>> outputs = ingredients.getOutputs(FluidStack.class); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiFluidStackGroup guiFluidStacks = recipeLayout.getFluidStacks(); guiItemStacks.init(0, true, 42, 14); guiFluidStacks.init(0, false, 106, 1, 16, 60, TEProps.MAX_FLUID_LARGE, false, tankOverlay); guiItemStacks.set(0, inputs.get(0)); guiFluidStacks.set(0, outputs.get(0)); guiFluidStacks.addTooltipCallback((slotIndex, input, ingredient, tooltip) -> { if (FluidHelper.isPotionFluid(ingredient)) { FluidHelper.addPotionTooltip(ingredient, tooltip); } }); }
@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 public boolean isItemValidForSlot(int slot, ItemStack stack) { return slot != 0 || (FluidHelper.isFluidHandler(stack) || TransposerManager.isItemValid(stack)); }
@Override public boolean onBlockActivatedDelegate(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { TileMachineBase tile = (TileMachineBase) world.getTileEntity(pos); if (tile == null || !tile.canPlayerAccess(player)) { return false; } if (tile.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null)) { ItemStack heldItem = player.getHeldItem(hand); IFluidHandler handler = tile.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null); if (FluidHelper.isFluidHandler(heldItem)) { FluidHelper.interactWithHandler(heldItem, handler, player, hand); return true; } } return false; }
@Override public void setRecipe(IRecipeLayout recipeLayout, BrewerRecipeWrapper recipeWrapper, IIngredients ingredients) { List<List<ItemStack>> inputItems = ingredients.getInputs(ItemStack.class); List<List<FluidStack>> inputFluids = ingredients.getInputs(FluidStack.class); List<List<FluidStack>> outputFluids = ingredients.getOutputs(FluidStack.class); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiFluidStackGroup guiFluidStacks = recipeLayout.getFluidStacks(); guiItemStacks.init(0, true, 69, 22); guiFluidStacks.init(0, true, 22, 16, 16, 30, Fluid.BUCKET_VOLUME, false, null); guiFluidStacks.init(1, false, 126, 1, 16, 60, Fluid.BUCKET_VOLUME, false, null); guiItemStacks.set(0, inputItems.get(0)); guiFluidStacks.set(0, inputFluids.get(0)); guiFluidStacks.set(1, outputFluids.get(0)); guiFluidStacks.addTooltipCallback((slotIndex, input, ingredient, tooltip) -> { if (FluidHelper.isPotionFluid(ingredient)) { FluidHelper.addPotionTooltip(ingredient, tooltip); } }); }
@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(); } }
public static boolean isPlayerHoldingFluidHandler(EntityPlayer player) { return isFluidHandler(player.getHeldItemMainhand()); }