开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[闲聊] 基岩版自定义命令原生支持!

 发表于 2025-3-28 06:46:24 来自手机|显示全部楼层|阅读模式 IP:0
本帖最后由 Cat_Anchor 于 2025-3-28 06:47 编辑

现在可以通过 SAPI 自定义新的命令了!


通过 SAPI 自定义的命令与原版命令大致相同,我们需要定义命令的名称(必须带命名空间)、描述(出现在命令右侧的文本)、权限等级和语法。

语法又分为必需语法和可选语法,分别对应命令语法模式里的 <参数> 和 [参数]。每个语法需要指定它是什么类型(字符串、浮点数、坐标值、实体选择器、玩家选择器等等),还需要指定名称,这个名称会在语法模式中出现:<名称: 类型>。

最后还需要指定命令的逻辑,这个需要传入一个函数来实现。我们发送命令,系统解析成功后,会将我们在命令中输入的参数作为参数,调用我们定义的函数。

目前来看,命令的错误提示是编写 SAPI 时自带的错误提示,就是 Error 里的那个。如果命令对应的逻辑函数返回 {status: 0}(表示执行失败),却没有错误,就会在聊天栏产生一个空行。

这个功能也有很多限制,比如只能创建一条语法。不过有这样一个功能总是好的,而且他们还说之后会加入更多接口。

至于万象添补里的自定义命令,我决定把它拆分,简单的如 mdb 这样的单字母命令,本来就是为了简短起见,加上命名空间 complementary: 就太长了,所以保留之前的形式。复杂的如 liftpyramid,我会重新设计,将它们用他们提供的接口重新实现一次。

现在我已经做好了 complementary:config 命令,接下来就是等待加入更多接口,去实现其他更复杂的功能了。


还有一件小事,自定义组件的传参功能可能快加入了,这样会方便很多,但同时我估计还得重写现有的自定义组件。

苦力怕论坛,感谢有您~
头像被屏蔽
 发表于 2025-4-3 10:41:01 来自手机|显示全部楼层 IP:江西省
能否像这样一样?
give me 64 diamonds(效果:给我一组钻石)
2#2025-4-3 10:41:01回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

 发表于 2025-4-3 13:32:59 来自手机|显示全部楼层 IP:广东省
为爱发声的少年 发表于 2025-4-3 10:41
能否像这样一样?
give me 64 diamonds(效果:给我一组钻石)

原版有give指令,SAPI应该也改不动,把give换掉或许有希望
3#2025-4-3 13:32:59回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

| 由 木韩网络 提供支持 | GMT+8, 2026-6-18 23:38

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4