「CRAO」Worldborder命令与SelectedItem的nbt详解

hello,我是乾坤(我们又见面了),这次发的教程应该是国内首创(至少在我之前没有人发类似内容)。mcbbbs的cbl也未发此类教程.............称得上是首创。
今天我要教大家的是worldborder命令和新出的nbt:SelectedItem。请听我细细道来....

楼主 乾坤轩辕1  发布于 2014-12-15 20:25:00 +0800 CST  
首先是关于worldborder的教程。。。我们先看几张图(自家电脑截屏)



楼主 乾坤轩辕1  发布于 2014-12-15 20:30:00 +0800 CST  
大家可以勉强看出(什么画质!!!)这三幅图的拍摄地点分别是末地,主世界和地狱,外面有一层蓝色条纹状东西,这就是我们今天的主角:世界边界()而worldborder就是围绕1.8新的世界边界的命令,不过,在讲worldborder之前,我们先看看什么是世界边界:
世界边界(World border)是边境以外的世界,在14w17a后被加入。在无命令干涉情况下,3千万X3千万个方块的区域之外出现。但是,在使用了命令之后,这一范围能够被缩小。
世界边境以亮蓝色的,互相相交的斜线的形式出现。如果边境正在扩展,亮蓝色会变成绿色,反之如果边境在收缩,那么亮蓝色就会变成红色。边界的材质由Ryan Holtz制作而成
(来自wiki)
(乾坤:世界边界取代了以前的边境之地以及假区块并赋予了其实用性(籽岷介绍过的一张特色生存地图就是此命令的应用之一)潜力巨大

楼主 乾坤轩辕1  发布于 2014-12-15 20:38:00 +0800 CST  
说完了世界边界,我们再来看看Worldborder命令,细心观察可以发现,此命令他喵的和世界边界的英文名:(World border)没啥区别。。。。BUG!!!咳咳,不要激动,命令如其名,这个命令就是控制世界边界的!!!(众:)......
我们首先看一下Worldborder的成长过程和特性:(摘自wiki)
14w17a 添加了可以自定义的世界边界
14w18a 玩家将不能与边界外的方块互动(包括红石机关和命令方块)
14w19a 添加了"警告"和"伤害"指令.
当接近世界边界时将会在屏幕周遭出现红色光晕。
主世界与下界的边界现在一致了。
前往下界时不会在下界的界限外生成传送门了
14w20a 如果你卡在了边界之外,你将可能自由飞行、行走。(不可能直接穿越边界)
特性:
怪物和玩家无法移动至边界以外

如果怪物和玩家已经到了世界边界以外,那么他们将无法在移动多余一格的距离了,除非玩家在旁观模式, 这就像除了能见度的影响以外,玩家在一个石头实体方块里发生的事情

发射弓箭或者扔雪球也可以穿过世界边界,但是实体物体以及钓鱼竿线无法实现
如果怪物或者玩家在世界边界以外,就会视为玩家或怪物在一个实体方块里受到窒息伤害
光并不受世界边界的影响
在14w17a之前的版本以前的版本内,玩家不能再世界边界以外放置、破坏、和物体互动
下落的沙子以及砂砾会成为物体实体
爆炸、活塞、水和岩浆在世界边界可以和在主世界内一样的工作,这也就意味着粘性活塞和粘液块可以被用来从边界取回方块。
若开启创造模式传送自己到+30000000或-30000000格外的地方,会使游戏崩溃。
若在边界以外存在已激活的末地传送门,那么玩家依然可以通过传送门前往末地。
如果用指令/worldborder限制世界边境过小,再前往末地,那么浮空岛和黑曜石平台将不会生成,仅会有一只末影龙。
在边界上被骨粉催熟的树是可以穿过边界的,并且边界外的部分仍然存在,但是不能破坏。
使用鸡蛋可以在边界外生成小鸡。
若强行将生物扔进边界之外的虚空,它们会消失,但不会造成游戏卡顿。
末影龙可以穿过边界屏障。
蜘蛛可以爬上边界屏障。
飞进边界外的虚空的末影龙仍然可以飞出来,不会造成游戏卡顿。
末影龙飞进去的部分会消失。

楼主 乾坤轩辕1  发布于 2014-12-15 20:46:00 +0800 CST  
然后我们再看看worldborder的命令格式:


/worldborder <set,add,center,damage,warning,get>
/worldborder set <sizeInBlocks> <timeInSeconds>

/worldborder add <sizeInBlocks> <timeInSeconds>

/worldborder center <x> <z>

/worldborder damage <buffer|amount>

/worldborder warning <time|distance>

/worldborder get



这些就是/worldborrde类的全部命令,待我一个个分析........

楼主 乾坤轩辕1  发布于 2014-12-15 20:51:00 +0800 CST  
/worldborder <set,add,center,damage,warning,get>是此命令的总条目,类似于菜单
/worldborder set <sizeInBlocks> <timeInSeconds>的详解:
首先翻译一下wiki:Sets the border to a square region with the specified size in blocks as the width and length. Optionally, a timeInSeconds may be specified such that the border grows or shrinks from the previous width to that being set over the specified time in seconds. If timeInSeconds is not specified, the world border changes immediately. To reset the world border size, set sizeInBlocks to 60000000 (sixty million)
这条命令的大概意思就是: 设置世界边界的范围。大家可以看到,其中有一个选项是 <timeInSeconds>,这个可选可不选,这个选项的主要目的是使世界边界在规定时间里放大或缩小,如果不设置这一选项的话,激活命令时,世界边界就会直接被设置到指定位置.特别的,如果想移除世界边界,可以讲"diameter"设置为6000000(600万)


楼主 乾坤轩辕1  发布于 2014-12-15 21:07:00 +0800 CST  
讲完了set,/worldborder add <sizeInBlocks> [timeInSeconds]就不难了,意思和set差不多,就是增加世界边界的范围,<sizeInBlocks>就是增加的数值,和set是一样的只不过set是设定的数值,是任意的一个数,而add就是把原有的世界边境范围加上一个数

楼主 乾坤轩辕1  发布于 2014-12-15 21:16:00 +0800 CST  
当然,光有边境大小还不行,还得要有中心,于是/worldborder center <x> <z>就应运而生了,这条指令的意思就是设置世界边境的中心,但要注意,此命令的坐标只有x轴和z轴坐标,因为y轴是无限高的......
于是就可以有这样一连串的命令:首先
/worldborder center ~ ~ (以命令方块为中心设置世界边缘)
然后/worldborder set 40 10(已刚才设置的中心为中心,使世界边界在10秒内达到半径40)
接着/worldborder add 10 10(在10秒内将世界边界扩大10个方块的半径)
......就是这样

楼主 乾坤轩辕1  发布于 2014-12-15 21:29:00 +0800 CST  
上面的指令性质其实都是一样的(改变世界边界的位置),下面要讲的是改变世界边界的特性的命令,也就是
/worldborder damage <buffer|amount>

/worldborder warning <time|distance>

/worldborder get
先讲/worldborder damage amount 【数据值】这个命令会改变当你离开世界边界后每秒钟遭到多少的伤害,默认数值为每格每秒0.2伤害。

和/worldborder damage buffer [数据值]这个命令会改变当你离开世界边界几格会受到伤害,默认为5格(默认5格以内不会受到伤害)
数据值就是你可以自定义的数值...

楼主 乾坤轩辕1  发布于 2014-12-15 21:36:00 +0800 CST  
然后是/worldborder warning <time|distance>(和/worldborder damage <buffer|amount>一样,分为两个指令)分别是:

/worldborder warning distance [数据值] 这个命令会改变你离开世界边界后多少格屏幕会变变成红色色调。默认为5格
/worldborder warning time [数据值] 作用与(/worldborder warning distance [数据值])类似,但是此命令是用于边界缩小后多少秒屏幕会变变成红色色调。默认为15秒



楼主 乾坤轩辕1  发布于 2014-12-15 21:40:00 +0800 CST  
至此,Worldborder命令就讲完了,接下来是nbt——SelectedItem的详解......
大家都知道,1.8以后出现了两个关于testfor的nbt,分别是Invetory(探测背包槽位)SelectedItemSlot(探测选中物品栏)
这两个nbt结合可以达到探测玩家手持特定物品的功能,不过需要9个命令方块(1~9格)不过最近又出了个专门探测玩家手持物品的nbt,使探测步骤大大简化,只需一个命令方块就行了~那就是SelectedItem
我们先来看看wiki上对SelectedItem的解释:
Added to compact the process of testing if a player is holding a specific item
revious method required nine commands in command blocks; now requires only one command

添加了一个测试nbt,可以探测一个玩家是否持有一个具有特定nbt的物品
原本需要九个命令方块,现在只需要一个命令方块

楼主 乾坤轩辕1  发布于 2014-12-15 21:56:00 +0800 CST  
格式就是testfor@a{SelectedItem:{id:方块ID(格式minecraft:---),Damage:附加值(数字后加s),Count:数量(数字后加b),tag:{---}}}
这样就可以探测玩家手持物品了,非常方便....
我们举一个例子:
testfor@p{SelectedItem:{id:minecraft:stone,Count:1b}}


意思就是:探测离命令发出者最近玩家是否持有1个石头

楼主 乾坤轩辕1  发布于 2014-12-15 22:05:00 +0800 CST  
总结:SelectedItem可以大大简化电路,减小命令难度,而/worldborder指令潜力无限,望各位吧友好好研究,为命令再创新的辉煌

楼主 乾坤轩辕1  发布于 2014-12-15 22:07:00 +0800 CST  
【完】

楼主 乾坤轩辕1  发布于 2014-12-15 22:07:00 +0800 CST  
@婴垣帝凤@祭雪夏炎@天空之城TCD申精,理由:新颖,全平台首发,领先于mcbbs,讲解详细....

楼主 乾坤轩辕1  发布于 2014-12-15 22:09:00 +0800 CST  
附参考的wiki地址:http://minecraft.gamepedia.com/World_border
http://minecraft-zh.gamepedia.com/1.8

楼主 乾坤轩辕1  发布于 2014-12-15 22:11:00 +0800 CST  
@Only丶空白best@1157670728@sheriechen@Jonathanwyh@EndFish

楼主 乾坤轩辕1  发布于 2014-12-15 22:11:00 +0800 CST  
主教程:http://tieba.baidu.com/p/3423090151

楼主 乾坤轩辕1  发布于 2014-12-15 22:16:00 +0800 CST  
那么快就精了

楼主 乾坤轩辕1  发布于 2014-12-15 22:20:00 +0800 CST  
我也是醉了……一个加了精的技术贴还没水贴回复多…我为mc吧的未来担忧啊~

楼主 乾坤轩辕1  发布于 2014-12-16 15:44:00 +0800 CST  

楼主:乾坤轩辕1

字数:4688

发表时间:2014-12-16 04:25:00 +0800 CST

更新时间:2016-03-08 01:00:34 +0800 CST

评论数:138条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看