
Recipe Machine Stages ZS/JS
科技向整合包的最佳进阶工具。通过KubeJS和CraftTweaker的无缝集成,将机器配方锁定在特定阶段之后。
配方机器阶段
本模组提供了为机器阻断配方的功能,类似于工作台中“配方阶段”(Recipe Stages)的实现方式。
⚠️ 1.21.1+ 更新: 新增了
addRecipeByMachine方法,并且 KubeJS 与 CraftTweaker 的语法均有大幅更新!请参阅下方的 1.21+ 文档 部分。
支持哪些模组?
支持的模组列表可在此处查看:[GitHub](https://github.com/DeusSixik/Recipe-Machine-Stage/blob/1.20.1/SUPPORTED MODS.md)
如何使用?
使用方法非常简单。你只需要安装依赖:(CraftTweaker 和 Game Stages) 或 KubeJS 或 AStages。
- AStages: 查看 Wiki 了解如何使用
📖 1.21.1+ 文档(新语法)
⚠️ 重要提示:注册顺序至关重要! 如果某个配方已经通过
addRecipe被单独限制,后续的批量限制(addRecipeByMod或addRecipeByMachine)将不会影响它。这允许你创建例外情况(例如,将特定配方锁定到阶段“A”,而将机器的其余配方锁定到阶段“B”)。特定配方必须在批量配方之前声明!
KubeJS (1.21+)
// kubejs/server_scripts/rms_example.js
RMSEvents.register(event => {
// --- 单独限制 ---
// event.addRecipe(recipeType: string, recipe_id: string, stage: string)
event.addRecipe('create:milling', 'create:milling/fern', 'two')
// event.addRecipes(recipeType: string, recipe_ids: string[], stage: string)
event.addRecipes('minecraft:smelting', ['minecraft:stone', 'minecraft:iron_ingot'], 'one')
// --- 批量限制 ---
// event.addRecipeByMod(recipeType: string, modId: string, stage: string)
event.addRecipeByMod('minecraft:smelting', 'create', 'create')
// event.addRecipeByMods(recipeType: string, modIds: string[], stage: string)
event.addRecipeByMods('minecraft:smelting', ['create', 'minecraft'], 'one')
// --- 新增:通过机器完全阻断 ---
// event.addRecipeByMachine(recipeType: string, stage: string)
event.addRecipeByMachine('minecraft:smelting', 'one')
})
CraftTweaker (1.21+)
import mods.rms.RMS;
// 单独
RMS.addRecipe("minecraft:smelting", "minecraft:stone", "one");
RMS.addRecipe("minecraft:smelting", ["minecraft:stone", "minecraft:iron_ingot"], "one");
// 批量
RMS.addRecipeByMod("minecraft:smelting", "minecraft", "one");
RMS.addRecipeByMod("minecraft:smelting", ["minecraft", "create"], "one");
// 新增:通过机器完全阻断
RMS.addRecipeByMachine("minecraft:smelting", "one");
📖 1.20.1 及以下版本文档(旧语法)
KubeJS(服务端脚本)
// kubejs/server_scripts/example.js
// RecipeMachineStage.addRecipe(String recipeType, String recipeID, String stage)
RecipeMachineStage.addRecipe('create:milling', 'create:milling/fern', 'two')
RecipeMachineStage.addRecipe("minecraft:smelting", "minecraft:stone", "one")
// RecipeMachineStage.addRecipes(String recipeType, String[] recipeIDs, String stage)
RecipeMachineStage.addRecipes("minecraft:smelting", ["minecraft:stone", "minecraft:iron_ingot"], "one")
CraftTweaker
import mods.recipemachinestage.RecipeMachineStage;
RecipeMachineStage.addRecipe(recipeType as string, recipeID as string, stage as string)
RecipeMachineStage.addRecipe(recipeType as string, recipeID as string[], stage as string)
RecipeMachineStage.addRecipeByMod(recipeType as string, modId as string, stage as string)
RecipeMachineStage.addRecipeByMod(recipeType as string, modId as string[], stage as string)
RecipeMachineStage.addRecipe(recipeType as RecypeType, recipeID as string, stage as string)
RecipeMachineStage.addRecipe(recipeType as RecypeType, recipeID as string[], stage as string)
RecipeMachineStage.addRecipeByMod(recipeType as RecypeType, modId as string, stage as string)
RecipeMachineStage.addRecipeByMod(recipeType as RecypeType, modId as string[], stage as string)
示例 (1.20.1)
import mods.recipemachinestage.RecipeMachineStage;
RecipeMachineStage.addRecipe("minecraft:smelting", "minecraft:stone", "one");
RecipeMachineStage.addRecipe(<recypetype:minecraft:smelting>, "minecraft:stone", "one");
// 植物魔法(魔力灌注)
RecipeMachineStage.addRecipe("botania:mana_infusion", "botania:mana_infusion/mana_diamond", "two");
// 通用机械(冶金灌注)
RecipeMachineStage.addRecipe("mekanism:metallurgic_infusing", "mekanism:processing/iron/enriched", "three");
RecipeMachineStage.addRecipeByMod("minecraft:smelting", ["minecraft", "create"], "one");
参数说明
- recipeType - 配方类型。在 CraftTweaker(
<recypetype:minecraft:smelting>)中,需要去掉前缀编写:"minecraft:smelting"。 - recipeID - 配方 ID(
"minecraft:iron_ingot_from_blasting_iron_ore"、"mekanism:processing/iron/enriched"等)。 - stage - 解锁该配方所需的阶段(
"one"、"two"等)。
链接
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。