更多参数类型/详细介绍及示例
以前我们学习过这个参数类型列表:
| 参数类型 | 作用 | 示例 |
|---|---|---|
selector | 选择玩家或实体。 | {"type": "selector", "name": "目标", "target": "player"} |
string | 输入字符串,可带自动补全。 | {"type": "string", "name": "物品ID", "suggestion": "block"} |
int / uint | 输入整数/无符号整数。 | {"type": "int", "name": "数量"} |
float | 输入浮点数。 | {"type": "float", "name": "时间"} |
position | 输入坐标。 | {"type": "position", "name": "位置"} |
enum | 关键类型,从预定义的下拉菜单中选择。 | {"type": "enum", "name": "游戏模式", "list": "gamemode"} |
plain | 显示固定文本(非输入)。 | {"type": "plain", "name": "kill", "prompt": "击杀"} |
rawtext / rawjson | 输入原始文本或JSON文本。 | {"type": "rawtext", "name": "消息"} |
除了这些参数类型,还有一些参数类型,让我们全部都详细介绍一下吧!
通用参数
- optional: 可选参数,表示这个参数可以被省略,例如gamemode的目标选择器可以省略,默认为自己
具体参数
selector: 选择玩家或实体, 例如:
json
{
"type": "selector",
"name": "玩家(参数名)",
"target": "player" // 在ReFogrged中被废弃,可以不写
}会让用户写目标选择器
uint: 无符号整数(人话:非负整数), 例如:
json
{
"type": "uint",
"name": "数量(参数名)"
}他会让用户输入一个无符号整数,例如:0、1、2等。
int : 整数,例如:
json
{
"type": "int",
"name": "数量(参数名)"
}他会让用户输入一个整数,例如:123、456等。
float: 浮点数(小数),例如:
json
{
"type": "float",
"name": "参数名"
}他会让用户输入一个浮点数,例如:3.14、2.5、0.01等。
plain : 固定的字符串,例如:
json
{
"type": "plain",
"name": "参数名",
"prompt": "提示文本"
}他会让用户输入一个文本
relative : 相对位置,例如:
json
{
"type": "relative",
"name": "参数名"
}他会让用户输入一个相对位置,例如:~2 ~2 ~3等。
- 显示<参数名:数值>
position : 绝对位置,例如:
json
{
"type": "position",
"name": "参数名"
}他会让用户输入一个绝对位置,例如:12 46 -89等。
- 显示<参数名:x y z>
string : 字符串,例如:
json
{
"type": "string",
"name": "参数名"
}他会让用户输入一个字符串,例如:hello、world等。
- <参数名:文本>
enum : 枚举,例如:
json
{
"type": "enum",
"name": "游戏模式",
"list": "gamemode"
}他会让用户从预定义的下拉菜单中选择一个选项,例如:creative、survival等。
custom:自定义参数,一个正则表达式,例如:
json
{
"type": "custom",
"name": "等级",
"vtype":"数值",
"input": "^(\\+|-)?(\\d+[Ll]?)?",
"finish": "^(\\+|-)?\\d+[Ll]"
}他会让用户输入一个自定义的字符串,例如:+100、-50、100L等。
::: tips
正则表达式是什么?
正则表达式(Regular Expression)是一种文本模式匹配的工具,它能帮助你方便的检查一个字符串是否与某种模式匹配
:::
text:文本
文本没有任何补全,这是一个示例:
json
{
"type": "text",
"name": "内容"
}rawtext: 原始文本,例如:
json
{
"type": "rawtext",
"name": "参数名"
}他会让用户输入一个原始文本,例如:{"text": "hello"}等。
- 显示<参数名:文本 JSON>
nbt: NBT数据,例如:
json
{
"type": "nbt",
"name": "参数名",
"component": "..."
}他会让用户输入一个NBT数据
- 显示<参数名:JSON>
component:是NBT组件名