# 插件的概念
插件的本质其实和中国版Addon非常相似。
但是又和Addon略有不同。
例如下方就是一个插件的目录结构,可以自行和Addon进行对比。该结构在后面的章节会详细介绍,本处仅作了解。
tutorialApolloMod
behavior_packs
tutorialBehavior
developer_mods
tutorialDev
tutorialScripts
resource_packs
tutorialResource
worlds
level
world_behavior_packs.json
world_resource_packs.json
插件会将developer_mods中的代码在服务器上运行,将behavior_packs中的内容发送到客户端去,并于服务器进行双向通信。
这样做可以防止代码遭到逆向工程爆破,从而保护了服务端插件的代码。
并且插件也可以相互调用,互相依赖,将服务器玩法进行模块化拆分。
# 为什么采用插件
这么做的目的是——效率。
将服务器需要用到的一个个小功能做成一个个插件。例如将领地保护功能、权限管理功能、箱子锁功能······纷纷做成一个个的小插件。这些功能虽然不能为服务器带来核心玩法,但是却是一个我的世界网络服的基石。编写插件,就可以让这些基础功能在每一个服务器上都能够安装,管理,减少重复开发。
同时一个个的小插件,正对应着模块化设计的理念。
哪个模块出现问题,需要改进,就可以轻松定位,轻松修复。大大提升了开发效率。