自定义命令¶
署名信息
概述¶
bridge.允许你定义新命令,以便更轻松地编写长且复杂的函数。它们可以在.mcfunction
文件和支持命令的JSON文件中使用。要开始使用,请导航到预设窗口中的“自定义命令”选项卡,并填写选项,包括你希望使用TypeScript还是JavaScript编写命令以及文件名。如果你在bridge.外部或在扩展中创建命令,则需要在BP/commands
或<扩展名称>/commands
文件夹中创建一个js或ts文件。
执行范围¶
defineCommand
¶
自定义命令可以访问defineCommand
函数,其格式如下:
defineCommand({ name: (name: string) => void, schema: (schema: any) => void, template: (templateFunction: (commandArgs: string[]) => string[] | string) => void }): void
参数:
-
name(name: string): void
自定义命令的名称,将显示在自动补全中。 -
schema(schema: any): void
命令的架构。用于为自定义命令参数创建自动补全,应该按照bridge.的命令架构的arguments
属性的形式编写,以定义命令的参数。你还可以通过additionalData > schemaReference
属性访问bridge.的内置自动补全。它们可以在这里找到,并应从data
文件夹根目录引用,例如additionalData: { schemaReference: '/data/packages/minecraftBedrock/schema/general/slotType.json' }
将访问槽位类型的自动补全。
示例:
schema({
arguments: [
{ type: 'string', additionalData: { values: ['1', '2', '3'] } },
{ type: 'string', additionalData: { values: ['4', '5', '6'] } },
],
})
template(templateFunction: (componentArgs: string[]) => string[] | string): void
templateFunction
接收一个字符串,表示用户在命令后输入的参数。它应返回一个命令或命令列表,表示在编译时替换自定义命令的命令。
扩展清单¶
在扩展中创建自定义命令时,你需要在扩展清单中使用contributeFiles
字段指定它应安装的位置。