Minecraft(我的世界)中文论坛
标题: 指令方块基础Q&A
作者: PotatoMaster101 时间: 2015-4-12 19:46
标题: 指令方块基础Q&A
本帖最后由 PotatoMaster101 于 2016-6-10 20:48 编辑
由于太多新手的问题、本人也没有时间一个一个回复,所以今天发本帖。
大家好。今天来发一个指令方块基础的Q&A(别告诉我你不知Q&A是啥(问题和答案))。
Q1:NBT的集合(MC1.7+)
A:我看很多人都问我,如果我又要有Attributes,又要有Equipment,实现在同一个实体上面怎么做?这个十分简单。多个NBT的格式就是:
比如:如果我要刷一个自定义带有装备,而且有药水属性的僵尸,那么指令就是:
- /summon Zombie ~ ~1 ~
- {Equipment:[xxx],ActiveEffects:[xxx]}
复制代码 以上指令中xxx为省略的内容。只是把主要的格式发了出来。大家看见,主要就是每个NBT之间加一个逗号就行了。
这里用的是母标签和子标签。举例子,a:{b,c,d}里面,a就是母标签,内部的b,c和d就是子标签。
警告:我看见很多新手都会这样写:{Equipment:[xxx]},{ActiveEffects:[xxx]},这样是错的。多个NBT不能开多个括号,而是全部集中在一个括号之内。
之后又有人问我,怎么给村名卖的东西附魔?怎么给生物的装备附魔?等等的问题。这个很简单,需要用到的是{tag}。格式是:
主要就是在NBT里面加上tag,然后再包括进弯曲括号就行了。比如,如果我要给一个僵尸附魔的装备:
- /summon Zombie ~ ~1 ~
- {Equipment:[{id:"xxx",Count:1b,Damage:0s,
- tag:{ench:[xxx]}}]}
复制代码 同样,xxx为省略的部位。大家看见,Equipment是给装备的NBT。里面的id,damage和count都加好了,但是如果我还要附魔,那就是在Equipment里面再加上tag,之后里面再写进ench。加入tag的原因是因为{ench}是指定给僵尸穿的装备的,而并不是给僵尸的。
再比如,村名交易:
- /summon Villager ~ ~1 ~
- {Offers:{Recipes:[{maxUses:xxx,
- buy:{id:"xxx",Count:1b,Damage:0s,tag:{xxx}},
- sell:{id:"xxx",Count:1b,Damage:0s,tag:{xxx}}}]}}
复制代码 同上,tag内可以输入ench,AttributeModifiers等等和物品有关的NBT。原因同上,tag内的nbt都是给物品的,而不是给村民的。
Q2:指令方块输出:“Data tag parsing failed: Unbalanced curly brackets .........” (MC1.7+)
A:这是因为输入的NBT的括号没有对称造成的。如果开了一个括号,那就要关闭一个括号。比如,如果:
那就是错的,因为开了一个括号,但是却关闭了两个括号。正确的方法是:
之后方形括号也一样。指令方块如果输出:“Data tag parsing failed: Unbalanced square brackets ........”,那就是方形括号不对称。
总体来说,开几个括号就要关掉几个。比如:
如果开启是:{[[[{{{{,那么关闭就是:}}}}]]]}。
如果开启是:{{{{[[[[{{{{{{{,那么关闭就是:}}}}}}}]]]]}}}}。
Q3:/setblock(或者/fill)显示“Cannot place block outside of the world” (MC1.7+)
A:这是因为setblock和fill指令只可以在已经载入的Chunk内放置方块。如果输入:“/setblock ~10000 ~ ~999999 minecraft:redstone_block”,那么一般就会失败,因为远离玩家x为10000格,z为999999格的地方的Chunk并未加载。最好的解决方法是,首先TP自己到那个setblock或者fill的地方,然后再使用指令方块。这样子每次玩家到了那个地方,Chunk就会被加载,这样子就可以实现指令了。
出生点chunk是一直都会被加载的,所以玩家在出生地做红石,指令方块都会被激活。
值得一提的是,/spreadplayers指令可以把实体随机传送到chunk并未加载的地方,并且可以在短时间内加载那个chunk。所以/spreadplayers可以做一个chunk加载器。
Q4:关于如何改变物品/方块的附加值 (MC1.7+)
A:每个物品都有一个附加值 (Damage),但是大部分的物品附加值都为0。附加值用来分辨同样方块内的种类,比如羊毛的ID都是"minecraft:wool",但是他们却有不同的颜色,这个就是使用附加值做的。一般指令都会给玩家一个输入附加值的选项。
比如,/give指令的格式是:
- /give <玩家> <物品> [数量] [附加值] [dataTag]
复制代码 这里的附加值就是来分辨方块的。一般没有附加值的物品,附加值都为0(比如黑曜石,地壳什么)。如果是羊毛,或者染色玻璃的话,那就有附加值了。附加值一般是数字 0 - 15,每种数字代表一种颜色。
在NBT内,附加值是使用Damage标签来控制的。比如:
- {Equipment:[{id:"xxx",Count:1b,Damage:0s}]}
复制代码 Damage:0s就是控制附加值。后面的s是单位,一定要加上。
Q5:关于转义的使用(MC1.7+)
A:很多人问本人如何使用转义。在MC中,转义是让电脑知道双引号顺序。请看一下例子:
"abc"def"ghi"
上面这行文字有4个双引号。如果直接读取这行文字,那么可以有不同的概念:
1. abc和ghi在双引号中间,而def没有双引号。
2. abc和ghi在整个双引号之内,而def在整个双引号之内的双引号之内。
这里就要用到转义了。在MC中,转义的用处就是“双引号中的双引号”。转义字符为 “\”。下面来举个例子:"abc\"def\"ghi"
以上就是正确的格式。因为以上这行文字的意思就是,abc和ghi被双引号包括。而def是被双引号之内的双引号所包括。这样子电脑就可以理解其意思。
之后来讲解的是多级转义。计算多级转义字符数量的公式是 2^n-1。一开始本人称为0级转义,就是没有任何转义,因为2^0-1 = 0。所以没有任何转义字符。之后一级就是 \" ,也就是 2^1-1 = 1,带有一个转义字符。二级为 2^2-1 = 3,带有3个转义字符,例子如下:
"a\"b\\\"c\\\"d\"e"
以上例子中,a和e被最外面的0级转义双引号包围。b和d被一级转义包围,最中间的c被二级转义包围。多级转义可理解为双引号之内的双引号之内的双引号之内的双引号之内的双引号... 可以无限的下去。
最后用一些MC内的指令来举例子:
- /setblock ~ ~2 ~ minecraft:command_block 0 replace
- {Command:"/tellraw @a {"text":"一级转义"}"}
复制代码 由于Command这个NBT是String储存的,所以它的值需要有双引号包围。但是Command内还有/tellraw这条指令,其json也需要有双引号包围,所以在Json内就使用一级转义。请看下一个例子:- /setblock ~ ~2 ~ minecraft:command_block 0 replace
- {Command:"/tellraw @a {"text":"请按我","clickEvent":{"action":"run_command","value":"/summon Pig ~ ~ ~ {CustomName:\\"我是一头猪\\"}"}}"}
复制代码 在这条指令中,和前一个例子差不多,但是在Json的clickEvent中又加入了一个带有CustomName的/summon指令。CustomName也是一个String,所以也应该有双引号包围。CustomName要被双引号包围,在Json的clickEvent中。Json也要有双引号包围,在Command中。Command也要被双引号包围,所以这样子就形成了多级转义。转义的最内部的CustomName需要用二级转义才可以,否则会出错。
当然,不光只有用在双引号内,还有一些特殊的转义符可以用在文本处理中。例如最常用的就是“\n”,这个转义符用处是空一行。可以在/tellraw内使用:
- /tellraw @a
- {"text":"换行\n换行"}
复制代码 这样子tellraw的输出就是“换行(空一行)换行”。这个\n是直接加入进去,不需要用任何空格什么分开。
教程结束。如果有任何综合类的问题请发进回复,会加入本贴。任何关于单独指令的问题将会被无视。
==========END==========
Update log:
V1.0.6: Added more details to Q5. - 10/6/2016
V1.0.5: Added more details to Q1. - 9/6/2016
V1.0.4: Added more examples in Q5 for easier understanding. - 7/6/2016
V1.0.3: Minor changes on version info. Added Q5. - 4/6/2016
V1.0.2: Combined Q1 and Q2, added more detail to Q4 (now Q3). - 19/07/2015
V1.0.1: Added one question (Q5). - 18/04/2015
V1.0.0: Basic layout, added 4 questions (Q1 - Q4). - 12/04/2015
[groupid=546]Command Block Logic[/groupid]
作者: ufof 时间: 2015-4-12 19:47
PM大师复活了????必须赞!
作者: PotatoMaster101 时间: 2015-4-12 19:50
这可能是我最后个教程了
走之前把问题答案都写完
作者: End-Enderman 时间: 2015-4-12 19:52
本帖最后由 End-Enderman 于 2015-4-18 10:56 编辑
吓死我了,点进去还以为是全命令教程...
作者: ⭐✔️ 时间: 2015-4-12 21:35
http://www.mcbbs.net/thread-432157-1-1.html
说好隐退呢
作者: PotatoMaster101 时间: 2015-4-12 22:00
隐退之前把最后的MCBBS坑解了。。。
作者: chyx 时间: 2015-4-13 09:09
坑填得好慢。。
作者: 苏黎世° 时间: 2015-4-13 16:25
这个攻略我好想在WIKI里见过了 - -
作者: 色蛋小黑 时间: 2015-4-13 16:46
比较主流的疑问…顶赞
作者: GURU_HURU 时间: 2015-4-15 13:29
本帖最后由 GURU_HURU 于 2015-4-15 13:32 编辑
如何设置召唤的羊的羊毛颜色

