我的世界命令教程 随机传送和三个建图用的命令
*所有内容均为原创内容,未经允许禁止转载或摘编
MC小知识:方块的数据值除了表示更详细的分类,方块的的朝向、上半砖等也是通过数据值来记录的。
随机传送
随机传送的命令多用于局域网或服务器中。当然,在单人游戏中使用这个命令也可以省去你跑图的时间,并且增加探索的随机性。
命令是:/spreadplayers 。
这个命令是用来把实体(如玩家、生物、掉落物等)随机传送到区域内地表的某个位置。
使用的格式是:/spreadplayers x z 分散间距 最大范围 考虑队伍 传送目标…
书架贴图
x z ;指定传送目的地区域的中心。x和z必须是在正负三千万之间的整数。可以使用波浪号来指定基于命令执行位置的相对坐标。
分散间距 ;指定传送目标之间的最小间距,最小值为0.0。
最大范围 ;指定分散区域边界与区域中心在x和z轴上的距离(因此分散区域是正方形而不是圆形)。最大范围必须比分散间距大,且最小值为1.0。
考虑队伍 ;同队成员在传送后会不会出现在一起。必须是 true(真) 或 false(假) 。值为 true 时,同队的目标会被传送到同一个位置。不考虑队伍时输入 false 。
传送目标… ;指定需要随机传送的目标。必须为玩家名或目标选择器,可以指定多个目标,名称之间用空格分隔。
例如将最近的玩家传送到以(0,0)为中心,分散间距100格,最大范围为1000×1000的区域中的一个随机的地点:/spreadplayers 0 0 1001000 false @p
执行成功
接下来说三个建图用的命令。
/setblock
将一个方块更改为另一个方块。常用于空岛的建造、海上方块的搭建或浮空建筑。
使用格式是:/setblock x y z 方块名 [数据值] [原方块处理方式] [数据标签]
x y z ;指定要更改的方块坐标。可使用波浪号来指定一个相对于命令执行处的位置。
方块名 ;指定新的方块。1.8之后必须为方块的英文ID全名。
[数据值] ;可选参数,指定新方块的方块数据。(不明白的可以看第一期内容)
[原方块处理方式] ;指定方块更改的处理方式。必须为以下其中之一:
destroy:原方块掉落本身与其内容物(如同被一个玩家破坏),并播放方块碎裂的声音。
keep:只有空气方块会被改变(非空气方块将被保留下来)。
replace:旧方块不掉落本身与其内容物,没有声音。
如果没有指定,默认为replace。
[数据标签] ;指定新方块的数据标签。必须是一个NBT格式组合。
例如在空中我的位置放置一块橡木木板:/setblock ~ ~ ~ minecraft:planks
输入命令,执行命令
/fill
用特定方块填充一个区域的全部或部分。
一般使用格式是:/fillx1 y1 z1x2 y2 z2方块名 [数据] [原有方块处理方式] [数据标签]
x1 y1 z1x2 y2 z2 ;定义要填充区域的两个对角方块的坐标。可使用波浪号来指定与命令执行处的相对距离。
方块名 ;指定用于填充该区域的方块。1.8之后必须为方块的英文ID全名。
[数据] ;指定用于填充方块的方块数据。
[原有方块处理方式] ;可选参数,若未指定,默认为replace。指定时必须为以下其中之一:
destroy ;用指定方块替换填充区域内所有方块(包括空气),原有方块变为被无魔咒的工具采掘掉落的掉落物实体。(只能被剪刀采集的方块不会掉落(如藤蔓);流体方块同理)
hollow ;仅用指定方块替换填充区域外层的方块。内部方块被替换为空气,掉落被替换方块可能拥有的内容物(如箱子),但方块自身不会掉落。若被填充的区域没有内部(长、宽、高至少一个不足3方格)时,与replace效果相似。
keep ;仅用指定方块替换填充区域内的空气方块。
outline ;仅用指定方块替换填充区域外层的方块。内部方块不受影响。若被填充的区域没有内部(长、宽、高至少一个不足3方格)时,与replace效果相似。
replace ;用指定方块替换填充区域内所有方块(包括空气),而不以实体形式掉落被替换的方块和方块内容物。
[数据标签] ;指定用于填充方块的数据标签(例如,一个箱子的内容物,一面旗帜上的图案等)。必须为一个NBT格式组合。
使用replace参数时的特殊格式:/fillx1 y1 z1x2 y2 z2方块名 数据 replace [替换方块名] [替换方块数据]
[替换方块名] [替换方块数据] ;限定填充区域内将被替换方块的方块名及方块数据。若替换方块数据未指定,则此条件被忽略。若两个参数均未指定,替换填充区域内所有方块。
很丑的房子....
例如将上图的房子中白桦木板(数据值为2)替换成橡木木板(数据值为0):/fill 坐标组 坐标组 minecraft:planks 0replace minecraft:planks 2
嗒哒~
/clone
在区域之间复制方块结构。
使用格式:/clonex1 y1 z1x2 y2 z2x y z[遮罩模式] [复制模式] [方块名] [数据值]
x1 y1 z1x2 y2 z2 ;源区域的两个对角方块的坐标。可以使用波浪号来指定命令执行地的相对距离。
x y z ;目标复制区域的西北方向较低(即在各轴上坐标较小)的角。可以使用波浪号来指定命令执行地的相对距离。
[遮罩模式] ;指定是否过滤被复制方块。不输入默认为replace。输入则必须为下列之一:
filtered ;仅复制方块ID符合方块名定义的方块。
masked ;仅复制非空气方块。会保持目的区域中原本会被替换为空气的方块不变。
replace ;复制所有方块,用源区域的方块覆盖目标区域中的所有方块。
[复制模式] ;指定对源区域的操作。不输入默认为normal,输入则必须为下列之一:
force — 强制复制,即使源区域与目标区域有重叠。
move — 将源区域复制到目标区域,并将源区域替换为空气。在filtered遮罩模式下,只有被复制的方块才会被替换为空气。
normal — 不执行force与move。
[方块名] ;指定当遮罩模式设置为filtered时要复制的方块ID,在filtered模式下为必需参数。
[数据值] ;指定复制时需要符合的方块数据值。
树
例如将前面的树复制到右边:/clone ~-3~~ ~3~6 ~-7 ~10 ~ ~-7 masked normal
输入命令,执行命令
当然,还有创世神mod等等建图插件,它们可以更简单的完成这些操作,并且功能更加强大。有兴趣的小伙伴可以自行百度学习。
~~~~~~~神奇的分割线~~~~~~~
注:有想知道的代码或者好的想法可以在评论区写出来,我会考虑优先出教程哒^_^ 看到有不懂的地方也欢迎在评论区提问 ~~
我学习的网站(部分内容出处):
谢谢大家的支持!
各位读者大大们觉得喜欢就点一下推荐,也可以关注我看更多Minecraft中的命令 ^_^~~~
我的世界命令教程 告示牌坏掉的告示牌
*所有内容均为原创内容,未经允许禁止转载或摘编
MC小知识:在PC版,玩家可以按下Ctrl+鼠标中键复制一个已放置的告示牌,放置它后,告示牌的文本会和原来显示的一样。
告示牌
告示牌被用作显示文本。可以使用JSON文本创建,以此法创建的告示牌允许复杂的格式(颜色、加粗、斜体等),鼠标悬停和点击事件,以及把计分板值合并到文本里。
可以使用 /setblock命令来创建JSON告示牌,或使用 /blockdata来修改JSON告示牌。
/setblock可以将一个方块更改为另一个方块。详解见07期。
/blockdata可以修改一个方块的数据标签。
格式是:/blockdata x y z 数据标签
x y z;指定要修改的方块的坐标。可以使用波浪号指定相对坐标。
数据标签;指定要添加或修改的方块数据标签元素。必须是NBT标签组合。
告示牌的ID
告示牌的ID由其是附着在方块上还是站立决定:
告示牌ID表
告示牌的朝向
首先获得一个命令方块(/give @p minecraft:command_block)。因为聊天栏中命令长度限制比较短,所以放置告示牌的命令建议在命令方块中执行。
先放一个空的告示牌: /setblock ~ ~1 ~ minecraft:standing_sign 0,这个命令会在命令方块的上方放置告示牌。最后的数字0就是这个告示牌的数据值,数据值决定了告示牌的朝向。
站立的告示牌有16个朝向:
站立的告示牌的数据值表
依附在方块上的告示牌有4个朝向:
依附在方块上的告示牌的数据值表
传送告示牌
右击一个告示牌就传送到某个地方我们经常在服务器中看到。所用到的还是JSON文本组件(详解见10期)。JSON格式如何写入创建告示牌的命令中呢?以/setblock命令为例:因为告示牌只能写四行内容,所以格式是:/setblock~ ~1 ~ minecraft:standing_sign 0 replace {Text1:第一行,Text2:第二行,...,Text4:第四行}
每行内容的写法同上期成书的写法。
例如第一行写内容:Text1:{text:右击我传送到...,color:green}
注:同成书一样,写完后要把所有JSON内容中的前加 :
Text1:{text:右击我传送到...,color:green}
简单内容
告示牌也可以附加JSON点击事件,但是由于告示牌最多只能写四条JSON内容,所以最多只能写四条命令。
添加一条右击传送命令:Text1:{text:右击我传送到...,color:green,clickEvent:{action:run_command,value:tp @p ~ ~2 ~}}
注:run_command定义后面value中的值为要执行的命令,所以value值中的命令前不加 / 。
坏掉的告示牌
我们现在知道右击告示牌可以执行一条命令,那么我们能不能利用执行的命令更改这个告示牌的内容呢?当然可以!
原理就是将当前告示牌替换为新的告示牌:
原告示牌
这个技巧可以应用在解密等地图上。
右击后的告示牌
当然你也可以做更多的内容。
先写两个告示牌的内容:
第一个:/setblock~ ~1 ~ minecraft:standing_sign 0 replace{Text1:{text:右击我传送到...,clickEvent:{action:run_command,value:替换牌子的命令}}}
第二个:/setblock~ ~~ minecraft:standing_sign 0 replace{Text1:{text:传送牌年久失修},Text2:{text:看来是用不成了}}
注:第二个牌子要覆盖掉之前的牌子,所以写~ ~ ~不可更改。
把创建第二个牌子的命令套入第一个的右击命令中:
/setblock~ ~1 ~ minecraft:standing_sign 0 replace{Text1:{text:右击我传送到...,clickEvent:{action:run_command,value:setblock~ ~~ minecraft:standing_sign 0 replace{Text1:{text:传送牌年久失修},Text2:{text:看来是用不成了}}}}}
你以为这样就好了吗?笑话!Mojang没有那么简单 = = !
上一条命令中的红色是嵌套的。由于某些代码上的限制,需要将红色部分的命令做一些修改。
使用中的熔炉贴图
先把每个特殊字符前都加 进行转义。就是把 前加 ,把 改为 。如果不懂照做就行:
setblock~ ~~ minecraft:standing_sign 0 replace{Text1:{text:传送牌年久失修},Text2:{text:看来是用不成了}}
然后将这条命令中每个特殊字符前再加一次 。也就是把 改为 ,把 改为 \ 。
修改后的是这样:
setblock~ ~~ minecraft:standing_sign 0 replace{Text1:{\text\:\传送牌年久失修\},Text2:{\text\:\看来是用不成了\}}
每嵌套一层就将嵌套的内容这样操作一次。当嵌套到第三层最长转义的地方就会是:\\\ 有15个 ............
Mojang恐怖不恐怖~!
现在来最终完成的命令变成什么样了:
/setblock~ ~1 ~ minecraft:standing_sign 0 replace{Text1:{text:右击我传送到...,clickEvent:{action:run_command,value:setblock~ ~~ minecraft:standing_sign 0 replace{Text1:{\text\:\传送牌年久失修\},Text2:{\text\:\看来是用不成了\}}}}}
利用嵌套甚至可以写出剧情来!而且我记得告示牌多了游戏也会卡是吧?更多的玩法由你们想喽~~
~~~~~~~神奇的分割线~~~~~~~
注:有想知道的代码或者好的想法可以在评论区写出来,我会考虑优先出教程哒^_^ 看到有不懂的地方欢迎在评论区提问 ~~
我学习的网站(部分内容出处):
告示牌生成器(网页版):
谢谢大家的支持!
各位读者大大们觉得喜欢就点一下推荐,也可以关注我看更多Minecraft中的命令 ^_^~~~
|我的世界命令教程、随机传送和三个建图用的命令
replace 告示牌坏掉的告示牌 命令模式 我的世界 我的世界命令教程 随机传送和三个建图用的命令