Go:命令¶
函数¶
ExecuteCommand¶
| Go | |
|---|---|
以控制台的身份运行 cmd,返回它输出的内容。只能在服务器线程调用。返回错误表示世界还没就绪,或者宿主不能运行命令。
- 参数:
- cmd :
string
- cmd :
- 返回值类型:
([]CommandOutput, error) - 对应槽位:
execute_command
RegisterCommand¶
| Go | |
|---|---|
注册 /name,命令名之后的文本作为 Args 交给 fn。在 Enable 里、在服务器线程上调用。命令在服务器运行期间一直保持注册,因为基岩版不能注销命令;模组被禁用时,宿主会屏蔽它。
- 参数:
- name :
string - description :
string - permission :
Permission - fn :
func(*Invocation)
- name :
- 返回值类型:
error - 对应槽位:
register_command
NewOverload¶
| Go | |
|---|---|
开始一个重载。
- 返回值类型:
*Overload
NewCommand¶
| Go | |
|---|---|
开始声明 /name。
- 参数:
- name :
string - description :
string - permission :
Permission
- name :
- 返回值类型:
*CommandBuilder
RegisterCommandEnum¶
| Go | |
|---|---|
注册一个固定的枚举,供 RequiredEnum 和 OptionalEnum 使用。
- 参数:
- name :
string - values :
[]EnumValue
- name :
- 返回值类型:
error - 对应槽位:
register_command_enum
RegisterSoftEnum¶
| Go | |
|---|---|
注册一个值可以在服务器运行时改变的枚举。
- 参数:
- name :
string - values :
[]string
- name :
- 返回值类型:
error - 对应槽位:
register_command_soft_enum
UpdateSoftEnum¶
| Go | |
|---|---|
替换一个软枚举的值,或者向它添加值、从它移除值。
- 参数:
- name :
string - op :
SoftEnumOp - values :
[]string
- name :
- 返回值类型:
error - 对应槽位:
update_command_soft_enum
CommandCall¶
| Go | |
|---|---|
用 CommandBuilder 声明的命令的一次执行。
CommandCall.Arg¶
| Go | |
|---|---|
按名字取一个参数;可选参数没有给出时返回 false。
- 参数:
- name :
string
- name :
- 返回值类型:
(*Nbt, bool)
CommandCall.ArgString¶
| Go | |
|---|---|
按名字取一个参数,作为文本。
- 参数:
- name :
string
- name :
- 返回值类型:
(string, bool)
CommandCall.ArgInt¶
| Go | |
|---|---|
按名字取一个整数参数。
- 参数:
- name :
string
- name :
- 返回值类型:
(int64, bool)
CommandCall.ArgFloat¶
| Go | |
|---|---|
按名字取一个数值参数。
- 参数:
- name :
string
- name :
- 返回值类型:
(float64, bool)
CommandCall.IsConsole¶
| Go | |
|---|---|
判断这条命令是不是由专用服务器的控制台运行的。
- 返回值类型:
bool
CommandCall.Success¶
| Go | |
|---|---|
发送一行输出。
- 参数:
- msg :
string
- msg :
CommandCall.Error¶
| Go | |
|---|---|
发送一行错误输出。
- 参数:
- msg :
string
- msg :
Overload¶
命令的一种解析方式:按顺序排列的参数。
Overload.Required¶
| Go | |
|---|---|
添加一个必须给出的参数。
- 参数:
- name :
string - t :
ParamType
- name :
- 返回值类型:
*Overload
Overload.Optional¶
| Go | |
|---|---|
添加一个可以省略的参数;省略时 Arg 对它返回 false。
- 参数:
- name :
string - t :
ParamType
- name :
- 返回值类型:
*Overload
Overload.RequiredEnum¶
| Go | |
|---|---|
添加一个枚举参数,枚举要先用 RegisterCommandEnum 或 RegisterSoftEnum 注册。
- 参数:
- name :
string - t :
ParamType - enum :
string
- name :
- 返回值类型:
*Overload
Overload.OptionalEnum¶
| Go | |
|---|---|
添加一个可以省略的枚举参数。
- 参数:
- name :
string - t :
ParamType - enum :
string
- name :
- 返回值类型:
*Overload
Overload.Text¶
| Go | |
|---|---|
添加一个字面单词,/scoreboard objectives add 就是由这样的单词组成的。这个单词会以 name 为名出现在参数里,处理函数读它和读其他参数一样。接收相同参数的几个并列单词,应当合成一个枚举(契约 6.1 节)。
- 参数:
- name :
string - literal :
string
- name :
- 返回值类型:
*Overload
Invocation¶
| Go | |
|---|---|
命令的一次执行。回调期间可以任意多次调用 Success 和 Error,回调返回以后就不能再调用了。
Invocation.Success¶
| Go | |
|---|---|
发送一行输出。
- 参数:
- msg :
string
- msg :
Invocation.Error¶
| Go | |
|---|---|
发送一行错误输出。
- 参数:
- msg :
string
- msg :
CommandBuilder¶
声明一个带类型化重载的命令。每个重载解析的输入必须不同:两个重载接受同样的单词时,引擎会自己从中挑一个。
CommandBuilder.Overload¶
| Go | |
|---|---|
添加命令的一种解析方式。
- 参数:
- o :
*Overload
- o :
- 返回值类型:
*CommandBuilder
CommandBuilder.Register¶
| Go | |
|---|---|
注册这条命令。每次执行时 fn 都在服务器线程上运行;绑定解析不了的载荷会报告给执行命令的人,这时 fn 不会运行。
- 参数:
- fn :
func(*CommandCall)
- fn :
- 返回值类型:
error - 对应槽位:
register_command_ex
CommandOutput¶
命令输出的一行。
Permission¶
| Go | |
|---|---|
谁可以运行一条命令,对应 CommandPermissionLevel。
| 名称 | 值 | 说明 |
|---|---|---|
PermissionAny |
0 |
|
PermissionGameDirectors |
1 |
|
PermissionAdmin |
2 |
|
PermissionHost |
3 |
|
PermissionOwner |
4 |
ParamType¶
| Go | |
|---|---|
一个命令参数的类型,也就是 register_command_ex 的 kind 单词。
| 名称 | 值 | 说明 |
|---|---|---|
ParamInt |
"int" |
|
ParamBool |
"bool" |
|
ParamFloat |
"float" |
|
ParamString |
"string" |
|
ParamEnum |
"enum" |
|
ParamSoftEnum |
"soft_enum" |
|
ParamActor |
"actor" |
|
ParamPlayer |
"player" |
|
ParamBlockPos |
"block_pos" |
|
ParamVec3 |
"vec3" |
|
ParamRawText |
"raw_text" |
|
ParamMessage |
"message" |
|
ParamJSON |
"json" |
|
ParamItem |
"item" |
|
ParamBlockName |
"block_name" |
|
ParamEffect |
"effect" |
|
ParamActorType |
"actor_type" |
|
ParamCommand |
"command" |
|
ParamRelativeFloat |
"relative_float" |
|
ParamFilePath |
"file_path" |
CommandOrigin¶
| Go | |
|---|---|
谁在什么地方运行了这条命令。
EnumValue¶
命令枚举的一个值。
SoftEnumOp¶
| Go | |
|---|---|
UpdateSoftEnum 怎样改变枚举的值。
| 名称 | 值 | 说明 |
|---|---|---|
SoftEnumSet |
0 |
|
SoftEnumAdd |
1 |
|
SoftEnumRemove |
2 |