Yyf88
本帖最后由 Yyf88 于 2016-12-16 20:28 编辑

百度上找到了一些错误的指令:
setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"{text:"/say 1",clickEvent:{action:run_command,value:"/say 1"}}"}
我把它放在了1.8.1纯版的命令方块中运行了一下
然而,不告示牌,不但没有生成,反而开始对nbt标签报错
===============[redstone_dust]以下正式开始教程[redstone_dust]===============
[diamond_gem]了解符号\"(斜杠莫打反){:10_492:}
如果你学过程序,你很幸运
如果你没有学过,没有关系,可以听我讲解
这个符号用在双引号内表示"比如c:printf("\"hello c\"");
输出:"hello c"
不懂c的同学可以跳过,这里\"和mc里是一样的,我只是懒得打指令而已,你可以试试下面这个指令:
  1. /say "hello mc"
复制代码
只是举个例子,大家应该明白这个的意思了吧
来看看刚刚的指令为什么错了鉴于电脑遇见匹配的分号,就会认为那里面就是文本信息,我们用蓝色标出来
\\回调指令
setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"{text:"/say 1",clickEvent:{action:run_command,value:"/say 1"}}"}
由此你可以看到,中间有两个/say 1不在分号内,MC会认为它是NBT标签,就去解析它,/say 1是什么NBT标签,各位大神见过吗?
(\是转移符,主要用于程序中的字符串表示一些不可见字符,如换行符(\n),或者不能直接包含在双引号内的字符,如双引号(英文))
clickEvent
这个可以拆成2个单词来看 click event,意思就是点击事件
中间的action的意思是行动,作用
run_command不解释了,就是运行中的命令
联合后面value看,后面的value中的内容就是输出的命令
接着来讲一下怎么使用之前提到的\"完整的指令
不如说,我们之前的那个指令:
\\回调指令
setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"{text:/say 1,clickEvent:{action:run_command,value:/say 1}}"}
先这样弄吧,看起好像会成功的样子,不过更多的可能是空的告示牌
这个结果有点奇葩,不好说,直接发图:

很明显,这样的做法是错误的这中间的NBT标签并没有用,大段大段地成了输出的文本信息,
而在/say后面的空格极有可能被读成了\0(文本信息结束)
正确的使用方法:
setblock ~ ~1 ~ standing_sign 0 replace {Text1:"{text:\"/sat 1\",clickEvent:{action:\"run_command\",value:\"/say 1\"}}}
下面是给伸手党的任务:{:10_525:}
  1. setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"{text:"/say 1",clickEvent:{action:run_command,value:"/say 1"}}"}
复制代码
看这个指令能不能运行成功
现在注意的内容:
[coca_beans]大括号
[coca_beans]中括号
[rose_red]\"的匹配
除了/say 1,还可以用其他的指令,也可以增加多个命令行
  1. setblock ~ ~1 ~ wall_sign 0 replace {Text1:"{text:"想成为土豪金吗?",clickEvent:{action:"run_command",value:"/give @p minecraft:diamond 64"}}",Text2:"{text:"Please click here!",color:red,clickEvent:{action:"run_command",value:"/kill @p"}}"}
复制代码
它是先执行Text1的命令,然后是Text2的命令

↑效果图(虽然我试图用彩色输入,没有显示出来,至少效果还是在的)
(入门篇已完)================================================================
进阶篇:
彩色输入:

大概的结构就是这样的
  1. summon FallingSand ~ ~1 ~ {Block:command_block,Time:1,TileEntityData:{Command:/setblock ~1 ~ ~ wall_sign 5 replace {Text1:"{text:\\"Click\\",clickEvent:{action:\\"run_command\\",value:\\"(在这里写你的指令,请把万国码换成调试码)\\"}}"}}}
复制代码
通过木牌指令来修改方块

成书点击文字产生事件:
获得一个成书直接give指令不解释
  1. give @p minecraft:written_book 1 0
复制代码
成书NBT:


[diamond_gem]pages中的extra标签







