本页记录当前 event.recipes.mna 表面,以及用于 event.custom() 的底层 MNARecipesHelper Builder。
通用说明
- 普通 KubeJS 配方优先使用
event.recipes.mna.*()。 - 尽量使用类型化 id 或 id 字符串,不要传裸对象。
- 支持的 schema 会通过共享基类提供
tier(...)和faction(...)。 MnaRitualReagent和MnaPatternHelper见 辅助与 Probe。
Schema 名称与自定义组件
MnaJS 同时注册链式 recipe entry 和底层 schema/component,用于 event.custom(...)。
| KubeJS 入口 | 底层类型 |
|---|---|
ritual() | mna:ritual |
transmutation() | mna:transmutation |
crushing() | mna:crushing |
runeforging() | mna:runeforging |
runescribing() | mna:runescribing |
component() | mna:component |
modifier() | mna:modifier |
shape() | mna:shape |
progression() | mna:progression-condition |
manaweavingAltar() | mna:manaweaving-recipe |
arcaneFurnace() | mna:arcane-furnace |
eldrinAltar() | mna:eldrin-altar |
eldrinFume() | mna:eldrin-fume |
pattern() | mna:manaweaving-pattern |
cacheEffect() | mna:manaweave-cache-effect |
底层 recipe components:
mnaAdvancementIdpower_keyitemitemStackitemOrTagComponentitemsOrTagsComponentmnaItemIdmnaBlockIdmnaItemOrTagmnaLootTableIdmnaFactionIdmnaCastingResourceIdmnaMobEffectIdmnaRitualEffectIdmnaSpellEffectIdmnaShapeIdmnaModifierIdmnaRitualIdmnaManaweavePatternIdmnaCantripIdmnaSoundIdmnaStructureId
event.recipes.mna.ritual()
用于仪式配方,支持链式图案、试剂、输出和颜色设置。
常用方法:
pattern(int[][] | rows)displayPattern(int[][] | rows)reagentRows(...)reagent(MnaRitualReagent)dynamicReagent(...)dynamicSourceReagent(...)manualReturnReagent(...)manaweavePatterns(...)innerColor(long)outerColor(long)beamColor(long)connectBeam(boolean)displayIndexes(boolean)kittable(boolean)outputItem(MnaItemId)command(String)
示例:
event.recipes.mna.ritual().tier(1).patternRows("1").displayPatternRows("1").reagentRows("A").reagent(MnaRitualReagent.of("A", "minecraft:amethyst_shard")).innerColor(0xffd54f).outerColor(0xfff176).beamColor(0xfbc02d).connectBeam(true).outputItem("minecraft:lightning_rod").id("kubejs:lightning_ritual");
说明:
outputItem(...)是主要输出字段,正常新增仪式应始终设置。- 仪式是当前最深的链式配方表面。
event.recipes.mna.crushing()
用于简单粉碎转换。
方法:
input(MnaItemId)output(MnaItemId)outputQuantity(int)
event.recipes.mna.crushing().input("minecraft:amethyst_block").output("minecraft:amethyst_shard").outputQuantity(4).tier(1);
event.recipes.mna.arcaneFurnace()
用于奥术熔炉配方。
方法:
input(...)output(...)burnTime(int)outputQuantity(int)
event.recipes.mna.arcaneFurnace().input("minecraft:raw_gold").output("minecraft:gold_ingot").burnTime(200).outputQuantity(1).tier(1);
event.recipes.mna.runeforging()
用于符文锻造配方。
方法:
pattern(MnaItemId)material(MnaItemId)output(MnaItemId)hits(int)outputQuantity(int)
event.recipes.mna.runescribing()
用于符文铭刻配方。
方法:
output(MnaItemId)hMutex(int)vMutex(int)
event.recipes.mna.runescribing().output("minecraft:paper").hMutex(0b00000000001).vMutex(0b00000010000).tier(1);
event.recipes.mna.component()
用于法术组件合成配方。
方法:
output(MnaSpellEffectId)input(MnaItemOrTag)addInput(MnaItemOrTag)pattern(MnaManaweavePatternId)addPattern(MnaManaweavePatternId)outputQuantity(int)
event.recipes.mna.modifier()
用于修饰符合成配方。
方法:
output(MnaModifierId)input(...)addInput(...)pattern(...)addPattern(...)outputQuantity(int)
event.recipes.mna.shape()
用于形状合成配方。
方法:
output(MnaShapeId)input(...)addInput(...)pattern(...)addPattern(...)outputQuantity(int)
event.recipes.mna.manaweavingAltar()
用于法力编织祭坛输出配方。
方法:
output(...)outputStack(ItemStack)inputs(...)addInput(...)patterns(...)addPattern(...)enchant(String)enchantment(String)magnitude(int)copyNBT(boolean)outputQuantity(int)
event.recipes.mna.progression()
用于进度条件配方。
方法:
advancement(MnaAdvancementId)desc(String)description(String)tier(int)faction(MnaFactionId)
event.recipes.mna.progression().advancement("minecraft:story/root").desc("kubejs.progression.mna_example").tier(1).faction("mna:none");
event.recipes.mna.transmutation()
用于方块转化定义。
方法:
targetBlock(MnaBlockId)replaceBlock(MnaBlockId)lootTable(MnaLootTableId)representationItem(MnaItemId)
event.recipes.mna.eldrinFume()
用于 Eldrin 熏烟能量配方。
方法:
item(MnaItemOrTag)input(MnaItemOrTag)powerProvided(String | Affinity, Number)affinity(...)powerAmount(Number)
event.recipes.mna.eldrinAltar()
用于带能量需求的 Eldrin 祭坛合成。
方法:
output(...)outputStack(ItemStack)inputs(...)addInput(...)powerRequirement(Affinity, Number)addPowerRequirement(Affinity, Number)colors(primary, secondary)count(int)
event.recipes.mna.cacheEffect()
用于法力编织缓存效果配方。
方法:
effect(MnaMobEffectId)durationMin(int)durationMax(int)duration(int, int)magnitude(int)
event.recipes.mna.pattern()
用于法力编织图案配方。
方法:
pattern(int[][])cell(row, column, value)
event.recipes.mna.pattern(MnaPatternHelper.manaweaveGrid()).cell(5, 5, 1).cell(5, 4, 1).cell(5, 6, 1).cell(4, 5, 1).cell(6, 5, 1).tier(1);
MNARecipesHelper
服务端绑定通过 MNARecipesHelper 暴露底层 Builder,用于 event.custom()。
可用 helper:
ritualprogressioncrushingeldrinAltarBuilderfumeFilterBuildermanaweavingAltarBuilderruneForgingBuilderruneScribingBuilderarcaneFurnaceBuildertransmutationBuildercomponentBuildermodifierBuildershapeBuildermanaweavingPatternBuildermultiblockDefinitionBuilder
示例:
const json = MNARecipesHelper.progression.advancement("minecraft:story/root").desc("kubejs.progression.mna_example").tier(1).faction("mna:none").build();event.custom(json);
MNARecipesHelper.multiblockDefinitionBuilder
用于 mna:multiblock 定义。
常用方法:
structure(MnaStructureId)symmetrical(boolean)addTag(block, tag)addRawBlockCheck(block)addBlockMatcher(matcherType, offsetOrBlock)createVariation(id)addStairsMatcher(Block)addStatelessMatcher(Block)addChalkMatcher(Block)addRefractionLensMatcher(Block)addPedestalMatcher(Block)build()
说明:
- 这是当前 MnaJS 内生成多方块 JSON 的文档化路径。
structure(...)使用结构 id,不依赖硬编码文件路径。