KubeJS 工业先锋 (Neoforge)

KubeJS 工业先锋 (Neoforge)

Kubejs 工业 foregoing 附加组件

KubeJS 工业 foregoing NeoForge

一个 KubeJS 附加组件,允许你为工业 foregoing编写配方,并创建你自己的机器升级插件。

前置要求

  • KubeJS
  • 工业 foregoing
  • Minecraft 1.21.1
  • NeoForge 21.1.240

配方

将此代码放入 kubejs/server_scripts/:

ServerEvents.recipes(event => {

    // 粉碎机(石工工厂中的镐子功能)
    event.recipes.industrialforegoing.crusher(
        'minecraft:gravel',      // 输出  <- 注意:输出在前
        'minecraft:cobblestone'  // 输入
    )

    // 溶解舱
    event.recipes.industrialforegoing.dissolution_chamber(
        ['minecraft:dirt', 'minecraft:sand'], // 输入物品,可以为空
        Fluid.of('minecraft:water', 500),     // 输入流体
        Item.of('minecraft:diamond', 2),      // 输出物品
        200                                   // 时间(单位:刻)
    ).outputFluid(Fluid.of('minecraft:lava', 100)) // 可选

    // 流体提取器
    event.recipes.industrialforegoing.fluid_extractor(
        'minecraft:oak_log',           // 被提取的方块
        'minecraft:stripped_oak_log',  // 提取后留下的方块
        0.05,                          // 破坏几率,0.0 - 1.0
        Fluid.of('industrialforegoing:latex', 8)
    )

    // 石工工厂 - 生成
    event.recipes.industrialforegoing.stonework_generate(
        'minecraft:obsidian',
        1000, 1000,  // 需要的水/岩浆
        0, 1000      // 消耗的水/岩浆
    )

    // 激光钻 - 矿石
    event.recipes.industrialforegoing.laser_drill_ore(
        { item: 'minecraft:diamond', count: 1 }, // 输出
        'industrialforegoing:red_laser_lens',    // 催化透镜
        [{
            biome_filter:     { whitelist: [], blacklist: [] },
            dimension_filter: { whitelist: [], blacklist: ['minecraft:the_end'] },
            depth_min: 0,
            depth_max: 255,
            weight: 5  // 数值越高 = 越常见
        }]
    )

    // 激光钻 - 流体
    event.recipes.industrialforegoing.laser_drill_fluid(
        Fluid.of('industrialforegoing:ether_gas', 10), // 输出
        'industrialforegoing:purple_laser_lens',       // 催化透镜
        [{
            biome_filter:     { whitelist: [], blacklist: [] },
            dimension_filter: { whitelist: [], blacklist: [] },
            depth_min: -64,
            depth_max: 256,
            weight: 8
        }],
        { entity: { type: 'minecraft:wither' }, data: {}, display: '' } // 可选
    )
})

稀有度是一个列表,因此一种矿石在不同深度可以有不同的权重。所有五个字段都是必填的——工业 foregoing 的数据编解码器没有默认值。

移除配方适用于模组使用的相同键:

event.remove({ type: 'industrialforegoing:laser_drill_ore', output: 'minecraft:diamond' })

机器升级插件

注册全新的效率、速度、处理能力和范围升级插件。这是一个启动物品类型,因此应放在 kubejs/startup_scripts/ 中:

StartupEvents.registry('item', event => {
    event.create('netherite_speed_addon', 'industrialforegoing:addon')
        .speedTier(4)                          // 匹配IF的等级公式
        .displayName('下界合金速度升级插件')

    event.create('hybrid_addon', 'industrialforegoing:addon')
        .speed(3)         // 或设置原始增强值
        .efficiency(0.5)  // 数值越低越好
        .processing(2)
        .rarity('epic')
})
原始值 等级预设 增强类型
speed(v) speedTier(n) → 1 + n 速度
efficiency(v) efficiencyTier(n) → 1 - n * 0.1 效率
processing(v) processingTier(n) → 1 + n 处理能力
range(v) rangeTier(n) → n 范围
augment(type, v) — 任何类型,包括其他模组的类型

其效果与内置升级插件完全一致:

  • 提示文本由工业 foregoing 自身的翻译键生成,因此与原版升级插件一致,并跟随游戏语言。
  • 右键点击机器可直接将升级插件放入槽位。
  • 默认使用工业 foregoing 的升级插件纹理——在你调用 .texture(...) 之前无需资源包。
  • 可堆叠至16个,所有其他 KubeJS 物品构建器方法(displayName、maxStackSize、rarity、tooltip、glow……)仍然有效。

像对待任何其他物品一样为其添加配方:

ServerEvents.recipes(event => {
    event.recipes.industrialforegoing.dissolution_chamber(
        ['minecraft:redstone', 'minecraft:glass_pane', '#c:gears/diamond', 'minecraft:sugar'],
        Fluid.of('industrialforegoing:latex', 1000),
        'kubejs:netherite_speed_addon',
        200
    )
})

鸣谢

衷心感谢:

  • LatvianModder — 感谢他创建了 KubeJS,这个附加组件正是基于该脚本模组构建的。
  • Buuz135 — 感谢他创建了 工业 foregoing,这些配方和升级插件所插入的模组。

这个附加组件只是他们两个项目之间的粘合剂。去支持他们吧。


完整的文档、参数表格和其他详细信息,请参阅仓库中的 WIKI。