- 新手的疑问
- 提问的方法
- Java基础教程
- Forge模组开发
- Bukkit/Spigot插件开发
- BungeeCord插件开发
- Sponge插件开发
- Fabric模组开发
- LiteLoader模组开发
- 基岩版开发
- PocketMine插件开发
- Nukkit插件开发
- 其他开发资源
- 反馈与建议
- 版权声明
初学者都有很多疑问,在这里对这些疑问进行一一解答。
-
我英语不好,可以学习编程吗?
对于初学者来说,英语不是主要的障碍,国内有着充足的中文教程。但在接下来的学习过程中,需要阅读大量的英文文档,所以还是需要有一些英语基础和理解学习能力,配合翻译工具(如百度翻译)进行理解。 -
我数学不好,可以学习编程吗?
对于初学者来说,有必要掌握数学逻辑思维和解决问题的思路,这些能力都在数学学习中得到锻炼,想必学习编程的人数学成绩肯定不错。初学者不需要多高的数学知识水平,但在未来的学习过程中需要更高级的数学知识,应随时做好接受学习新知识的准备。 -
我想学习编程,大佬可以教教我吗?
一般我是拒绝的,我认为学习是互相促进的过程,而不是单方面的输出,并且我也有很多事情要做。不仅是我,绝大多数人都会拒绝。 -
学习编程是使用IDE好还是Notepad好?
最近看到有人在争论这个问题,使用IDE是新手的不二选择。 -
好吧,我自学编程,有问题可以问大佬吗?
可以,但是我拒绝回答书中的基础问题和可以通过搜索引擎解决的问题。 -
自学编程是看书好还是看视频好?
萝卜青菜,各有所爱,关键是看哪种方式能让你更好理解和学习。我个人是喜爱书本,可以随时查阅资料,非常方便。 -
我学习了很久,但没有成效,我是不是没有天赋?
我个人觉得对于入门的学习来说,天赋对于学习的影响微乎其微,如果你的学习效率低下,考虑是不是以下原因:- 单纯的努力不足,三天打鱼两天晒网。如果不能改正,不如考虑干点别的。
- 数学逻辑思维和解决问题的能力不足。这个可以学习一些简单易懂的教程,看看视频等,慢慢锻炼,没有任何捷径。
- 学习方法不对,主要是练得少。只翻书和看视频是没有用的,必须配合大量的练习。个人推荐的方法是:
- 看完书以后把书上给出的例题再敲一遍,不是照着书上写。
- 做几个自己感兴趣的项目,在做自己感兴趣的事情的时候才有动力学习。
- 对于枯燥乏味的课后习题,也应该尝试做一遍,并思考各行代码的效果。
- 将自己学到的知识用简单的文字形式记录下来,建议使用博客或日志。
- 对于自己不懂的问题,先看看书和视频,再使用搜索引擎如百度谷歌,最后才询问他人。
-
我已经Java入门了,也能自己写一些简单的小程序了,该如何提高自己呢?
当你Java基本入门,具有一定的编码能力了,可以通过以下多种途径提高自己:- 编写一个自己不怎么知道实现的程序,并在编写过程中通过搜索引擎的帮助学习。
- 阅读别人的源代码和设计文档,了解别人的编码和设计**,提升自己的编码水平。
- 学习编码规范(如《代码整洁之道》)、设计模式(如《大话设计模式》)、软件架构(如《架构简洁之道》)和一些重要的类库(如Guava、Commons、OpenGL、Netty)。
当你遇到使用搜索引擎、查阅相关文档、进行Debug(如果没有做过上述操作的话,请立刻去做) 也无法解决的问题的时候,你可能会向别人求助。现在就来讲讲如何正确提问。
当你进行提问时,请保证你准确提供了以下信息:
- 准确的描述你的需求和实际问题情况。
- 准确的描述你所在的平台的信息。例如:
- Java 版本
- 所用开发工具(IDE)
- MineCraft 版本
- Bukkit/Spigot/Forge/Sponge/Fabric 任一所在平台及其版本
- 依赖的类库及其版本
- 提供你的源代码,将源代码包括开发环境完整上传至源码托管平台(如Github)。
- 提供你的完整日志、异常输出。
如果你通过发帖的方式提问,请在你的标题也简略的包含问题描述和平台信息。例如《[Forge][1.7.10]载入Mod时出现NullPointerException》
请记住,不要认为他人的回答是理所应当的。如果你想学习更多关于提问的方法、技巧、礼仪,看看提问的智慧会给予你许多帮助。
本书分两本,一本是 《Java8编程入门官方教程》,一本是 《Java8编程参考官方教程》。入门版本内容较少,适合新手入门;参考版本内容较多,可以当作参考书使用。
我的Java入门书,但内容有些老旧。
非常不错的一套书,共2本,解决了我的很多疑问,可以当作参考书使用。
非常全面的中文Forge模组开发教程,强烈推荐。
全面的1.12.2 Forge模组开发指南,可惜的是其未对内容做合理的编排,不适合初学者阅读该指南。
详细介绍了Forge添加的非常有用的库。中文文档,英文文档。
- Forge官方下载
- 【1.14+】ForgeGradleCN — MDK配置新解决方案
- 【1.7.10+】耗子的MDK离线包(百度云盘 提取码:jmrv)
- 【1.12.2+】FledgeXu的MDK离线包(Github)
有删除线的资料可能存在误导、内容欠缺、表述不清、不够严谨和已有同类更优秀的资料等情况,仅作参考。
- 【1.15】Neutrino 1.15 Mod 开发教程
- 【1.14+】Forge能量系统简述
- 【1.13+】1.13+ 中 Forge 与 Bukkit 的通信
- 【全版本】 原版 / FML CoreMod 开发教程(GitBook/码云)
- 【1.13+】浅析1.13世界生成
- 【1.7.10-1.12.2】EnumHelper的前世今生
- 【全版本】雪崩式的灾难:严重滞后的世界生成(Bilibili)
- 【全版本】简单网络通信包装类(SimpleNetworkWrapper)
- 【全版本】GUI开发教程
- 【1.11.2】基于代码的简单方块/物品贴图渲染
- 【1.11.2】ChinaCraft2代码详解——大型模组开发笔记(Github)
- 【1.10.2+】1.10.2以上的方块与物品渲染
- Minecraft模组开发知乎专栏
- ustc-zzzz的博客
- 【1.8.9-1.7.2】风之工坊(当风过时的博客)
- 【1.7.10】261Day
- 【1.8.9】白玉楼之梦(szszss的博客)
【全版本】Coremod导论—从切比雪夫多项式说起【全版本】俩车的 Coremod 介绍【1.12.2】3024358263的Minecraft1.12.2模组开发教程(备用链接)【1.12】Re:从零开始的基于Forge的mod开发生活(备用链接)
由于没有详细的阅读过,不做评论,但大都全面,非常推荐外语水平好的同学前去阅读。排名依照支持版本先后排序。
- 【Youtube】【1.15.2-1.12.2】TurtyWurty的模组开发视频教程
- 【1.15.2-1.12.2】Cadiboo的模组开发教程
- 【1.15.2-1.12.2】Suppergerrie2的模组开发教程
- 【Youtube】【1.15.2-1.14.2】McJty的模组开发视频教程
- 【1.14.4-1.8】TheGreyGhost的模组开发教程
- 【1.14.2-1.9.4】McJty的模组开发教程
- 【Youtube】【1.14/1.12.2】Harry Talks的模组开发视频教程
- Darkhax的模组开发教程
- 如何用Kotlin开发模组
- 【1.12.2】Cubicodere的模组开发教程
- 【1.12.2-1.10.2】shadowfacts的模组开发教程
- 【Youtube】【1.10-1.9】MrCrayFish的模组开发视频教程
- 【Youtube】【1.10-1.9】DisgultGA的模组开发视频教程
- 【Youtube】【1.10-1.8】Ash5357的模组开发视频教程
- 【1.10.X】国外网友自己整理的模组开发教程合集
- 【1.9-1.8.X】结构生成教程
- 【1.9-1.8.X】复杂结构生成教程
- 【1.8-1.6.4】coolAlias的模组开发教程
- 【1.8-1.3】wuppy29的模组开发教程
- 【1.8-1.7】TheXFactor117的模组开发教程
- 【1.8】Blfngl的模组开发教程
- 【1.8】日本的模组开发百科
- 【1.7.10】jabelar的模组开发教程
- 【1.7.10】模组开发教程
- 【1.7.10】EMX的教程
附属模组开发工作空间设置
很多问题都能在这里解决
很多问题都能在这里解决。
有删除线的资料可能存在误导、内容欠缺、表述不清、不够严谨和已有同类更优秀的资料等情况,仅作参考。
- 优雅地让命令完整支持TAB补全
- 怎样写出一个1.12.2-1.15.2通用支持的插件
- 如何编写一个可以保留注释的配置类
- 使用IDEA快速调试插件
- Scoreboard教程
- 创建高版本自定义实体,自定义方块原理与应用
- 如何问玩家“吾与徐公孰美?”
- 使用BlockData API来操作Sign
- 1.13+ 中 Forge 与 Bukkit 的通信
- ProtocolLib 教程
- Placeholder 教程
- Vault API 翻译
- [插件NMS教程]PathfinderGoal
- 如何利用Maven来管理你的插件
- BukkitAPI 1.10->1.11改动介绍
- 在使用NMS的同时支持多个版本
- 自定义物品模型[1.9+]
- 编辑,获取并使用木牌
- 如何给物品增加NBT数据
- 自定义交互式书本
- 在插件通过发包(ProtocolLib)打开牌子界面(Sign GUI)
- HolographicDisplays API 汉化
- Forge与Bukkit之间的通信|数据传输——Messenger类
- 如何给插件加上更新检查
- 使用Metrics统计信息
- Bukkit Conversation API
- 如何在JavaIDE上调试你的插件
- Pathfinder 实体AI教程
- Enchantment API 教程
- 插件使用MySQL数据库
- 插件粒子特效教程(备用链接)
- ItemMeta 使用教程
- 自定义实体
- 聊天组件API——自定义你的聊天消息
- 如何让插件命令支持Tab自动补全
Valkyrie —— 一个面向中文社区的插件开发教程(Github/备用链接)(已于1.12弃用)Ebean数据库(上)(下)810587921的插件开发教程Day's Bukkit插件开发教程wyt的Bukkit插件开发教程
相关教程收集中,如有意见和建议欢迎提交Pull Request或Issue。
有很多有用的东西,可以在这里讨论和提问问题哦!
有什么事情为什么不先百度或谷歌呢?
- 国内最大的Minecraft开发讨论群: 284633248
- Bukkit/Spigot插件开发交流群: 313498121
- Sponge插件开发交流群: 613604130
- 耗子的Minecraft开发讨论群: 345538010
世界上最大的社交编程以及代码托管网站,可以在这里查看许多模组和插件的源代码
国外的一个关于编程的求助网站
- 聊聊区块和 Ticket(备用链接)
- 怎么看崩溃报告和Timings?
- 如何使用持续集成帮助开发
- [调试辅助]JRebel - 给你+1s|再也不需要重启客户端加全局变量了
- Minecraft开发资源Maven仓库国内镜像
对本指南有建议和意见可以在此提交。
本作品作者为耗子
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
转载请附上本作品链接: https://github.com/Mouse0w0/MinecraftDeveloperGuide