Interface FluidMixer.IFluidMixer

Enclosing class:
FluidMixer

public static interface FluidMixer.IFluidMixer
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    afterMix(net.minecraft.core.RegistryAccess registryAccess, net.neoforged.neoforge.fluids.FluidStack result, net.neoforged.neoforge.fluids.FluidStack... fluidStacks)
    Called on every FluidMixer.IFluidMixer after the highest-priority FluidMixer.IFluidMixer has mixed them.
    default int
    getAmountToMixIn(net.minecraft.core.RegistryAccess registryAccess, int maxResultAmount, net.neoforged.neoforge.fluids.FluidStack baseFluidStack, net.neoforged.neoforge.fluids.FluidStack addedFluidStack)
    Get the maximum amount of addedFluid which can be mixed in such that the mixing result amount is no larger than maxResultAmount.
    default int
    getMix2Priority(net.minecraft.core.RegistryAccess registryAccess, net.neoforged.neoforge.fluids.FluidStack fluidStack1, net.neoforged.neoforge.fluids.FluidStack fluidStack2)
    Shortcut version of getMixPriority(RegistryAccess, FluidStack...) for 2 Fluids only.
    int
    getMixPriority(net.minecraft.core.RegistryAccess registryAccess, net.neoforged.neoforge.fluids.FluidStack... fluidStacks)
    Decide whether this FluidMixer.IFluidMixer is applicable to this combination of Fluid Stacks, and if so, what priority this mixer has for mixing them.
    net.neoforged.neoforge.fluids.FluidStack
    mix(net.minecraft.core.RegistryAccess registryAccess, net.neoforged.neoforge.fluids.FluidStack... fluidStacks)
    Called on only one FluidMixer.IFluidMixer whenever Fluids are mixed.
    default net.neoforged.neoforge.fluids.FluidStack
    mix2(net.minecraft.core.RegistryAccess registryAccess, net.neoforged.neoforge.fluids.FluidStack fluidStack1, net.neoforged.neoforge.fluids.FluidStack fluidStack2)
    Shortcut version of mix(RegistryAccess, FluidStack...) for 2 Fluids only.
  • Method Details

    • getAmountToMixIn

      default int getAmountToMixIn(net.minecraft.core.RegistryAccess registryAccess, int maxResultAmount, net.neoforged.neoforge.fluids.FluidStack baseFluidStack, net.neoforged.neoforge.fluids.FluidStack addedFluidStack)
      Get the maximum amount of addedFluid which can be mixed in such that the mixing result amount is no larger than maxResultAmount. Do not modify either Fluid Stack.
      Parameters:
      baseFluidStack -
      addedFluidStack -
      Returns:
      Integer less than or equal to the amount of addedFluid
    • getMix2Priority

      default int getMix2Priority(net.minecraft.core.RegistryAccess registryAccess, net.neoforged.neoforge.fluids.FluidStack fluidStack1, net.neoforged.neoforge.fluids.FluidStack fluidStack2)
      Shortcut version of getMixPriority(RegistryAccess, FluidStack...) for 2 Fluids only.
    • getMixPriority

      int getMixPriority(net.minecraft.core.RegistryAccess registryAccess, net.neoforged.neoforge.fluids.FluidStack... fluidStacks)
      Decide whether this FluidMixer.IFluidMixer is applicable to this combination of Fluid Stacks, and if so, what priority this mixer has for mixing them. Do not modify any Fluid Stack.
      Parameters:
      fluidStacks - Stacks to mix
      Returns:
      Negative number to not use this mixer, 0 to only call afterMix(RegistryAccess, FluidStack, FluidStack...), or a positive priority to bid to call mix(RegistryAccess, FluidStack...).
    • mix2

      default net.neoforged.neoforge.fluids.FluidStack mix2(net.minecraft.core.RegistryAccess registryAccess, net.neoforged.neoforge.fluids.FluidStack fluidStack1, net.neoforged.neoforge.fluids.FluidStack fluidStack2)
      Shortcut version of mix(RegistryAccess, FluidStack...) for 2 Fluids only. The amount does not necessarily have to be the sum of amounts of each input Fluid Stack, but if it is not make sure getAmountToMixIn(RegistryAccess, int, FluidStack, FluidStack) is properly defined.
    • mix

      net.neoforged.neoforge.fluids.FluidStack mix(net.minecraft.core.RegistryAccess registryAccess, net.neoforged.neoforge.fluids.FluidStack... fluidStacks)
      Called on only one FluidMixer.IFluidMixer whenever Fluids are mixed. Do not modify any Fluid Stack.
      Parameters:
      fluidStacks -
      Returns:
      A new Fluid Stack instance
    • afterMix

      void afterMix(net.minecraft.core.RegistryAccess registryAccess, net.neoforged.neoforge.fluids.FluidStack result, net.neoforged.neoforge.fluids.FluidStack... fluidStacks)
      Called on every FluidMixer.IFluidMixer after the highest-priority FluidMixer.IFluidMixer has mixed them. Do not change the amount of Fluid.
      Parameters:
      result -
      fluidStacks - Input Fluid Stacks