本帖最后由 Cat_Anchor 于 2025-3-28 06:47 编辑
现在可以通过 SAPI 自定义新的命令了!

通过 SAPI 自定义的命令与原版命令大致相同,我们需要定义命令的名称(必须带命名空间)、描述(出现在命令右侧的文本)、权限等级和语法。 语法又分为必需语法和可选语法,分别对应命令语法模式里的 <参数> 和 [参数]。每个语法需要指定它是什么类型(字符串、浮点数、坐标值、实体选择器、玩家选择器等等),还需要指定名称,这个名称会在语法模式中出现:<名称: 类型>。 
最后还需要指定命令的逻辑,这个需要传入一个函数来实现。我们发送命令,系统解析成功后,会将我们在命令中输入的参数作为参数,调用我们定义的函数。 目前来看,命令的错误提示是编写 SAPI 时自带的错误提示,就是 Error 里的那个。如果命令对应的逻辑函数返回 {status: 0}(表示执行失败),却没有错误,就会在聊天栏产生一个空行。 这个功能也有很多限制,比如只能创建一条语法。不过有这样一个功能总是好的,而且他们还说之后会加入更多接口。 至于万象添补里的自定义命令,我决定把它拆分,简单的如 mdb 这样的单字母命令,本来就是为了简短起见,加上命名空间 complementary: 就太长了,所以保留之前的形式。复杂的如 liftpyramid,我会重新设计,将它们用他们提供的接口重新实现一次。 现在我已经做好了 complementary:config 命令,接下来就是等待加入更多接口,去实现其他更复杂的功能了。
还有一件小事,自定义组件的传参功能可能快加入了,这样会方便很多,但同时我估计还得重写现有的自定义组件。 |