康康你发现了什么东西
高级命令教学 (1)
新人发帖 不喜勿喷
Minecraft最精髓的东西就是命令和红石
我今天为大家带来命令的教学。
1. NBT结构
会以下编程语言的请直接跳过:
Python LUA Javascript Json
NBT的结构是以{开头,以}结尾的
{ }中的格式是 键:键值的格式
举个例子:
- {key:value}
值可以是数组、以上的数据格式、数、字符串
nbt中的标签为键
这个是无序的,解析时会自动排序
那么数组又是什么呢
数组以[开头,以]结尾
举个例子:
- [0,1,2,3,4,5]
- ["a","b","c","d","e"]
- [<font color="#00ff00">{"text":"a","color":"green"}</font>,<font color="#00ffff">{"text":"b","color":"aqua"}</font>]
转义符号
字符串用双引号为识别符,但是如果要在双引号内识别出双引号,就需要使用 \ 符号转义
以下是mc所支持的转义
符号 | 意义 |
\\ | 输出 \ |
\" | 输出 " |
\u + 中文Unicode编码 (例如: \u0020) | 输出Unicode码对应的字符 |
\n | 换行 |
我整理以后,得出
" 为1级引号
\" 为2级引号
\\\" 为3级引号
\\\\\\\" 为4级引号
\\\\\\\\\\\\\\\" 为5级引号
2. nbt的用处
nbt主要是生物、物品和方块的数据
所以它们一般出现在/give /summon /setblock /fill /data指令中
在/tellraw与/title中,格式虽然相同,但是它只是原始json文本而不是nbt
但是它们的格式相同
2021.12 数据,可能有更多内容
康康你发现了什么东西高级命令教学 (1)
新人发帖 不喜勿喷
Minecraft最精髓的东西就是命令和红石
我今天为大家带来命令的教学。
1. NBT结构
会以下编程语言的请直接跳过:
Python LUA Javascript Json
NBT的结构是以{开头,以}结尾的
{ }中的格式是 键:键值的格式
举个例子:
代码:
- {key:value}
值可以是数组、以上的数据格式、数、字符串
nbt中的标签为键
这个是无序的,解析时会自动排序
那么数组又是什么呢
数组以[开头,以]结尾
举个例子:
代码:
- [0,1,2,3,4,5]
- ["a","b","c","d","e"]
- [<font color="#00ff00">{"text":"a","color":"green"}</font>,<font color="#00ffff">{"text":"b","color":"aqua"}</font>]
转义符号
字符串用双引号为识别符,但是如果要在双引号内识别出双引号,就需要使用 \ 符号转义
以下是mc所支持的转义
符号 |
意义 |
\\ |
输出 \ |
\" |
输出 " |
\u + 中文Unicode编码 (例如: \u0020) |
输出Unicode码对应的字符 |
\n |
换行 |
我整理以后,得出
" 为1级引号
\" 为2级引号
\\\" 为3级引号
\\\\\\\" 为4级引号
\\\\\\\\\\\\\\\" 为5级引号
2. nbt的用处
nbt主要是生物、物品和方块的数据
所以它们一般出现在/give /summon /setblock /fill /data指令中
在/tellraw与/title中,格式虽然相同,但是它只是原始json文本而不是nbt
但是它们的格式相同
第二部分
1. /give的常用nbt
/give中物品的nbt格式如下
/give target 物品{nbt} 数量
举个例子
代码:
- /give @s diamond{AttributeModifiers:[{Slot:"mainhand",UUIDLeast:1,UUIDMost:1,AttributeName:"generic.attackDamage",Name:"attackDamage",Operation:1,Amount:50.0}],Enchantments:[{id:"fire_aspect",lvl:2}]} 1
如果要给物品命名,你需要使用display标签
display的值是一个字典(python叫法)
里面的标签可以是
Name
Lore
Color
(如有遗漏请补充)
Name的值是一个带有json文本的字符串,字符串内的内容需要转义
关于json文本请自行wiki (太多内容)
举个例子
代码:
- /give @s diamond{display:{Name:""水晶""}}
- /give @s diamond{display:{Name:"{"text":"水晶","italic":false}"}}
- /give @s diamond{display:{Name:"[{"text":"水","italic":false,"color":"red"},{"text":"水","italic":false,"color":"reset"}]"}}
水晶
水晶
水晶
那么Lore同理,是一个列表,列表中每一个都是json文本的字符串,字符串内的内容需要转义
列表中不同项为不同行
举个简单的例子
代码:
- /give @s diamond{display:{Lore:[""0"",""1""]}}
钻石
0
1
使用italic:false在这里同样有效
注意:1.13扁平化之前Lore和Name中的内容不会识别为json文本!
color用于设置可染色物品的颜色
键值是十进制
比如白色FFFFFF就是16777215
这个可以打开计算器,
Windows XP使用“科学”模式
Windows 7+使用“程序员”模式
今天的指令教学就到这儿辣
额这个……
MCBBS的插入代码直接把\"识别成了转义后的",明天我重发一下give部分
MCBBS的插入代码直接把\"识别成了转义后的",明天我重发一下give部分
我重发了一个新的教学,大家可以去看看https://www.mcbbs.net/thread-964393-1-1.html
对于有命令基础的人来说这玩意简单的要死,我是写给萌新的
下一期我的内容就会复杂一些了
对于有命令基础的人来说这玩意简单的要死,我是写给萌新的
下一期我的内容就会复杂一些了