2021.12 数据,可能有更多内容百度上找到了一些错误的指令:
setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"{text:"/say 1",clickEvent:{action:run_command,value:"/say 1"}}"}
我把它放在了1.8.1纯版的命令方块中运行了一下
然而,不告示牌,不但没有生成,反而开始对nbt标签报错
===============[redstone_dust]以下正式开始教程[redstone_dust]===============
[diamond_gem]了解符号\"(斜杠莫打反){:10_492:}
如果你学过程序,你很幸运
如果你没有学过,没有关系,可以听我讲解
这个符号用在双引号内表示"比如c:printf("\"hello c\"");
输出:"hello c"
不懂c的同学可以跳过,这里\"和mc里是一样的,我只是懒得打指令而已,你可以试试下面这个指令:

代码:

  1. /say "hello mc"
只是举个例子,大家应该明白这个的意思了吧
来看看刚刚的指令为什么错了鉴于电脑遇见匹配的分号,就会认为那里面就是文本信息,我们用蓝色标出来
\\回调指令
setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"{text:"/say 1",clickEvent:{action:run_command,value:"/say 1"}}"}
由此你可以看到,中间有两个/say 1不在分号内,MC会认为它是NBT标签,就去解析它,/say 1是什么NBT标签,各位大神见过吗?
(\是转移符,主要用于程序中的字符串表示一些不可见字符,如换行符(\n),或者不能直接包含在双引号内的字符,如双引号(英文))
clickEvent
这个可以拆成2个单词来看 click event,意思就是点击事件
中间的action的意思是行动,作用
run_command不解释了,就是运行中的命令
联合后面value看,后面的value中的内容就是输出的命令
接着来讲一下怎么使用之前提到的\"完整的指令
不如说,我们之前的那个指令:
\\回调指令
setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"{text:/say 1,clickEvent:{action:run_command,value:/say 1}}"}
先这样弄吧,看起好像会成功的样子,不过更多的可能是空的告示牌
这个结果有点奇葩,不好说,直接发图:

很明显,这样的做法是错误的这中间的NBT标签并没有用,大段大段地成了输出的文本信息,
而在/say后面的空格极有可能被读成了\0(文本信息结束)
正确的使用方法:
setblock ~ ~1 ~ standing_sign 0 replace {Text1:"{text:\"/sat 1\",clickEvent:{action:\"run_command\",value:\"/say 1\"}}}
下面是给伸手党的任务:{:10_525:}

代码:

  1. setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"{text:"/say 1",clickEvent:{action:run_command,value:"/say 1"}}"}
看这个指令能不能运行成功
现在注意的内容:
[coca_beans]大括号
[coca_beans]中括号
[rose_red]\"的匹配
除了/say 1,还可以用其他的指令,也可以增加多个命令行

代码:

  1. setblock ~ ~1 ~ wall_sign 0 replace {Text1:"{text:"想成为土豪金吗?",clickEvent:{action:"run_command",value:"/give @p minecraft:diamond 64"}}",Text2:"{text:"Please click here!",color:red,clickEvent:{action:"run_command",value:"/kill @p"}}"}
它是先执行Text1的命令,然后是Text2的命令

↑效果图(虽然我试图用彩色输入,没有显示出来,至少效果还是在的)
(入门篇已完)================================================================
进阶篇:
彩色输入:
尊重原作者,给地址:http://www.mcbbs.net/thread-443181-1-1.html
大概的结构就是这样的

代码:

  1. summon FallingSand ~ ~1 ~ {Block:command_block,Time:1,TileEntityData:{Command:/setblock ~1 ~ ~ wall_sign 5 replace {Text1:"{text:\\"Click\\",clickEvent:{action:\\"run_command\\",value:\\"(在这里写你的指令,请把万国码换成调试码)\\"}}"}}}
通过木牌指令来修改方块

成书点击文字产生事件:
获得一个成书直接give指令不解释

代码:

  1. give @p minecraft:written_book 1 0
成书NBT:


NBT    内容
author   修改成书的作者
title  成书的标题
pages    书,String类型(对于NBT标签MOD来说),
    用MC来说就是一个中括号,里面一对引号就
    是一页
实例:

