Package com.hbm_m.recipe
Class CrystallizerRecipe
java.lang.Object
com.hbm_m.recipe.CrystallizerRecipe
Рецепт рудного окислителя (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
ConstructorsConstructorDescriptionCrystallizerRecipe(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 TypeMethodDescriptiondev.architectury.fluid.FluidStackgetAcid()intintnet.minecraft.world.item.crafting.IngredientgetInput()intnet.minecraft.world.item.ItemStackfloatbooleanmatchesAcid(dev.architectury.fluid.FluidStack tankFluid) Проверяет совпадает ли требуемая кислота с тем, что в баке.booleanmatchesInput(net.minecraft.world.item.ItemStack stack) Проверяет совпадает ли вход рецепта со стэком в слоте.
-
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.
-