春节过后返工的第一月工作还未下达,自我加强的时间较为充裕 所以打算将许久未动的编程重新拾起。但是又不想去些一些枯燥的内容所以 选择了MC 的mod开发 作为练手并学习。
学习的教程来源于:https://www.mcbbs.net/forum.php?mod=viewthread&tid=1034476&extra=page%3D1%26filter%3Dtypeid%26typeid%3D1028
大佬的爱发电
以下主要为概念摘出
大概接触过MC MOD 的玩家都多多少少的见过 Forge .
Minecraft的两大特性:应为Minecraft是java 编写的商业应用
1.Minecraft相对容易修改;
2.代码本身是不开源而且是被混淆过的。
MCP
MCP就利用这两个特性,实现了一套工具,可以让开发者可以直接修改Minecraft jar包里的内容
随之演化出了:srg名、notch名、mcp名
notch名:
Minecraft直接反编译、反混淆之后的名称,通常是无意义的字母数字组合。你从名称Notch就可以看出,这个名字是直接来自Minecraft(以及对Notch的怨念),举例来说 j就是一个典型的notch名。
srg名:
这个名字是和notch名是一一对应的,srg名在一个版本里是不会变动的,之所以叫做srg名,是为了纪念MCP项目开发的领导者Searge。在srg名中,Minecraft中的类名已经是可读了,变量方法等名称虽然还是不可读,但是有相对应的前缀和尾缀来区分了。以上面的j为例,它的srg名是func_70114_g。
mcp名:
在mcp名中,代码已经是可读的了。和我们正常写java程序中的名称没什么两样。但是mcp名是会变动的。举例来说上面的func_70114_g它的mcp名是getCollisionBox。mcp名中的类名和srg名中的类名是相同的。