47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
---
|
||
front:
|
||
hard: 入门
|
||
time: 5分钟
|
||
selection: true
|
||
---
|
||
|
||
# 插件的概念
|
||
|
||
插件的本质其实和中国版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中的内容发送到客户端去,并于服务器进行双向通信。
|
||
|
||
这样做可以防止代码遭到逆向工程爆破,从而保护了服务端插件的代码。
|
||
|
||
并且插件也可以相互调用,互相依赖,将服务器玩法进行模块化拆分。
|
||
|
||
## 为什么采用插件
|
||
|
||
这么做的目的是——**效率**。
|
||
|
||
将服务器需要用到的一个个小功能做成一个个插件。例如将领地保护功能、权限管理功能、箱子锁功能······纷纷做成一个个的小插件。这些功能虽然不能为服务器带来核心玩法,但是却是一个我的世界网络服的基石。编写插件,就可以让这些基础功能在每一个服务器上都能够安装,管理,减少重复开发。
|
||
|
||
同时一个个的小插件,正对应着模块化设计的理念。
|
||
|
||
哪个模块出现问题,需要改进,就可以轻松定位,轻松修复。大大提升了开发效率。
|
||
|