Skip to content

config.yml 详解 ​

主配置文件 plugins/Craftorithm/config.yml 控制插件的核心行为。

配置项 ​

基础设置 ​

键类型默认值说明
check_updatebooleantrue启动时检查更新
debugbooleanfalse调试模式

配方设置 ​

键类型默认值说明
remove_all_vanilla_recipebooleanfalse移除所有原版配方
enable_anvil_recipebooleantrue启用自定义铁砧配方
max_reg_recipe_per_tickinteger100每 tick 最大配方注册数(防卡顿)
use_experimental_recipe_ingredientsbooleantrue是否启用实验性配方材料功能,会改变配方材料匹配模式
ingredient_use_set_thresholdinterger8在一个材料允许多少种物品的情况下,使用HashSet替代ArrayList进行材料匹配,在材料种类较多的情况下可以提升性能
save_discovered_recipes.enablebooleantrue是否将玩家已解锁配方存储到数据库,开启后玩家的已解锁配方会写入数据库,并在玩家加入服务器、插件重载与服务器启动后从数据库恢复
save_discovered_recipes.join_discover_delay_ticksinteger20玩家加入服务器后,等待多少tick再从数据库读取已解锁配方
save_discovered_recipes.interval_ticksinteger6000定时保存在线玩家已解锁配方到数据库的间隔(tick),默认300秒(5分钟)

物品设置 ​

键类型默认值说明
item_plugin_hook_prioritylist(有序列表)外部物品插件检测优先级
cannot_craft_itemslist[]禁止合成的物品 ID 列表,已移除 1.13.4.0
blocked_crafting_lore_ruleslist[]阻止包含指定lore的物品被用于合成,已移除 1.13.5.0
ingredient_restriction_ruleslist[]通过设置不同规则来阻止物品被用于合成,替代上面两个功能

ingredient_restriction_rules可以设定符合物品不能被用作指定配方的材料, 可以作用于所有配方类型

插件启动时会自动转换原有的 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_aliaseslist[cra, craft, crafto]主命令别名

集成设置 ​

键类型默认值说明
bstatsbooleantrue启用 bStats 统计

兼容性设置 ​

键类型默认值说明
not_convert_listener_classeslist(17个监听器类)不进行隔离的监听器类,在此列表里的监听器类可以检测到Craftorithm的配方

示例 ​

yaml
# 是否进行更新检测
check_update: true
# 是否卸载所有的原版配方
remove_all_vanilla_recipe: false
# 是否允许插件通过bStats收集使用信息
bstats: true
# 是否启用铁砧配方
enable_anvil_recipe: true
debug: true
# 每tick注册的配方数量,调低此数值可以减少服务器卡顿
max_reg_recipe_per_tick: 100
# 是否启用实验性配方材料功能
# 启用后,除1.21.3及以上的切石机配方外,合成材料的识别将不会受到NBT/组件变更的影响,但可能在配方书等场景下出现一些问题
use_experimental_recipe_ingredients: true
# 配方材料数量超过此阈值时使用 Set 替代 List 进行匹配,提升大量材料时的查找性能
ingredient_use_set_threshold: 8
# 依照上面的挂钩顺序挂钩插件可以挂钩的物品插件,插件自动识别物品ID时将会从上到下依次判断
# 不包含在此列表里的物品插件将不会尝试挂钩,除非该插件主动挂钩
item_plugin_hook_priority:
  - CustomFishing
  - CraftEngine
  - Nexo
  - AzureFlow
  - SX-Item
  - EmakiItem
  - NeigeItems
  - ItemsAdder
  - Oraxen
  - EcoItems
  - ExecutableItems
  - MMOItems
  - MythicMobs
  - Craftorithm
# 插件主命令的别名,只在插件启动时读取一次
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

基于 GPL-3.0 许可证发布