【MCJE_KJS】【1.19+】实现自定义砂纸的功能
实现功能呈现
新添加一个黑曜石砂纸拥有更高的耐久度(1024耐久)但是较为复杂的制作流程(机械手持强力胶点纸获得“涂胶纸”-->机械手持黑曜石粉末点涂胶纸获得“未完成的黑曜石砂纸”-->未完成的黑曜石砂纸通过鼓风机烟熏获得最终产物)
代码实现部分:
(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社区的一篇帖子
【更多机械动力砂纸】系列源码与所用素材:
❥(^_-) STAR~~拜托了~~ ❥(^_-)
本文是原创文章,采用CC BY-NC-ND 4.0协议,完整转载请注明来自尘末ChenM0M。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果