☄️
Code
  • 🌍新授权系统
    • ☁️云端插件使用说明
    • ⏳授权时效说明
    • ⚙️授权数据迁移
    • 🐟授权摸鱼模式
    • ❌旧授权系统
    • ⁉️常见问题
  • 🌏知识星球
  • JobFrame
    • 👾Job Frame
      • 插件配置
      • 插件命令
      • 插件兼容
        • DungeonPlus
        • HolographicDisplays
        • Chemdah
        • GermPlugin
        • DragonCore
      • 工作组
        • 对象持续交互模块
        • 对象生成模块
        • 对象初始化模块
        • 对象实体&方块类型
      • 工作对象
        • 对象占位符
          • Player
          • Object
          • Content
          • Random
          • Time
        • 对象动作脚本
          • Script
          • Object
          • Player
          • Item
          • Persistent
          • Step
          • Particle
          • Visible
          • Entity
          • Block
          • Hologram
          • Task
          • Data
          • Temp-Data
          • Germ
          • Dragon
      • 刷新点
      • 插件示例&视频
        • 最基础的示例
        • 草药采集示例
        • 普通的宝箱示例
        • 循环的宝箱示例
        • 体力系统的宝箱示例
        • 蓝水晶矿示例 (过时)
        • 训练史莱姆示例 (过时)
      • 更新记录 (记录不及时)
        • 1.2.1
        • 1.1.0
        • 1.1.9
        • 1.0.9
        • 1.0.8
        • 1.0.7
        • 1.0.6
  • CraftFrame
    • 🌠Craft Frame
      • 插件视频
      • 插件命令
        • Craft 命令
      • 工艺动作组
        • Data Action
        • System Action
        • Describe Action
        • Quality Action
        • Amount Action
        • Name Action
        • Type Action
        • Score Action
        • Nbt Action
      • 工艺占位符
        • Data
        • Score
        • Quality
        • Random
        • Content
        • Describe
        • Material-Data
        • Material-Central
      • 工艺界面
        • Class (分类界面配置)
        • Interface (制作界面配置)
      • 工艺图纸 (主配置)
        • 自定义动作组
        • 工艺阶段
      • 工艺交互按钮
      • 工艺示例配置
        • 锻造示例
        • 强化示例
        • 炼药示例
        • 重铸示例
        • 继承示例
      • 更新记录 (记录不及时)
        • 1.0.8
        • 1.0.6
        • 1.0.5
        • 1.0.4
        • 1.0.3
        • 1.0.2
        • 1.0.1
      • 常见问题
  • Item Extension
    • 💎Item Extension
      • 插件命令
      • 插件兼容
      • 扩展语句
      • 扩展技能
      • 扩展道具
      • 扩展界面
      • 扩展示例
        • 装备附魔
        • 装备宝石
        • 装备赋能
      • 开发文档
      • 更新记录
  • StallMatket
    • 📦Stall Market
      • 插件视频
      • 插件配置
        • Layout (界面布局)
        • Currency (交易货币)
      • 插件命令
        • Stall 命令
        • Request 命令
      • 摊位等级
      • 摆摊区域
      • 数据同步
  • AttributeInventory
    • 🥋Attribute Inventory
      • 插件配置
      • 插件命令
      • 背包组
      • 背包套装
      • 开发兼容
        • 属性兼容
        • 获取装备
        • API
  • RefinePlus
    • 🔮Refine Plus
      • 洗练界面
      • 洗练项目
      • 洗练道具
      • 更新记录
        • 1.0.1
        • 1.0.2
        • 1.0.3
  • TalentAttribute
    • 📕Talent Attribute
      • 插件配置
      • 插件命令
      • 插件变量
      • 天赋界面
        • 天赋页物品
        • 天赋页布局
        • 天赋项
由 GitBook 提供支持
在本页
  • 介绍
  • 工艺品质
  • 工艺描述组
  • 工艺阶段
  • 工艺材料显示设置
  • 完整的例子
  1. CraftFrame
  2. Craft Frame

工艺图纸 (主配置)

上一页Interface (制作界面配置)下一页自定义动作组

最后更新于2年前

介绍

