Class CrystallizerRecipe

java.lang.Object
com.hbm_m.recipe.CrystallizerRecipe

public class CrystallizerRecipe extends Object
Рецепт рудного окислителя (Crystallizer).

В оригинальном HBM это класс CrystallizerRecipes.CrystallizerRecipe. В новой версии используем стандартные для 1.20.1 типы: Ingredient для входа (поддерживает теги, конкретные предметы и комбинации) и FluidStack для кислоты.

Поля:

  • input — что должен принимать слот 0 (например, Tags.Items.ORES_IRON).
  • inputCount — сколько штук тратится за крафт (1 для большинства, 4-16 для редких).
  • acid — какая кислота и сколько mB (например, 500 mB sulfuric_acid). Если null — рецепт работает с любой кислотой в баке (старое поведение для рецептов без указания типа в оригинале).
  • output — что выдаётся в слот 2.
  • duration — сколько тиков занимает (600 = 30 сек, базовое).
  • productivity — шанс не потратить вход [0..1]. Применяется по уровню апгрейда EFFECT.
  • Constructor Summary

    Constructors
    Constructor
    Description
    CrystallizerRecipe(net.minecraft.world.item.crafting.Ingredient input, int inputCount, dev.architectury.fluid.FluidStack acid, net.minecraft.world.item.ItemStack output, int duration, float productivity)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    dev.architectury.fluid.FluidStack
     
    int
     
    int
     
    net.minecraft.world.item.crafting.Ingredient
     
    int
     
    net.minecraft.world.item.ItemStack
     
    float
     
    boolean
    matchesAcid(dev.architectury.fluid.FluidStack tankFluid)
    Проверяет совпадает ли требуемая кислота с тем, что в баке.
    boolean
    matchesInput(net.minecraft.world.item.ItemStack stack)
    Проверяет совпадает ли вход рецепта со стэком в слоте.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CrystallizerRecipe

      public CrystallizerRecipe(net.minecraft.world.item.crafting.Ingredient input, int inputCount, @Nullable dev.architectury.fluid.FluidStack acid, net.minecraft.world.item.ItemStack output, int duration, float productivity)
  • Method Details

    • getInput

      public net.minecraft.world.item.crafting.Ingredient getInput()
    • getInputCount

      public int getInputCount()
    • getAcid

      @Nullable public dev.architectury.fluid.FluidStack getAcid()
    • getOutput

      public net.minecraft.world.item.ItemStack getOutput()
    • getDuration

      public int getDuration()
    • getProductivity

      public float getProductivity()
    • getAcidAmount

      public int getAcidAmount()
    • matchesInput

      public boolean matchesInput(net.minecraft.world.item.ItemStack stack)
      Проверяет совпадает ли вход рецепта со стэком в слоте. Не проверяет количество — это делается отдельно в machine, чтобы понять хватит ли его на крафт.
    • matchesAcid

      public boolean matchesAcid(dev.architectury.fluid.FluidStack tankFluid)
      Проверяет совпадает ли требуемая кислота с тем, что в баке. Если рецепт не требует конкретной кислоты — возвращает true.