少走弯路!超全mc模组制作入门指南,看完明白了!【Minecraft 模组开发教程】
我的世界开发者中文指南(必看)
关于基岩版的Mod问题:基岩版MC里有Mod吗?_bilibili
现在MCreator功能还不错(用这个不用写代码)自定义生物、维度甚至是粒子效果都有了。如果模组主要是往游戏里加东西,不怎么改原版游戏机制,且体量不大,是可以考虑的。但真正想要做好还得要老老实实写代码。
Java版(除MCreator)开发学习路线
0. 如果有这些会更轻松
具有基本的英语能力(如词汇3k+)了解基础的数学知识(中学水平够用)具有一定的编程思维或理科思维,不然有可能学不太明白Java1. Java基础
初学者可看《Java从入门到精通》、菜鸟教程
基本语法:变量和数据类型、运算符、条件、循环、函数等类和面向对象(精髓)(封装、继承、多态、抽象类和接口、枚举类等)Number和Math类、String和StringBuffer、Stream&File&IO、各种容器泛型、注解、Java8新特性、异常、线程等 Java不算难,如果学过任何一门编程语言会更轻松,尤其是C/C++/C#特别注意 Java8新特性、泛型,不少初学者搞不太懂,影响开发
推荐Java8新特性通俗详解专栏
2. API
学完基础之后,可以做模组了。建议先跟着教学视频一步步走,等会做一些基本的东西之后,再看官方文档
想进阶必须要看官方文档、游戏和其他模组作者的代码
初学者不好理解/忽略的点:
服务端和客户端的概念MC游戏端分为两个端:服务端(Server)和客户端(Client)
这样做主要是为了多人游戏考虑
服务端主要负责游戏逻辑处理客户端主要负责画面和音效两个端之间需要通信,通过S2C(Server To Client)和C2S(Client To Server)
即使是单人本地游戏,两个端都会运作
Mixin用于修改游戏代码
Fabric Mixin参考:Mixin Examples [Fabric Wiki]
初学者容易弄不明白,可以看这篇文章搞定
常用注解@Shadow:影射原来的类的成员,用于引用原类的变量或方法
@Unique:表示该成员不是原来类的,而是自己写的(如果Mixin类的成员未加任何注解,则会覆盖原类的成员)
@Inject:向代码注入内容
CallbackInfo cancel()无返回值取消 get/setReturnValue获取和更改返回值
@Redirect:重定向(替换)方法调用
@ModifyArg:修改调用某方法的参数 AccessWidener
不知道(Neo)Forge是否有
用于拓宽类内私有/保护成员的访问权限
本人Fabric开发经验分享
IDE 搭建 / 配置开发环境Forge搭建可直接下载@耗子的离线包(百度搜)
Fabric看这篇,注意事项:
1. 强烈推荐IntelliJ IDEA
2. 重中之重:一定要安装Java17(+) JDK!!,否则环境搭建失败
3. fabric-example-mod
- build.properties
- 选择稳定版下载
- 有主类路径,不要填错,否则main找不到游戏报错
- 修改LICENSE、README.md
Could not execute entrypoint stage 'main' due to errors 修改fabric.mod.json / 注册物品问题——详见错误日志 项目文件夹 fabric-example-mod的license要改如果intellij 卡在Scanning files to index... Scanning library 'Gradle: commons-io' 那就多次重启软件 重新加载资源和依赖项——发现Minecraft Client / Server冒“×”的解决方法
或右上角Minecraft Client - Edit - Build and run第一行 (依赖项存在的情况下,可以通过Gradle - Tasks - Fabric - runClient是否能成功运行来检验)
Gradle(右上角大象图标) - Tasks - build - build
API Mixin @Unique注解 org.spongepowered.asm.mixin.Unique This annotation, when applied to a member method or field in a mixin, indicates that the member should never overwrite a matching member in the target class. This indicates that the member differs from the normal "overlay-like" behaviour of mixins in general, and should only ever be added to the target. For public fields, the annotation has no effect. AccessWidener 用于直接访问反编译源码中的非 public对象 fabric.mod.json添加 ... "accessWidener": "your_mod_id_here.accesswidener ", ...build.gradle手动添加构造函数:注意不能mixin到super前面,否则报错退出
@Inject(method = "<init>", at = @At("TAIL")) 资源包 改变色调
图像 - 调整 - 可选颜色
教程 制作自定义语言包:从入门到入完门 (转载备份)
indexes文件选一个,如json
这六个翻译神器可真猛,秒杀一众翻译软件,好用到犯规!
百度和谷歌垃圾,推荐DeepL,带AI,中翻英依然强(但目前2023韩语、捷克语不太好用?)
有没有推荐的繁简体转换器? 在线智能简繁转换
JsonBuddy Desktop与BabelEdit翻译language.json语言文件简要教程
暂时用不上
查找语言简称:使用必应搜索 颜文字和转义换行符翻译容易出问题
联机 Connection refused: no further information将端口开放为25565
相关知识
生物群系id
我的世界:新生物如果是哞花,生存玩家还吃肉吗?生物投票你选谁
【星露谷物语】1.5.6新版本模组推荐
剑湾群英
我的世界【现代自然风格/生存向信标塔】建筑教程,第一人称视角一看就会,信标装饰,丰富环境
白色郁金香 (White Tulip)
我的世界【现代自然风格/月亮景观雕塑】建筑教程,装饰花园,街道,第一人称教程一看就会!
一种金线莲工厂化栽培方法和栽培模组与流程
我的世界神奇宝贝46黑暗重生
WPS PPT制作教程:入门到精通指南
网址: 少走弯路!超全mc模组制作入门指南,看完明白了!【Minecraft 模组开发教程】 https://www.huajiangbk.com/newsview1275032.html
上一篇: 清炒花生芽怎么做 |
下一篇: 芽菜图片欣赏及制作方法 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039