代码:

  1. setblock ~ ~1 ~ minecraft:chest 4 replace {Items:[{id:"minecraft:written_book",slot:1b,count:1,tag:{title:"§4§l开始游戏",author:"by yyf",pages:["选择职业"]}}]}

[diamond_gem]pages中的extra标签
用法:和clickEvent很相似,但是作用却极大的不同

代码:

  1. setblock ~ ~1 ~ minecraft:chest 4 replace {Items:[{id:"minecraft:written_book",slot:1b,Count:1,tag:{title:"§4§l开始游戏",author:"by yyf",pages:["{text:"选择职业",extra:[{text:"射手",color:green,hoverEvent:{action:"show_text",value:"射手有很好的机动性"}}]}"]}}]}
这里我就我就不详讲了
自己看指令吧,这一大段,扔进MC命令方块里,看看会发生什么神奇的事情?
是不是出来了一个箱子?箱子里有精美的成书一枚
然后打开看看,里面是不是出现了下面这段文字:
选择职业 射手

当你的光标划过“射手”的时候,是不是出现了以下文字:
射手有很好的机动性

对不对?
讲几个地方,其他不懂的,请在回复留言
hoverEvent    当光标划过(或者悬停在文字上面)的时候响应的事件
show_text   显示一段文字
其他的都很好理解,对不对?
我们还可以再改一下:

代码:

  1. setblock ~ ~1 ~ minecraft:chest 4 replace {Items:[{id:"minecraft:written_book",slot:1b,Count:1,tag:{title:"§4§l开始游戏",author:"by yyf",pages:["{text:"选择职业",extra:[{text:"射手",color:green,hoverEvent:{action:"show_text",value:"射手有很好的机动性"},clickEvent:{action:"run_command",value:"/give @p minecraft:paper 1 0 {display:{Name:\\"射手凭证\\",Lore:[\\"射手的凭证\\"]}}"}}]}"]}}]}
这样单机“射手”两字时又会产生另外的一个事件,
如果顺利的话,你应该会获得一个名为“射手凭证”的一张“厕所纸”



RuySue
坐等你修改,然后直接拿过来,我是伸手党,我为自己带盐。

lorinder
屠灵神 发表于 2015-11-14 09:47
坐等你修改,然后直接拿过来,我是伸手党,我为自己带盐。

伸手党都不回复的23333
坐等修改……

RuySue
lorinder 发表于 2015-11-14 09:52
伸手党都不回复的23333
坐等修改……

哈哈~说说而已,别在意

_hua_px
然并卵,我什么都没有看懂

机器人WBW
额……别人好像早就有全面教程了……你可以去搜一下

840196733mw
很棒,求赶紧更新,因为1.9对这玩意更加严格了1.8的省略内容到了1.9都不行了

FCZ_wm
此贴必火

8080
谢谢楼主

Lucy_cat
_hua_px 发表于 2015-11-14 10:39
然并卵,我什么都没有看懂

没看懂+1

PotatoMaster101
请求把第一幅图片去掉。那是本人的教程,被别的网站转了。
他们把转义删掉了,和本人一点关系也没。
原帖在这里:http://www.mcbbs.net/thread-297688-1-1.html
真是侮辱了我的脸

ufof
这个符号的作用是输出一个"


LZ我劝你是学会转义字符究竟什么作用再来发教程吧。

逍遥灬影
表示命令渣什么也没看懂,就看懂了我在百度找了n年终于找到的东西在这个帖子出现了,对,就是那个错误的指令,呵呵,真开心,再也不相信度娘了QwQ

Yyf88
PotatoMaster101 发表于 2015-12-25 16:06
请求把第一幅图片去掉。那是本人的教程,被别的网站转了。
他们把转义删掉了,和本人一点关系也没。
原帖在 ...

删掉了,最近突然才想起来逛mcbbs

langyo
Yyf88 发表于 2016-12-16 20:18
删掉了,最近突然才想起来逛mcbbs

我滴妈你到现在才回复……
这可是隔了一年噗……

以后请记住,简短回复请用评分

第一页 上一页 下一页 最后一页