config.yml 详解
主配置文件 plugins/Craftorithm/config.yml 控制插件的核心行为。
配置项
基础设置
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
check_update | boolean | true | 启动时检查更新 |
debug | boolean | false | 调试模式 |
配方设置
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
remove_all_vanilla_recipe | boolean | false | 移除所有原版配方 |
enable_anvil_recipe | boolean | true | 启用自定义铁砧配方 |
max_reg_recipe_per_tick | integer | 12 | 每 tick 最大配方注册数(防卡顿) |
use_experimental_recipe_ingredients | boolean | true | 是否启用实验性配方材料功能,会改变配方材料匹配模式 |
物品设置
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
item_plugin_hook_priority | list | (有序列表) | 外部物品插件检测优先级 |
cannot_craft_items | list | [] | 禁止合成的物品 ID 列表(在1.13.4.0版本移除) |
blocked_crafting_lore_rules | list | [] | 阻止包含指定lore的物品被用于合成(1.13.5.0版本移除) |
ingredient_restriction_rules | list | [] | 通过设置不同规则来阻止物品被用于合成(1.13.5.0版本添加,替代上面两个功能 |
ingredient_restriction_rules是1.13.5.0新增的功能, 可以设定符合物品不能被用作指定配方的材料, 可以作用于所有配方类型
在1.13.5.0版本的插件启动时, 会对原cannot_craft_items和blocked_crafting_lore_rules进行自动转换, 无需手动更新
配置格式:
yaml
ingredient_restriction_rules:
- type: item_id
item_id: minecraft:diamond
recipes:
- .*
- type: lore
lore: 无法用于合成
recipes:
- .*
- type: lore
lore: 无法用于原版配方
recipes:
- minecraft:.*
- craftorithm:vanilla_shaped命令设置
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
main_command_aliases | list | [cra, craft, crafto] | 主命令别名 |
集成设置
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
bstats | boolean | true | 启用 bStats 统计 |
reload_when_ia_reload | boolean | true | ItemsAdder 重载时自动重载 |
示例
yaml
# 是否进行更新检测
check_update: true
# 是否卸载所有的原版配方
remove_all_vanilla_recipe: false
# 是否允许插件通过bStats收集使用信息
bstats: true
# 是否启用铁砧配方
enable_anvil_recipe: true
# 是否在ItemsAdder重载时跟随一起重载
reload_when_ia_reload: true
debug: true
# 每tick注册的配方数量,调低此数值可以减少服务器卡顿
max_reg_recipe_per_tick: 12
# 是否启用实验性配方材料功能
# 启用后,除1.21.3及以上的切石机配方外,合成材料的识别将不会受到NBT/组件变更的影响,但可能在配方书等场景下出现一些问题
use_experimental_recipe_ingredients: true
# 是否启用script的裸脚本语法
# 为false的情况下,无法使用形如`tell "Hello world"`这样的写法,必须使用`tell("hello, world")
enable_script_bare_args: false
# 依照上面的挂钩顺序挂钩插件可以挂钩的物品插件,插件自动识别物品ID时将会优先识别上面的插件
# 不包含在此列表里的物品插件将不会尝试挂钩,除非该插件主动挂钩
item_plugin_hook_priority:
- CraftEngine
- Nexo
- AzureFlow
- NeigeItems
- ItemsAdder
- Oraxen
- EcoItems
- ExecutableItems
- MMOItems
- MythicMobs
# 插件主命令的别名,只在插件启动时读取一次
main_command_aliases:
- cra
- craft
- crafto
# 不进行隔离的监听器类,在此列表里的监听器类可以检测到Craftorithm的配方
not_convert_listener_classes:
- a4.papers.chatfilter.chatfilter.events.AnvilListener
- com.ghostchu.quickshop.shade.tne.menu.paper.listener.PaperInventoryClickListener
- com.earth2me.essentials.EssentialsPlayerListener
- net.coreprotect.listener.player.InventoryChangeListener
- net.coreprotect.listener.player.CraftItemListener
- com.extendedclip.deluxemenus.listener.PlayerListener
- com.dre.brewery.listeners.InventoryListener
- com.xyrisdev.svalues.shaded.library.menu.MenuManager$InventoryListener
- me.arcaniax.hdb.listener.InventoryListener
- net.momirealms.craftengine.bukkit.item.listener.ItemEventListener
- net.momirealms.customfishing.bukkit.hook.BukkitHookManager
- net.momirealms.customfishing.bukkit.market.BukkitMarketManager
- dev.jsinco.recipes.listeners.Events
- fr.moribus.imageonmap.image.MapInitEvent
- com.badbones69.crazycrates.paper.listeners.crates.types.WarCrateListener
- com.ryderbelserion.fusion.paper.api.builders.gui.listeners.GuiListener
- club.kid7.bannermaker.pluginutilities.gui.CustomGUIInventoryListener
ingredient_restriction_rules:
- type: item_id
item_id: minecraft:diamond
recipes:
- .*
- type: lore
lore: 无法用于合成
recipes:
- .*
- type: lore
lore: 无法用于原版配方
recipes:
- minecraft:.*
- craftorithm:vanilla_shaped