Minecraft mod 开发编程入门

FledgeXu


免责声明

本教程仅代表我个人看法,如果有意见,我会虚心接收,改不改看情况。

前言

不要通过写Mod来学习编程!
不要通过写Mod来学习编程!
不要通过写Mod来学习编程!

正文

第一件事,你得确认你真的需要写 Mod 吗,你尝试过用原版的知识解决问题吗,你尝试和别人合作过吗?如果你真的确认你要学习如何写 Mod 那么请继续读下去。

我在这里所推荐的基本是国外内容,学习编程的第一个要点「英文世界的内容普遍比中文世界优秀」。

在你学习完以上的内容以后我相信你已经对什么是「计算机科学」和「计算机科学」是做什么的有所了解了。

接下来你可以开始学习编程了,虽然你的目标是学习mod开发,或者说学习Java,但是Java本身不算是一个对于没有经验的人好入门的语言,我的建议是从 Python 入门,当你学习的编程语言越多,你学习一门新的编程语言的时间就越少。

学习Java,接下来你就可以开始学习Java了

现在你已经有编程基础了,你还需要好好的了解Minecraft这个游戏本身

相信你读完Wiki之后对Minecraft游戏本身已经有了足够的了解了,结下你需要对Minecraft本身技术上的细节有所了解。

现在你已经具有 Minecraft 开发所需要的基础了,如果你想继续向下学习,请看下面


FledgeXu



FledgeXu



FledgeXu



耗子


对于是否应该多学几门语言以及Java是否适合新手入门学习,我对您的观点持反对意见。

接下来你可以开始学习编程了,虽然你的目标是学习mod开发,或者说学习Java,但是Java本身不算是一个对于没有经验的人好入门的语言,我的建议是从Python入门,当你学习的编程语言越多,你学习一门新的编程语言的时间就越少。

以我个人经历,我个人从Java语言入门,从自己最感兴趣的事情做起,学习动力尤为充沛,同时也积极地遵照教程去做。

早年由于无法配置模组开发环境的原因,使我先将目光转向了Bukkit插件开发。Bukkit插件开发不得不说对我的Java学习影响极大,它能够很快地给我一个积极的反馈,让我感受到了改变游戏世界的成就感,同时它也启迪了我对于架构的理解和对优秀架构追求和渴望。

学习编程不应该在多门语言之间反复横跳,我学习Java开发6年,基本上没有在别的语言上深入学习,但架构知识始终是我一直在追求的,架构无论在那个语言上都能够适用。在面对缺乏完善架构设计的Minecraft上,优秀的架构设计往往能给你的模组开发产生事半功倍的效果。

总的来说,现在的教程已经足够手把手地喂饱新手了,大胆地做你感兴趣的事情吧!只有这样你才有动力坚持下去。

当然对于Minecraft开发,我更推荐Java基础->Bukkit插件开发->Forge/Fabric模组开发的学习路径,我也相信Bukkit插件开发能让你初步体验到一个优秀架构对于软件开发的重要性。


FledgeXu


………
你可以去试试学学SICP这本书或者Haskell这门编程语言,不只有OOP,而且也不知只有Java这种OOP实现方式。


FledgeXu


………
你可以去试试学学SICP这本书或者Haskell这门编程语言,编程范式不只有OOP,而且也不知只有Java这种OOP实现方式。

Learn at least a half dozen programming languages. Include one language that supports class abstractions (like Java or C++), one that supports functional abstraction (like Lisp or ML), one that supports syntactic abstraction (like Lisp), one that supports declarative specifications (like Prolog or C++ templates), one that supports coroutines (like Icon or Scheme), and one that supports parallelism (like Sisal).
译:至少学6种程序语言。其中包括一种支持类抽象的(Java和C++),一种支持函数抽象的(如Lisp或ML),一种支持语义抽象的(Lisp),一种支援声明规范的(如Prolog或C++模板),还有一种支援协程的(Icon或Scheme),另外一种支持并发的(Sisal)。
——————By Google 研究总监 Peter Norvig。


耗子


没必要把业内的权威都要奉为真理,更何况我们是面向新人,面向基于兴趣学习的人,而不是面向需要向更深刻层面学习的程序员。在我看来,掌握架构实际上比掌握多种编程范式更重要。


FledgeXu


如果行业权威也不能相信,那要相信什么?:thinking:


FledgeXu


如果行业权威也不能相信,那要相信什么?:thinking:


FledgeXu


哪怕是Java这种自称为纯面向对象的语言,也已经加入了函数式编程的内容,mod开发也需要用到,学习多种语言绝对是好事。


FledgeXu


至于架构,架构其实就是一种抽象过程,你在学习各种语言的过程中你也能更好的体会如何抽象。


FledgeXu


不过这个教程也只是我个人之言,读者也完全可不遵循这个教程。


耗子


如果行业权威也不能相信,那要相信什么?

没必要把业内的权威都要奉为真理.

你此前都在社区理念上要求尊重自己,不要使 大佬膜拜萌新等词汇了,结果你现在又开始迷信权威,把我的话理解为绝对的话语,学术讨论就在此沦为下流。

那你现在又提倡相信行业权威,难道我就不是Minecraft开发的行业权威了?那你不相信我,去相信Google一个跟Minecraft八竿子打不着的公司的人的权威,真有够可笑的呢(我是老阴阳人了)。

我刚看了一下你又把社区理念给改了,难道你也要学Google把“不要作恶”改成“做正确的事”?


FledgeXu



FledgeXu