整个插件的核心配置,这里可以设置 工艺制作阶段、制作时间、工艺材料、描述组 以及工艺制作的处理逻辑,下方的配置例子以 物品锻造 分类的 配置为例

请确保你已经阅读过 及 这两页WIKI内容,否则你会看着云里雾里

工艺品质

这个可有可无,设置该项配置会在工艺开始制作时根据概率赋予工艺品质

#工艺品质(每次开始制作工艺时随机获取一个品质)
quality:
  "史诗": 10.0
  "良好": 50.0
  "普通": 100.0

工艺描述组

核心内容,这个部位可设置你所可能为工艺物品加上的描述内容,可使用随机占位符及运算占位符

#描述,可使用计算公式,例如 $[公式 *int/double]
describes:
  "基础锻造信息":
    - " "
    - "&6&l† &7基础属性"
    - "   &f▪ &f品质: &c@品质"
    - "   &f▪ &f评分: &c@评分"
    - " "
    - "&6&l† &7基础属性"
    #该行使用 $[计算公式] 计算公式,计算锻造强度加成计算
    - "   &f▪ &f物理伤害 &c+$[{random *r:10-500 *0.1}*(1.0+({data *锻造强度 *0.0}/100.0)) *double]"
    - "   &f▪ &f{random *rs:暴击几率,吸血几率 *10.0,8.0} &c+{random *r:1-5 *5.0}%"
    - " "
  "普通属性":
    - "&6&l† &7灵魂加成"
    - "   &f▪ &f物理伤害 &c+{random *r:30-100 *0.1}"
    - "   &f▪ &f暴击几率 &c+1%"
  "良好属性":
    - "&6&l† &7灵魂加成"
    - "   &f▪ &f物理伤害 &c+{random *r:50-200 *0.1}"
    - "   &f▪ &f暴击几率 &c+3%"
  "史诗属性":
    - "&6&l† &7灵魂加成"
    - "   &f▪ &f物理伤害 &c+{random *r:100-300 *0.1}"
    - "   &f▪ &f暴击几率 &c+10%"

上面这些内容,可通过 craft:describe *add *普通属性 这个 Action 动作脚本为工艺物品加上描述

工艺阶段

工艺材料显示设置

material-displays:
  "皮革布料":
    material: BARRIER
    name: "§3皮革布料 §cx §f1"
    #可设置NBT数据
    #nbt:
    #  "NBT.NBT": 1
    #  "NBT.NBT2": 2
    lore:
      - " "
      - "  §f锻造 §6楠木的帽子 §f所需材料"
      - "  §f第一阶段材料"
      - " "
  "头皮屑材料":
    material: BARRIER
    name: "§6楠木的头皮屑 §cx §f5"
    lore:
      - " "
      - "  §f锻造 §6楠木的帽子 §f所需材料"
      - "  §f该材料会在 §6楠木 §f挠头时掉落"
      - "  §f第二阶段材料"
      - " "
  "钻石之星":
    material: BARRIER
    name: "§6钻石之星 §cx §f1"
    lore:
      - " "
      - "  §f锻造 §6楠木的帽子 §f可选材料"
      - "  §f放入该材料第二阶段锻造后会将"
      - "  §f帽子材质提升为 §b钻石"
      - " "

完整的例子

看完建议去服务器实际使用一次该例子的效果

#项目名
content-name: "楠木的帽子"
#项目所属分类
class: "锻造类目"
#项目所使用的界面
interface: "锻造界面"
#提取后关闭界面返回该图纸制作界面
#关闭该项后提取物品关闭界面时会返回 正在制作的工艺 界面
extract-return: true
#默认学会图纸 (默认学习会是 1 级)
default-learn: true
#显示优先级
show-priority: 1
#多层工艺占位符 (默认生效层数2层)
#越高层的占位符越优先触发替换,每多一层 {} 即为更高一层
#例如 {{xxx}} 为二层占位符, {xxx} 为一层占位符
#1.0.6 版本新增
placeholder-layer: 2

#项目品质(每次开始制作项目时随机获取一个品质)
quality:
  "史诗": 10.0
  "良好": 50.0
  "普通": 100.0

