File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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插件((
You can’t perform that action at this time.
0 commit comments