作者: 1808564263 时间: 2015-4-15 19:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: chenweiqin 时间: 2015-4-17 12:56
想问怎么让村民交易的书本里有自定义的内容
作者: 末影矿工 时间: 2015-4-17 17:04
一群小学生围着一个小学生触手高呼Ура
作者: pca006132 时间: 2015-4-17 17:06
本帖最后由 pca006132 于 2015-4-17 17:12 编辑
选择器参数内有数字、英文字母、低划线('_')、'='、'!'、','以外的字符会令整个选择器失效
作者: PotatoMaster101 时间: 2015-4-18 10:35
详情看Q2.
就是在村民交易书本的NBT内,再加一个tag:{},然后里面加上书本的NBT
作者: PotatoMaster101 时间: 2015-4-18 10:39
你试试加入羊的羊毛颜色NBT (color:)
作者: chenweiqin 时间: 2015-4-18 12:01
谢谢lz
作者: lzs1234 时间: 2015-5-4 10:06
诶?不是只有皮甲才有color吗?
作者: PotatoMaster101 时间: 2015-5-5 21:18
羊也有效果
作者: hacccc 时间: 2015-5-23 18:02
自定义生物的血量?
作者: qq1065379964 时间: 2015-5-26 18:19
为何不留下你的QQ_(:з」∠)_。我们好去骚扰你
作者: 武月天mayday 时间: 2015-6-25 11:18
好复杂。。。。。。。。。{:10_516:}
作者: 邱-XM8 时间: 2015-8-5 17:19
怎么给帽子加颜色??
作者: z1225199835 时间: 2015-8-5 23:17
6666666666666
作者: 丢失的钥匙 时间: 2015-8-6 00:08
好!厉害的命令方块!
作者: 马王55 时间: 2015-8-6 03:39
同样,xxx为省略的部位?
作者: 汽水大大 时间: 2015-8-6 09:39
恩厉害啊
作者: 4399myf2 时间: 2015-8-29 08:10
能否让一件物品持有时附加药水属性
作者: langyo 时间: 2016-2-15 10:23
真心不希望你真的走。
Enderman虽然口头说学业原因,但是我们明明都明白,他是厌倦了论坛里那些虚伪的东西……
命令方块,一方面因为其更高的自由性而激发技术党的想象力,从而制作出更让玩家玩的通的东西;但是,另外一回事,制作多了,制作的作者多了,不可避免就会开始攀比……你不可能说在发这个帖子的时候没有个人自己的小想法,赶上其他大触;我们都一样,我也一样,成就之后就是攀比,就算是那些名人也都一样,不然为什么爱迪生和摩根在跟特斯拉做“电”的斗争时会“打”的这么“激烈”?
把命令方块当成一种爱好吧,命令方块是释放想象力用的,不是给大家指指点点这个好那个好的!
无论你以后怎样,有什么灵感,制作出什么指令,我们仍然支持你,不抱着互相比较的心态。
真正隐退后,希望你也能有时间就回来看看;Minecraft真正玩的是什么,不仅是你思考的问题,更是全论坛,所有玩这个游戏的人的问题。
仔细想想Notch的初衷……
回复可能有点偏题,有点乱,还是小学作文那破水平……但这都是真心话;你累了,试试生存吧,放松一下~
作者: PotatoMaster101 时间: 2016-2-15 20:13
没错我现在就在国外大型服玩空岛生存,CB都几星期没玩过了
作者: langyo 时间: 2016-2-17 17:53
嗯,多回味原本的生存,mc的本质!
愿你能在国外也混的和国内一样好(*^_^*)
作者: PotatoMaster101 时间: 2016-2-23 20:00
2333 国外我目前在J&H服务器玩空岛生存 有经济什么的 特好玩 还有好多外国妞(2b劝我说全都是抠脚大汉别和她们瞎搞)
作者: 203230222 时间: 2016-2-23 21:40
只是部分的指令么- -
百度都可以查到吧
作者: 203230222 时间: 2016-2-23 21:40
百度都可以查到的吧
作者: lys20031108 时间: 2016-5-8 20:19
怎么让一个命令方块可以给你多个不同的物品
作者: Memory_Stone 时间: 2016-8-26 15:28
我也是想问这个问题
作者: 892418385 时间: 2017-2-13 14:20
我的天,,,,大神啊 啊啊啊啊
作者: 沐尘星 时间: 2017-6-4 16:55
依然不明觉厉
作者: q1760839250 时间: 2017-6-4 19:27
指令方块好玩吗
作者: 逝水流年ソ 时间: 2017-6-4 23:48
。。。。。。。
作者: zz297433390 时间: 2017-6-6 17:20
谢谢~ 很多实用的指令
作者: 爱着杨海燕 时间: 2017-6-15 14:50
这个教程好 教了我这个小白玩命令方块
作者: 1962903464 时间: 2017-8-8 17:26
666666666666666666666
作者: qq2799660499 时间: 2018-5-22 23:41
明白了呃zzzz
作者: ccj67 时间: 2018-5-30 16:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: rongwdsj 时间: 2018-11-24 19:40
赞一个,慢慢看
作者: 盛世大陆 时间: 2018-11-24 20:21
你的帖子 很哈哦厉害
作者: 1289296032 时间: 2018-12-5 13:00
老哥稳啊舒服