# 插件的概念

插件的本质其实和中国版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中的内容发送到客户端去,并于服务器进行双向通信。

这样做可以防止代码遭到逆向工程爆破,从而保护了服务端插件的代码。

并且插件也可以相互调用,互相依赖,将服务器玩法进行模块化拆分。

# 为什么采用插件

这么做的目的是——效率

将服务器需要用到的一个个小功能做成一个个插件。例如将领地保护功能、权限管理功能、箱子锁功能······纷纷做成一个个的小插件。这些功能虽然不能为服务器带来核心玩法,但是却是一个我的世界网络服的基石。编写插件,就可以让这些基础功能在每一个服务器上都能够安装,管理,减少重复开发。

同时一个个的小插件,正对应着模块化设计的理念。

哪个模块出现问题,需要改进,就可以轻松定位,轻松修复。大大提升了开发效率。