Skip to content

Commit e4d6056

Browse files
authored
Update README.md
1 parent 4f5dfbd commit e4d6056

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66

77
**_目前此插件部分功能无法在Windows上使用!如果在非posix操作系统上使用此插件,会在加载插件时收到警告。_**
88

9-
10-
119
## 目的
1210

13-
有时,我们想要使用shell脚本管理服务器,但是不方便去让mc服务器全自动触发这些shell脚本,这个插件就是为了能更方便的使用各种脚本全自动维护/管理服务器
11+
有时,我们想要使用shell脚本管理服务器,但是不方便去让mc服务器全自动触发这些shell脚本,这个插件就是为了能更方便的使用各种脚本全自动维护/管理服务器,而无需为此特意编写一个mcdr插件
12+
13+
这个插件更适合编写一些简单、无需与服务器做过多交互、更贴近于操作系统的脚本任务。复杂的、与服务器交互很多的任务不适合使用本插件编写
1414

1515
他可以为shell脚本提供一系列的“钩子”(也就是hooks),还有许多接口,让脚本的可定制化程度更高
1616

@@ -185,3 +185,14 @@ def on_mcdr_start(server: PluginServerInterface):
185185
trigger_hooks(Hooks.on_mcdr_started, server, {'server': process_arg_server(server)})
186186
``````
187187
这样的代码,先看函数名`on_mcdr_start`,就能大致判断这块代码负责触发`on_mcdr_started`,再看`trigger_hooks(...)`,括号里面的最后一个参数是一个`dict`,只有一个`server`键对值,说明最终脚本可以访问到的参数全都在`PluginServerInterface`类中,然后看就完了((((逃
188+
189+
## hooks脚本相比mcdr插件的优势与劣势
190+
191+
优势:
192+
- 可以非常方便的热插拔各种任务以及任务被触发的条件
193+
- 使简单的脚本任务,编写起来更加简单,API的使用也更加简单(?
194+
- 原生支持多种类型的脚本,例如`shell`,使服务器管理更加方便
195+
196+
劣势:
197+
- 不如mcdr插件的可扩展性高,如果编写mcdr插件,可以随意调用实例中的函数,例如`server.execute(...)`,但hooks脚本无法调用这些函数,只能获取变量
198+
- 复杂的脚本任务,编写起来也更加困难,所以还不如编写mcdr插件((

0 commit comments

Comments
 (0)