我的世界开发者中文指南

目录

本文来自 Mouse0w0 的项目 MinecraftDeveloperGuide。请前去 star 哦!

新手的疑问

初学者都有很多疑问,在这里对这些疑问进行一一解答。

  • 我英语不好,可以学习编程吗?
    对于初学者来说,英语不是主要的障碍,国内有着充足的中文教程。但在接下来的学习过程中,需要阅读大量的英文文档,所以还是需要有一些英语基础和理解学习能力,配合翻译工具(如百度翻译)进行理解。

  • 我数学不好,可以学习编程吗?
    对于初学者来说,有必要掌握数学逻辑思维和解决问题的思路,这些能力都在数学学习中得到锻炼,想必学习编程的人数学成绩肯定不错。初学者不需要多高的数学知识水平,但在未来的学习过程中需要更高级的数学知识,应随时做好接受学习新知识的准备。

  • 我想学习编程,大佬可以教教我吗?
    一般我是拒绝的,我认为学习是互相促进的过程,而不是单方面的输出,并且我也有很多事情要做。不仅是我,绝大多数人都会拒绝。

  • 学习编程是使用IDE好还是Notepad好?
    最近看到有人在争论这个问题,使用IDE是新手的不二选择。

  • 好吧,我自学编程,有问题可以问大佬吗?
    可以,但是我拒绝回答书中的基础问题和可以通过搜索引擎解决的问题。

  • 学习编程是看书好还是看视频好?
    萝卜青菜,各有所爱,关键是看哪种方式能让你更好理解和学习。我个人是喜爱书本,可以随时查阅资料,非常方便。

  • 我学习了很久,但没有成效,我是不是没有天赋?
    我个人觉得对于入门的学习来说,天赋对于学习的影响微乎其微,如果你的学习效率低下,考虑是不是以下原因:

    • 单纯的努力不足,三天打鱼两天晒网。如果不能改正,不如考虑干点别的。
    • 数学逻辑思维和解决问题的能力不足。这个可以学习一些简单易懂的教程,看看视频等,慢慢锻炼,没有任何捷径。
    • 学习方法不对,主要是练得少。只翻书和看视频是没有用的,必须配合大量的练习。个人推荐的方法是:
      • 看完书以后把书上给出的例题再敲一遍,不是照着书上写。
      • 把课后习题都给做了。
      • 做几个自己感兴趣的项目。
      • 对于自己不懂的问题,先看看书,再百度谷歌,最后才询问他人。

提问的方法

当你遇到使用搜索引擎、查阅相关文档、进行Debug(如果没有做过上述操作的话,请立刻去做)也无法解决的问题的时候,你可能会向别人求助。现在就来讲讲如何正确提问。

当你进行提问时,请保证你准确提供了以下信息:

  • 准确的描述你的需求和实际问题情况。
  • 准确的描述你所在的平台的信息。例如:
    • Java 版本
    • MineCraft 版本
    • Bukkit/Spigot/Forge/Sponge 任一平台及其版本
    • 依赖的类库及其版本
  • 提供你的源代码,将源代码包括开发环境完整上传至源码托管平台(如Github)。
  • 提供你的完整日志、异常输出。

如果你在论坛提问,请在你的标题也简略的包含问题描述和平台信息。例如《[Forge][1.7.10]载入Mod时出现NullPointerException》

如果你想学习更多关于提问的方法、技巧、礼仪,看看提问的智慧会给予你许多帮助。

自学的方法

  • 每当学习到新知识的时候应该及时的练习和实践
  • 多看看开发文档,每次你都能获得新的收获
  • 多看看别人的源代码,很多问题都能得到解决
  • 搜索引擎是一个好东西
  • 写学习笔记和博客是记录知识的好方式,但不是死记知识点
  • 好的提问方式才能获得正确答案
  • 合理的规划学习时间,而不是三天打鱼两天晒网

Java基础教程

《Java 8 编程入门(参考)官方教程》

本书分两本,一本是 《Java8编程入门官方教程》,一本是 《Java8编程参考官方教程》。入门版本内容较少,适合新手入门;参考版本内容较多,可以当作参考书使用。

《Java 从入门到精通》

我的Java入门书,但内容有些老旧。

《Java 核心技术》

非常不错的一套书,共2本,解决了我的很多疑问,可以当作参考书使用。

Java 中文在线教程(我绝对不是打广告)

Java 官方教程(英文)

Google Java 编程风格指南

Javadoc

Forge模组开发

(1.8.9)zzzz的模组开发教程

非常全面的中文Forge模组开发教程,强烈推荐。

(1.12.2)先驱者Forge模组开发指南

全面的中文Forge模组开发教程,但对新手实在是不太友好,需要仔细打磨。

Forge官方文档

详细介绍了Forge添加的非常有用的库。中文文档英文文档

国内模组开发教程

有删除线的教程可能存在误导、表述不清和不够严谨等较为严重的问题,仅作参考。

请尽量避免开发CoreMod,维护代码空间的和平与清净。

Forge MDK 离线版

百度云盘 提取码:jmrv

国外模组开发教程

由于没有详细的阅读过,不做评论,但大都全面,非常推荐外语水平好的同学前去阅读。排名依照支持版本先后排序。

模组示例代码

国外mod开发讨论

很多问题都能在这里解决

模组开发相关工具

Mod Coder Pack

Bukkit/Spigot插件开发

国内优秀教程

官方教程

Bukkit API开发者文档

Spigot官方论坛插件开发讨论版块

很多问题都能在这里解决。

国内其他插件开发教程

BungeeCord插件开发

BungeeCord插件开发中文教程

官方Wiki

官方插件开发教程

BungeeCord官方论坛插件开发讨论板块

Sponge插件开发

官方网站

官方论坛

官方教程(多国语言,含简体中文)

官方JavaDoc

LiteLoader模组开发

官方网站

zzzz的LiteMod开发引导(简体中文)

官方源码仓库

基岩版开发

相关教程收集中,如有意见和建议欢迎提交Pull Request或Issue。

官方附加包(Add-Ons)介绍主页

Minecraft中文百科“附加包(Add-Ons)”页面

其他教程

PocketMine插件开发

PocketMine插件开发中文教程

PocketMine其他插件开发教程

Nukkit插件开发

Nukkit插件中文开发教程

Nukkit官方论坛插件开发讨论板块

其他开发教程

其他

MCBBS开发讨论板块

有很多有用的东西,可以在这里讨论和提问问题哦!

MCBBS开发教程索引贴

搜索引擎

有什么事情为什么不先百度或谷歌呢?

国内开发讨论交流群

Github

世界上最大的社交编程以及代码托管网站,可以在这里查看许多模组和插件的源代码

Stack Overflow

国外的一个关于编程的求助网站

反馈与建议

对本指南有建议和意见可以在此提交。

版权声明

本作品作者为耗子

知识共享许可协议
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。

转载请附上本作品链接: https://github.com/Mouse0w0/MinecraftDeveloperGuide