Minecraft通过kubejs进行简单魔改

在Minecraft的模组有两个比较熟悉的模组,分别为CraftTweaker和kubejs,其中他们的格式为.zs和.js,都是用于魔改,其中kubejs可以完成40%的模组内容,因为他包括kubejs curios自定义饰品,lootjs战利品修改

1.准备工作

1.需要下载Vs Code编程软件和MOD Probejs和kubejs

2.在下载完后,打开你的Vs Code,在软件里面下载probejs和Chinese汉化

3.打开你的游戏,等待文件的生成,首次使用probejs dump(后面的mod增减的都需要的使用)

|-----------|-----------|
| /kjs hand | 获取手中的物品ID |

2.魔改配方

主要是在server_scripts文件夹当中

javascript 复制代码
//配方的魔改
ServerEvents.recipes(event => {
    // 合成台-有序合成
    event.shaped(需要修改合成的物品ID,[
        ['物品ID','物品ID','物品ID'],
        ['物品ID','物品ID','物品ID'],
        ['物品ID','物品ID','物品ID']
    ])

    // 合成台-无序合成
    event.shapeless(Item.of('物品ID',合成的数量),[

    ])

    // 熔炉
    event.smelting('物品ID','物品ID',获得的经验值,燃烧时间(Tick));

    // 烟熏炉
    event.smoking('物品ID','物品ID',获得的经验值,燃烧时间(Tick));

    // 高炉
    event.blasting('物品ID','物品ID',获得的经验值,燃烧时间(Tick));

    // 营火
    event.campfireCooking('物品ID','物品ID',获得的经验值,燃烧时间(Tick))
    
    //锻造台
    event.smithing('物品ID','物品ID','物品ID');

}
3.物品的注册

主要在startup_scripts文件夹当中,通常需要在assete文件夹里添加一个lang文件夹,并创建一个zh_cn.json文件来显示,并在里面的textures/item放入的准备的材质

javascript 复制代码
StartupEvents.registry('item',event=>{
    event.create('id')
    .tag('物品标签')
    .disPlayName('没有在zh_cn.json的汉化显示的名称')
})

|-------------------|---------|
| 方法名 | 方法用法 |
| item | 物品注册 |
| mod_effect | 药水效果的注册 |
| enchantment | 附魔类型 |
| fluid | 流体注册 |
| creative_mode_tab | 创造物品栏注册 |

4.client_scripts的运用

这个文件夹主要是物品的描述添加以及按键的事件绑定

javascript 复制代码
//物品的文本描述
ItemEvents.tooltip(event => {
    event.add("物品ID","你要添加的文本")
    event.add("物品ID",["文本1","文本2"])
    //这个物品属于xx玩家,其中名字为红色
    event.add("物品ID",Text.of("该物品属于" + Client.player.username).red())
    
    //你要修改的物品,传入物品,和物品描述
    event.addAdvanced("物品ID",(item,text) => {
        //移除这个物品的某一行描述
        text.remove(0)
        //添加这个物品的某一行描述
        text.add(0,"一个铁锭")
                     
        //event.Shift  为添加按住shift键所添加的文本描述
        //event.Ctrl  为添加按住ctrl键所添加的文本描述
        //event.atl  为添加按住atr键所添加的文本描述
        //通常搭配if-else if使用
    })
})
5.在config文件夹里的文件作用

client.properties文件

javascript 复制代码
#KubeJS Client Properties
#Sat May 10 12:49:15 CST 2025
//背景颜色,主要使用16进制颜色
backgroundColor=2E3440
//进度条边框颜色也是使用16进制颜色
barBorderColor=ECEFF4
//是否导出纹理图集(用于调试),默认为false
exportAtlases=false
//菜单背景亮度
menuBackgroundBrightness=64
//是否禁用配方书
disableRecipeBook=false
//主要修改游戏标题的显示,通常默认为游戏文件夹名称
title=
//进度条颜色
barColor=ECEFF4
//是否覆盖颜色,通常搭配下面的LogColor使用
overrideColors=false
fmlLogColor=ECEFF4
//是否显示标签颜色
showTagNames=false
//FML内存使用情况文本颜色
fmlMemoryColor=ECEFF4
//菜单背景图片缩放比例
menuBackgroundScale=32.0
//是否模糊缩放的资源包图标
blurScaledPackIcon=true
//内部菜单背景亮度
menuInnerBackgroundBrightness=32

common.properties文件

javascript 复制代码
#KubeJS Common Properties
#Sat May 10 12:49:16 CST 2025
//是否匹配JSON配方。当设置为true时,KubeJS会尝试将脚本中的配方与数据包中的配方匹配。这有助于在重载时保持一致性。
matchJsonRecipes=true
//是否允许异步流。这会影响KubeJS处理文件流的方式,通常用于性能优化。
allowAsyncStreams=true
//是否在聊天栏中公告重载。当使用/reload命令时,会在聊天栏显示KubeJS重载的信息。
announceReload=true
//是否在启动错误时显示GUI。如果KubeJS脚本在启动时出现错误,会显示一个图形界面来报告错误。
startupErrorGUI=true
//是否仅服务器端。如果设置为true,则KubeJS将仅加载服务器端脚本,客户端脚本将被
serverOnly=false
//是否隐藏服务器脚本错误。如果设置为true,则不会在日志中显示服务器脚本的错误。
hideServerScriptErrors=false
//是否在配置中保存开发属性。这通常用于开发环境,保存一些开发相关的配置。
saveDevPropertiesInConfig=false
//设置包模式。可以设置为"development"(开发)或"production"(生产),或者留空。这会影响一些调试行为。
packmode=
//是否忽略自定义唯一配方ID,主要控制是否忽略其他模组添加的唯一配方ID
ignoreCustomUniqueRecipeIds=false
//设置KubeJS创造模式标签页的图标。这里设置为紫色染料。注意,在配置文件中反斜杠用于转义冒号,但实际上在properties文件中,冒号不需要转义,这里可能是配置保存时的格式。
creativeModeTabIcon=minecraft\:purple_dye
//启动错误报告URL。当发生启动错误时,可以将错误报告发送到指定的URL。留空则不上报。
startupErrorReportUrl=
结尾

有些可以,比如说玩家的事件方法都都大部分在CryChic文档里都有,其中全部是都是一些大佬总结的

相关推荐
JackieDYH2 小时前
HTML+CSS+JavaScript实现图像对比滑块demo
javascript·css·html
全栈前端老曹3 小时前
【前端路由】Vue Router 嵌套路由 - 配置父子级路由、命名视图、动态路径匹配
前端·javascript·vue.js·node.js·ecmascript·vue-router·前端路由
EndingCoder3 小时前
安装和设置 TypeScript 开发环境
前端·javascript·typescript
张雨zy4 小时前
Vue 项目管理数据时,Cookie、Pinia 和 LocalStorage 三种常见的工具的选择
前端·javascript·vue.js
五月君_4 小时前
Nuxt UI v4.3 发布:原生 AI 富文本编辑器来了,Vue 生态又添一员猛将!
前端·javascript·vue.js·人工智能·ui
一个处女座的程序猿O(∩_∩)O4 小时前
现代前端开发的三大支柱:TypeScript、ESLint、Prettier 深度解析与完美协作
javascript·typescript
xiangxiongfly9155 小时前
JavaScript 惰性函数
javascript·惰性函数
POLITE35 小时前
Leetcode 76.最小覆盖子串 JavaScript (Day 6)
javascript·算法·leetcode
web小白成长日记5 小时前
深入理解 React 中的 Props:组件通信的桥梁
前端·javascript·react.js