#描述,可使用 $[计算公式] 例如 $[公式 *int/double]
describes:
  "基础锻造信息":
    - " "
    - "&6&l† &7基础属性"
    - "   &f▪ &f品质: &c@品质"
    - "   &f▪ &f评分: &c@评分"
    - " "
    - "&6&l† &7基础属性"
    #该行使用 $[计算公式] 计算公式,计算锻造强度加成计算
    - "   &f▪ &f物理伤害 &c+$[{random *r:10-500 *0.1}*(1.0+({data *锻造强度 *0.0}/100.0)) *double]"
    - "   &f▪ &f{random *rs:暴击几率,吸血几率 *10.0,8.0} &c+{random *r:1-5 *5.0}%"
    - " "
  "普通属性":
    - "&6&l† &7灵魂加成"
    - "   &f▪ &f物理伤害 &c+{random *r:30-100 *0.1}"
    - "   &f▪ &f暴击几率 &c+1%"
  "良好属性":
    - "&6&l† &7灵魂加成"
    - "   &f▪ &f物理伤害 &c+{random *r:50-200 *0.1}"
    - "   &f▪ &f暴击几率 &c+3%"
  "史诗属性":
    - "&6&l† &7灵魂加成"
    - "   &f▪ &f物理伤害 &c+{random *r:100-300 *0.1}"
    - "   &f▪ &f暴击几率 &c+10%"

#制作阶段
phases:
  1:
    #阶段制作耗时
    time: 600
    #完成该阶段时是否可以提取该阶段制作的物品
    extract: true
    #阶段制作材料
    materials:
      1:
        name: "§3皮革布料"
        must: true
        amount: 1
        display: "皮革布料"
        #数据名
        #放入材料后可以提供 material-data 或 material-central 占位符获取数据
        data: "皮革布料"
    #阶段制作介绍
    introduce:
      material: BOOK
      name: "§f干净的帽子"
      lore-displays:
        1:
          lore:
            - " "
            - "&6&l† &7基础属性"
            - "   &f▪ &f品质: &c@品质"
            - "   &f▪ &f评分: &c@评分"
            - " "
            - "&6&l† &7基础属性"
            #该行使用 $[计算公式] 计算公式,计算锻造强度加成计算
            - "   &f▪ &f物理伤害 &c+(10-100)"
            - "   &f▪ &f暴击几率/吸血几率 &c+(1-5)%"
            - " "
    #启动制作动作(设置 cancel 则取消制作)
    #该位置触发的时候就已经可以显示获取到材料数据
    start-actions:
      1:
        - condition:
            - "check '%player_level%' >= 10"
          meet:
            #读取所有放入的材料上 "+(.*?)% 锻造强度" 上的强度值,用于加强基础属性伤害
            - "craft:data *锻造强度 *add *{material-central *lore-value *+(.*?)% 锻造强度}"
          no-meet:
            #不满足条件发送提示
            - "send '你的等级不满 10 级,无法锻造该物品'"
            #停止制作处理
            - "cancel_all"
    #制作等待时间完成后运行动作
    actions:
      #主动作组
      1:
        #子动作组
        1:
          - condition:
              #检测放入的 "§6皮革布料" 的材料,名字是否包含 史诗 包含则设置此次制作物的品质为 史诗
              - "check '{material-data *皮革布料 *name-contains *史诗}' == true"
            meet:
              #设置此次制作物品质为史诗
              - "craft:quality *史诗"
        2:
          - condition:
              #与上方相同
              - "check '{material-data *皮革布料 *name-contains *良好}' == true"
            meet:
              - "craft:quality *良好"
        3:
          - meet:
              #设置制作物物品类型(皮革帽)
              - "craft:type *LEATHER_HELMET"
              #设置制作物成品的名字
              - "craft:name *§f干净的帽子"
              #为制作物添加 基础属性 描述,上方 describes 配置预设
              - "craft:describe *add *基础锻造信息"
    #提取物品时触发动作
    extract-actions:
      1:
        - meet:
            #替换锻造物上的 @品质、评分 占位符
            - "craft:describe *replace-text *@品质 *{quality}"
            - "craft:describe *replace-text *@评分 *{score}"
  #第二阶段
  #放入 "§6楠木的头皮屑" 材料,新增锻造属性
  2:
    time: 10
    #阶段制作材料
    materials:
      1:
        name: "§6楠木的头皮屑"
        must: true
        amount: 5
        display: "头皮屑材料"
      2:
        name: "§6钻石之星"
        must: false
        amount: 1
        display: "钻石之星"
        data: "钻石之星"
    introduce:
      material: BOOK
      name: "§6楠木的帽子"
      lore-displays:
        1:
          lore:
            - " "
            - "&6&l† &7灵魂附加"
            - "   &f▪ &f放入 &6楠木的头皮屑 &f为帽子"
            - "   &f▪ &f注入 &6灵魂加成"
            - " "
        2:
          condition:
            - "check '{quality}' == '史诗'"
          lore:
            - "&6&l† &7灵魂加成"
            - "   &f▪ &f物理伤害 &c+(100-300)"
            - "   &f▪ &f暴击几率 &c+10%"
        3:
          condition:
            - "check '{quality}' == '良好'"
          lore:
            - "&6&l† &7灵魂加成"
            - "   &f▪ &f物理伤害 &c+(50-200)"
            - "   &f▪ &f暴击几率 &c+3%"
        4:
          condition:
            - "check '{quality}' == '普通'"
          lore:
            - "&6&l† &7灵魂加成"
            - "   &f▪ &f物理伤害 &c+(30-100)"
            - "   &f▪ &f暴击几率 &c+1%"
    actions:
      1:
        1:
          - condition:
              #检测是否放入 钻石之星 材料
              - "check '{material-central *key-contains *钻石之星}' == true"
            meet:
              #修改材质并修改锻造物名
              - "craft:type *DIAMOND_HELMET"
              - "craft:name *§6楠木的帽子"
            not-meet:
              #仅修改锻造物名
              - "craft:name *§6楠木的帽子"
        2:
          - condition:
              #判断锻造物品质并赋予相同品质的属性值
              - "check '{quality}' == '史诗'"
            meet:
              - "craft:describe *add *史诗属性"
        3:
          - condition:
              - "check '{quality}' == '良好'"
            meet:
              - "craft:describe *add *良好属性"
        4:
          - condition:
              - "check '{quality}' == '普通'"
            meet:
              - "craft:describe *add *普通属性"
    extract-actions:
      1:
        - meet:
            #替换锻造物上的 @品质、评分 占位符
            - "craft:describe *replace-text *@品质 *{quality}"
            - "craft:describe *replace-text *@评分 *{score}"

