实现功能呈现

新添加一个黑曜石砂纸拥有更高的耐久度(1024耐久)但是较为复杂的制作流程(机械手持强力胶点纸获得“涂胶纸”-->机械手持黑曜石粉末点涂胶纸获得“未完成的黑曜石砂纸”-->未完成的黑曜石砂纸通过鼓风机烟熏获得最终产物)

29cfcdea21fa699513db38bd296d9351.png97fa387aabf3c541db85a3e3ac1100f6.pngeb0b453b3e938c7997786afe1187e33c.png

代码实现部分:

(sever_scripts)


ServerEvents.tags('item', e => {
    //为物品添加砂纸的标签
    e.add('create:sandpaper', 'kubejs:obsidian_sand_paper')
})
ServerEvents.recipes(event => {
    //机械手配方(产物:涂胶纸,材料:纸与强力胶)
    event.recipes.createDeploying('kubejs:sticker', ['minecraft:paper', Item.of('create:super_glue')])
    //机械手配方(产物:未完成的黑曜石砂纸,材料:涂胶纸与黑曜石粉末)
    event.recipes.createDeploying('kubejs:obsidian_on_paper', ['create:powdered_obsidian', 'kubejs:sticker'])
    //烟熏炉配方(如想要添加鼓风机配方仅需添加原版的烟熏炉配方即可,机械动力会同步相应配方)
    event.smoking(Item.of('kubejs:obsidian_sand_paper', '{Damage:0}'),'kubejs:obsidian_on_paper')
})

(starup_scripts)

砂纸注册:

const Base = Java.loadClass('com.simibubi.create.content.curiosities.tools.SandPaperItem')
const Prop = Java.loadClass('net.minecraft.world.item.Item$Properties')
const $KubeJS = Java.loadClass('dev.latvian.mods.kubejs.KubeJS')
let defProperties = new Prop().tab($KubeJS.tab)
//继承原版机械动力砂纸相关的功能(待证实)
StartupEvents.registry('item', event => {
defProperties.defaultDurability(1024)//括号内是耐久度

event.custom('obsidian_sand_paper',  new Base(defProperties))//' '中包含的是物品ID

}) //这样情况下貌似使用不了.displayname()了

其他物品注册:

//更多的砂纸=============================================================================
StartupEvents.registry('item', e => {
e.create("sticker").displayName("涂胶纸").maxStackSize(1);//最大堆叠数为1
e.create("obsidian_on_paper").displayName("未完成的黑曜石砂纸").maxStackSize(1);
})

其他:

需要有“机械动力”模组

!!!暂不支持Create0.5.1及以上版本!!!

相关声明:

素材为本人以原版材质和机械动力材质为基础加以修改绘制,本文章继承砂纸部分代码出自DC社区的一篇帖子

【更多机械动力砂纸】系列源码与所用素材:

点击跳转至Github仓库

❥(^-) STAR拜托了 ❥(^-)