我的世界插件怎么用?

栗娜琳栗娜琳最佳答案最佳答案

最近在玩一个MC整合包,里面有个插件叫自动建造,一按那个键就能自动收集材料造建筑物,感觉非常好用。但是不知道这个插件是怎么实现的……求大神指教!

解答:首先,我猜你说的应该是Forge的API。 先科普一下知识吧。所谓“插件”是游戏运行所必须的文件集合。而所谓的“API(应用编程接口)”实际上是被加载进游戏的Jar文件。这两个概念不必区分得那么严格——实际上很多时候我们把那些被加载进游戏的Jar文件统称为“插件”也没错。(Forge也支持JAR格式) 那现在来讲,问题就变成了如何把一个Jar加载进游戏里去了。这涉及到了两个概念:启动器和加载器。

对于服务器来说,一般使用Launcher来作为启动器(当然也可以使用其他的如Mojang启动器、Bukkit启动器等等);对于单机而言,则一般使用Java来作为启动器。无论是哪个启动器,它们最终都会找到对应的加载器来进行加载工作。 而Forge实际上只是一个添加了诸多功能的加载器。当使用了Forge后,游戏在加载地图时,会先加载Forge自身所需要的资源,然后再加载其他的资源。如果想知道Forge是如何工作的,只需要分析它的加载流程就可以了。

以Forge 1.7.4版本为例,它的加载器实际上是继承自Nucleus的(Forge本身的jar包里也没有提供具体的实现,而是让子类去继承并实现具体的功能)。

而在Nucleus本身的代码中,就非常清楚地写了它的加载逻辑——先查找数据同步目录是不是存在,如果不存在就生成一个新的,然后读取里面的配置信息,最后根据配置信息来做相应的工作。以这样的思路,再加上一些调试,应该就可以知道Forge的加载流程了。

另外,有些东西不需要太深入地研究Forge的源码就能了解。比如像自动建造那样需要用到命令的插件,因为Forge本身是一个基于Java的负载器,所以可以使用指令来给玩家发送消息,也可以通过/give 来直接给予物品。至于像自动建造那样的有BUG的插件,可以通过设置禁止用户使用指定的命令来实现禁用。 希望答主的信息对你有帮助~

我来回答
请发表正能量的言论,文明评论!