二,教程实例
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:\\\"blockdata ~-1 ~ ~ {Command:summon ArmorStand ~ ~1 ~ {Marker:1,NoGravity:1,Invisible:1,CustomNameVisible:1,CustomName:\\\u00a79fucker},}\\\"}}"}}}
主要指令:
summon ArmorStand ~ ~1 ~ {Marker:1,NoGravity:1,Invisible:1,CustomNameVisible:1,CustomName:\\\u00a79fucker}
首先生成了牌子
通过牌子的run_command运行blockdata更改了指令
指令中存在Unicode
于是就生成了彩色字符
(对于上述效果scoreboard的team也可以实现)
关于颜色值;
'§'+'颜色值'
查看Wiki样式代码有详解。
其中只需要把§更改为\\\u00a7即可
'\\\u00a7'+'颜色值'
引号与加号可省略,这其间没有空格。
后面可以直接写字符,当然是可以带空格的。
2,多重样式代码,转义符,引号
summon FallingSand ~ ~1 ~ {Block:command_block,Time:1,TileEntityData:{Command:/setblock ~1 ~ ~ wall_sign 5 replace {Text1:"{text:\\\"Click\\\",clickEvent:{action:\\\"run_command\\\",value:\\\"blockdata ~-1 ~ ~ {Command:give @p minecraft:potato 1 0 {display:{Name:\\\u00a74PotatoMaster101,Lore:[\\\u00a75PotatoMaster101]}},}\\\"}}"}}}
是一条拓展指令,也是通过上述方法得到。
主要部分:
give @p minecraft:potato 1 0 {display:{Name:\\\u00a74PotatoMaster101,Lore:[\\\u00a75PotatoMaster101]}}
首先一条文本可以多重样式代码毋庸置疑。(后文中转义符用'\'表示)
而我们也可以发现指令内部没有"",
这是因为指令在run_command中,而""表示一个类或字符,run_command中含有""后无法判断,造成指令无法读取
其中转义符应当注意配对,保证Unicode前面3个'\'
所以应当格外注意""和\。
3,样式代码与行
summon FallingSand ~ ~1 ~ {Block:command_block,Time:1,TileEntityData:{Command:/setblock ~1 ~ ~ wall_sign 5 replace {Text1:"{text:\\\"Click\\\",clickEvent:{action:\\\"run_command\\\",value:\\\"blockdata ~-1 ~ ~ {Command:/replaceitem entity @p slot.hotbar.8 minecraft:diamond 1 0 {display:{Name:\\\u00a7bCBL,Lore:[0:\\\u00a73CommandBlockLogic,1:\\\u00a7eis A,2:\\\u00a72Great Team]}},}\\\"}}"}}}
主要部分:
/replaceitem entity @p slot.hotbar.8 minecraft:diamond 1 0 {display:{Name:\\\u00a7bCBL,Lore:[0:\\\u00a73CommandBlockLogic,1:\\\u00a7eis A,2:\\\u00a72Great Team]}}
其中一个特殊的部分便是所有列表所自带的行
一般我们如此使用:
a:["1","2","3"……"n"]
但是由于引号无法调用字符,所以我们不得不使用逗号隔开文本,或者使用行的序列号。
a:[1,2,3……n]
a:[0:"1",1:"2",2:"3"……n:"n+1"]
个人推荐序列号,更有条理,也能将整个文本调用。
4,样式代码与其他万国码,列表
summon FallingSand ~ ~1 ~ {Block:command_block,Time:1,TileEntityData:{Command:/setblock ~1 ~ ~ wall_sign 5 replace {Text1:"{text:\\\"Click\\\",clickEvent:{action:\\\"run_command\\\",value:\\\"blockdata ~-1 ~ ~ {Command:setblock ~ ~1 ~ minecraft:dropper 0 keep {CustomName:\\\u00a76lol,Items:[{Slot:4b,id:minecraft:iron_sword,Count:1b,Damage:0s,tag:{display:{Name:\\\u00a77Sword,Lore:[1:\\\u00a7c中国制造]}}}]},}\\\"}}"}}}
主要部分:
setblock ~ ~1 ~ minecraft:dropper 0 keep {CustomName:\\\u00a76lol,Items:[{Slot:4b,id:minecraft:iron_sword,Count:1b,Damage:0s,tag:{display:{Name:\\\u00a77Sword,Lore:[1:\\\u00a7c中国制造]}}}]}
通过
\\\u00a7c中国制造
可以得知样式代码兼容万国码。
而前面的列表与3.差不多,需注意转义符即可
但是列表中千万不要用\n代替逗号或者行的序列号,
因为\n适用于文本,具体表现在Json中,这里使用\n会造成错误。
5,综合样式代码
summon FallingSand ~ ~1 ~ {Block:command_block,Time:1,TileEntityData:{Command:/setblock ~1 ~ ~ wall_sign 5 replace {Text1:"{text:\\\"Click\\\",clickEvent:{action:\\\"run_command\\\",value:\\\"blockdata ~-1 ~ ~ {Command:summon Villager ~ ~1 ~ {NoAI:1b,Equipment:[{},{},{},{},{id:skull,Damage:3,Count:1,tag:{SkullOwner:songfeitong}}],CustomName:\\\u00a7b\\\u00a7lSOFT,Profession:1,Willing:1,Silent:1b,Offers:{Recipes:[{maxUses:2147483647,uses:0,buy:{id:minecraft:potato,Count:1b,Damage:0s,tag:{display:{Name:\\\u00a74PotatoMaster101,Lore:[\\\u00a75PotatoMaster101]}}},buyB:{id:minecraft:diamond,Count:1b,Damage:0s,tag:{display:{Name:\\\u00a7bCBL,Lore:[0:\\\u00a73CommandBlockLogic,1:\\\u00a7eis A,2:\\\u00a72Great Team]}}},sell:{id:minecraft:sign,Count:1b,Damage:0s,tag:{display:{Name:\\\u00a73\\\u00a7l\\\u00a7nCBL,Lore:[0:\\\u00a7c?\\\u00a7c?\\\u00a7c?\\\u00a7c? \\\u00a79?\\\u00a79?\\\u00a79? \\\u00a72?,1:\\\u00a7c? \\\u00a79? \\\u00a79? \\\u00a72?,2:\\\u00a7c? \\\u00a79?\\\u00a79?\\\u00a79? \\\u00a72?,3:\\\u00a7c? \\\u00a79? \\\u00a79? \\\u00a72?,4:\\\u00a7c?\\\u00a7c?\\\u00a7c?\\\u00a7c? \\\u00a79?\\\u00a79?\\\u00a79? \\\u00a72?\\\u00a72?\\\u00a72?\\\u00a72?,]}}}}]}},}\\\"}}"}}}
主要部分:
summon Villager ~ ~1 ~ {NoAI:1b,Equipment:[{},{},{},{},{id:skull,Damage:3,Count:1,tag:{SkullOwner:songfeitong}}],CustomName:\\\u00a7b\\\u00a7lSOFT,Profession:1,Willing:1,Silent:1b,Offers:{Recipes:[{maxUses:2147483647,uses:0,buy:{id:minecraft:potato,Count:1b,Damage:0s,tag:{display:{Name:\\\u00a74PotatoMaster101,Lore:[\\\u00a75PotatoMaster101]}}},buyB:{id:minecraft:diamond,Count:1b,Damage:0s,tag:{display:{Name:\\\u00a7bCBL,Lore:[0:\\\u00a73CommandBlockLogic,1:\\\u00a7eis A,2:\\\u00a72Great Team]}}},sell:{id:minecraft:sign,Count:1b,Damage:0s,tag:{display:{Name:\\\u00a73\\\u00a7l\\\u00a7nCBL,Lore:[0:\\\u00a7c?\\\u00a7c?\\\u00a7c?\\\u00a7c? \\\u00a79?\\\u00a79?\\\u00a79? \\\u00a72?,1:\\\u00a7c? \\\u00a79? \\\u00a79? \\\u00a72?,2:\\\u00a7c? \\\u00a79?\\\u00a79?\\\u00a79? \\\u00a72?,3:\\\u00a7c? \\\u00a79? \\\u00a79? \\\u00a72?,4:\\\u00a7c?\\\u00a7c?\\\u00a7c?\\\u00a7c? \\\u00a79?\\\u00a79?\\\u00a79? \\\u00a72?\\\u00a72?\\\u00a72?\\\u00a72?,]}}}}]}}
转义符可以叠加使用:(主要为颜色+体)
例如:Wiki样式代码的例子:
§cX§nY (§c X §n Y)
其结果将会显示为: XY。然而,
§nX§cY (§n X §c Y)
则会显示为:XY
改为:
\\\u00a7cX\\\u00a7nY (\\\u00a7c X \\\u00a7n Y)
其结果将会显示为: XY。然而,
\\\u00a7nX\\\u00a7cY (\\\u00a7n X \\\u00a7c Y)
则会显示为:XY
同时样式代码对任何字符都有效果
上文全部为blockdata。
entitydata指令也是可以的,学习后可以通过实例试试
累计评论0条
展开其余评论