material-displays:
  "皮革布料":
    material: BARRIER
    name: "§3皮革布料 §cx §f1"
    lore:
      - " "
      - "  §f锻造 §6楠木的帽子 §f所需材料"
      - "  §f第一阶段材料"
      - " "
  "头皮屑材料":
    material: BARRIER
    name: "§6楠木的头皮屑 §cx §f5"
    lore:
      - " "
      - "  §f锻造 §6楠木的帽子 §f所需材料"
      - "  §f该材料会在 §6楠木 §f挠头时掉落"
      - "  §f第二阶段材料"
      - " "
  "钻石之星":
    material: BARRIER
    name: "§6钻石之星 §cx §f1"
    lore:
      - " "
      - "  §f锻造 §6楠木的帽子 §f可选材料"
      - "  §f放入该材料第二阶段锻造后会将"
      - "  §f帽子材质提升为 §b钻石"
      - " "

教你在服务器内使用一次改工艺锻造物品

  1. 拿三个物品依次将物品名改为 "&3皮革布料"、"&6楠木的头皮屑"、"&6钻石之星"

  2. 使用命令 craft make 玩家名 楠木的帽子

  3. 放入工艺制作材料后启动

核心内容,单独创建一页介绍,请移步 ->

核心内容,即在阶段工艺材料设置时 display 上配置项的所设置的数据,用于在工艺制作界面材料显示,这个很简单没什么好介绍的,先看完 页面介绍再看这个

🌠
EXAMPLE.YML
工艺动作组
工艺占位符
工艺阶段
工艺阶段