利用Forge API开发联机MOD【基础篇】【第四章】
为你的MOD增加代理类
作者:yuxuanchiadm

索引贴地址:http://www.mcbbs.net/thread-38211-1-1.html

请确定你已经阅读完成第三章的内容:
http://www.mcbbs.net/thread-38330-1-1.html
否则不要阅读此贴!

序:
(这一章由于是赶出来的,所以有点仓促,没讲到的地方,麻烦提醒下,谢谢啦=w=)
在上一章里,我们制作了一个基本的配置文件管理类。但是,我们还缺少联机MOD的一个关键部分:代理。什么是代理呢?在Forge里,一个联机MOD的最佳状态是:不区分客户端和服务端。在此,要了解一个公式:服务端+客户端GUI、纹理和渲染器等≈(%95)客户端。而代理的用处则是让MOD能区分服务端和客户端,从而只在客户端实现GUI、纹理、渲染等功能。(服务端调用这些功能会出错)所以,现在就让我们来实现吧=w=。

为你的MOD增加代理类:
首先在myFirstMod包下新建一个包,命名为Common。
然后在这个包下新建一个类,命名为myFirstModProxyCommon。
再在myFirstMod包下新建一个包,命名为Client。
然后在这个包下新建一个类,命名为myFirstModProxyClient。
打开myFirstModProxyClient类,在public class myFirstModProxyClient后添加
  1. extends myFirstModProxyCommon
复制代码
用Eclipse自动导入myFirstModProxyCommon。

在mod_myFirstMod类中添加静态字段:
  1. public static myFirstModProxyCommon proxy;
复制代码
并加上注解:
  1. @SidedProxy(clientSide="myFirstMod.Client.myFirstModProxyClient", serverSide="myFirstMod.Common.myFirstModProxyCommon")
复制代码
用Eclipse自动导入所需类。

总结:
OK,你已经制作出了一个基本的代理字段,你可以通过这个字段来访问myFirstModProxyCommon和myFirstModProxyClient中的方法,在客户端和服务端,Forge会自动调用正确的方法(客户端使用myFirstModProxyClient,服务端使用myFirstModProxyCommon)。