PackMode
该模组为整合包添加了“模式”字段。整合包根据所设模式的不同,只加载作者指定的CraftTweaker脚本和数据包。
玩家则可以按需切换整合包的难度(模式),动态开启或关闭魔改配方。
切换整合包难度
玩家可以在PackMode的配置文件里设置,或者用指令:
/packmode 模式名
模式名一般为 normal 或 expert 。若不手动配置则默认 normal 。
无论用哪个方式,更改难度后必须重启游戏才能生效。
选择性加载CraftTweaker脚本
PackMode会向CraftTweaker注册一个预处理器。整合包作者可以在ZS脚本最上方添加一行:
#packmode 模式名 [模式名...]
来调用PackMode预处理器。举个例子:
#packmode normal expert
会使当前脚本在整合包被设为 normal 或 expert 难度时运行,其他难度下不运行。
完整示例:
#packmode normal
import crafttweaker.items.IItemStack;
println("整合包难度为normal,我才会出现在CrT的日志文件里哦!");
选择性加载数据包
Forge
只当整合包为 expert 难度,才会加载以下数据包:(注意 packModes 的值是数组,因此可匹配多种难度)
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"packModes": ["expert"],
"type": "packmode:active"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
// ... 此处是配方的剩余信息,略
}
}
]
}
Fabric
同理:
{
"fabric:load_conditions": [
{
"condition": "packmode:active",
"value": {
"packModes": ["expert"]
}
}
],
"type": "minecraft:crafting_shaped",
// ... 略
}