📄
XPlus KubeJS Tutorial v2 (zh_cn)
  • 一、前言
    • KubeJS 6 魔改教程更新日志
    • 1.1 常用游戏内指令与ProbeJS使用
    • 1.2 文件结构和脚本类型
    • 1.3 脚本基础和格式变化
    • 1.4 事件列表
  • 二、配方
    • 2.1 物品的表示——ItemStack和Ingredient
    • 2.2 配方的添加,修改和移除
    • 2.3 非标准配方修改
    • 2.4 配方ID
  • 三、内容修改
    • 3 标签
    • 4 方块注册和属性修改
    • 5 物品注册和属性修改
    • 6 特殊类型方块和物品
      • 6.1 作物方块和种子
      • 6.2 食物注册
      • 6.3 BlockBench入门教程
    • 7 附魔添加
    • 8 流体注册
    • 9.战利品表
    • 10 世界生成
  • 四、附属模组
    • 11 常用附属模组清单
    • 11.1 KubeJS Create
    • 11.2 LootJS —— 便捷战利品表修改
由 GitBook 提供支持
在本页

这有帮助吗?

  1. 二、配方

2.4 配方ID

上一页2.3 非标准配方修改下一页3 标签

最后更新于10个月前

这有帮助吗?

本节由@编写。

  • 关于Recipe ID(配方ID)

    • 配方ID往往是配方文件的所在目录,在开发中用于查看配方类型以及写法时显得尤为重要

    • 常见的例子有删除配方,覆盖配方还有使用custom

    • 在添加JEI后游戏内F3+H开启高级提示框后便可查看

    • 在JEI内随便打开一个配方文件将光标放在输出上便可查看

    • 根据上图浇筑铁锭的配方所示,根据配方ID我们可以得知配方文件在 ModFile.jar/data/tconstruct/recipes/smeltery/casting/metal/iron/ingot_gold_cast.json

    • JEI给我们提供了复制配方ID的按键,我们自行配置即可(默认没有绑定任何按键,按照自己的习惯绑定即可)

    • REI和EMI其实也可以,但是本教程只教JEI,使用REI或EMI的朋友请自行在设置内寻找相关按键

  • 使用

    • 在写配方时后面加上.id方法时如果填入了原配方的ID会将原配方直接覆盖

    ServerEvents.recipes((event) => {
          event.recipes.kubejs.shaped("minecraft:furnace", [
            "AAA",
            "AAA",
          	"AAA"
          ], {
            A: "#forge:ingots/iron"
        }).id("minecraft:furnace") // 注意这不是写输出,是写配方ID
    })
    • 如果每个配方都写一个json会很麻烦且不好管理,所以同时也可以根据配方ID找到配方文件后直接复制里面的内容供custom使用,典型的例子就是

    ServerEvents.recipes((event) => {
          event.custom({
      	    "type": "createmetallurgy:casting_in_table",
          	"ingredients": [
      		    { "fluid": "createmetallurgy:molten_gold", "amount": 90 },
      		    { "tag": "forge:plates" },
      	    ],
      	    "results": [{ "item": "createmetallurgy:graphite_plate_mold" }],
    	    "processingTime": 90
        })
    })
    • 提一嘴custom也是可以使用配方ID进行配方覆盖的

Qi-Month (柒月)