基本认识:
1.Minecraft是一个沙盘类游戏
2.Minecraft里的元素大部分都是实体、方块、GUI和物品(你在做MOD是会遇到的东西大部分都是这些)
3.Forge是Minecraft的一个API,支持(客户端、原版服务端 和 Bukkit)
4.一般情况下Forge能够运行ModLoader的MOD
5.Forge是联机MODAPI
6.FML是Forge的一部分
7.Minecraft包括MOD制作,使用的都是JAVA语言
8.ForgeAPI并不能实现所有MOD的需求,还可以在Forge上加装其他API,如果你找得到和希望MOD的安装更复杂的话。
9.Forge具有基础服务端、客户端网络通信功能
10.Forge使用了ASM(Java 字节码操纵框架)
11.Forge使用注解类型来完成一些功能。
MOD开发注意事项:
1.不要把MOD源码放在net.minecraft包下面
2.启动函数的名字可以任意修改
3.在你无法解决一个问题时,看看Forge论坛或者Wiki,也许你会找到答案
4.联机MOD,channels的长度不能大于16
5.尽量不更改 或 极少且集中在一个类中 更改Minecraft或Forge的源码
6.一定要使你的MOD能更改所有方块的ID,使用配置文件
7.在制作MOD时,要注意MOD预设的方块、物品ID是否和某些出名MOD(比如IC、BC、MFR、RP)的ID冲突
8.你可以在Forge的论坛上找到一个不完全的物品、方块ID注册列表
9.你可以在8条所提到列表所在版块上发一个贴在,让别人知道你使用了这些物品、方块ID
10.不要把一个对象打包发送出去,特别是需要频繁发送的东西,这会让宽带崩坏的。
12.一般情况下,联机MOD使用Proxy注解,并使用clientSide和serverSide来让MOD既能在服务端运行,又能在客户端运行
13.Proxy的结构一般如下几种方式:
实现
IProxy(接口)(用@SidedProxy注解修饰)←────┐
┌────────────────────────────────┘
│ 实现 ┌ProxyServer(类)(@SidedProxy注解的serverSide的参数)
└ProxyCommon(类)←────┤
└ProxyClient(类)(@SidedProxy注解的clientide的参数)
(待补充)
|