本帖最后由 ouqianwei 于 2015-6-8 10:41 编辑
复制代码说是生成带手臂的盔甲架,其实根本不仅仅如此

复制代码这里就体现了之前那个CustomName有什么用,可以方便的选中实体
复制代码其中num是指数字,不是什么需要的,把它换成数字,就是更改手臂的角度

复制代码MC修改完它的NBT标签的同时会在聊天框提示



复制代码将旁边那一列填充为石头
复制代码
复制代码增加一个名为gotKey的变量
不断清零盔甲架的分数
复制代码这里前面的@e[]搜索一个叫Slot的实体,然后后面{}里的仍然是NBT标签
复制代码复制代码这里的x1 y1 z1 x2 y2 z2就是指铁门下两层的那两个方块
--All About Command--
[Sacrwind工作室]O_fengxin出品
看不懂或者其它原因问题可下载地图
前 言
>>preface<<
写这些不会看着很奇葩吧2333
咳咳,严肃(完全不)
从这个帖子开始我就要开始写CB教程了
不过我不并不会将每个指令都讲解一遍并展示它的一般用法
而是展示我个人的创意(如有雷同= =...随便吧)
希望能给大家制作地图的思路
让大家看了有种“原来还可以这样玩”(233)的感觉
望大神勿喷 喜欢的话 就别吝啬人气哟~
展 示
>>demonstrate<<

终于!我到达旅行的目的地了
跟随这张地图(世界地图?!)我终于来到了这个神秘的房子
据说里面有神秘的东西
现在就让我进去一探究竟

哎哟,我勒个去
门打不开真是蛋疼
不过没事,凭我多年的冒险经验
一定有什么机关
让我探索一下

打开旁边的箱子
里面有两把剑


左边的一把似乎有特殊的凹槽
右边仅仅是一把普通的木剑

嗯...
接着我发现门旁边这个地方...
有点可疑!石头强度不高...
仿佛还是空心的?

成功用剑捣碎了这个石头
不过木剑还不能开门呢
要特殊的这把剑才能开
原 理
>>Principle<<
想必同学们看到插入石头里面时都明白了
这是利用盔甲架

>>demonstrate<<

终于!我到达旅行的目的地了
跟随这张地图(世界地图?!)我终于来到了这个神秘的房子
据说里面有神秘的东西
现在就让我进去一探究竟

哎哟,我勒个去
门打不开真是蛋疼
不过没事,凭我多年的冒险经验
一定有什么机关
让我探索一下

打开旁边的箱子
里面有两把剑


左边的一把似乎有特殊的凹槽
右边仅仅是一把普通的木剑

嗯...
接着我发现门旁边这个地方...
有点可疑!石头强度不高...
仿佛还是空心的?

成功用剑捣碎了这个石头
不过木剑还不能开门呢
要特殊的这把剑才能开
原 理
>>Principle<<
想必同学们看到插入石头里面时都明白了
这是利用盔甲架

- summon ArmorStand ~ ~1 ~ {ShowArms:1, NoGravity:1, Invulnerable:1, CustomName:"Slot"}
summon是召唤实体应该不用说了吧,ArmorStand就是盔甲架,~ ~1 ~是指位置,~是代指当前坐标
~1就是当前坐标+1
这些应该都知道吧,{}就是NBT标签了
ShowArms就是为1时让盔甲架显示手臂的标签
NoGravity就是为1时让盔甲架完全不动(不受重力影响)的标签,为了让你能随便把它摆哪
Invulnerable是让其无敌,生存冒险模式破坏不了
CustomName是指定它的名字,引号里面的可以随便改,主要是为了方便之后的操纵

其实这一步可以省略,因为summon的时候你就可以设置好
当然如果你没办法或者懒得在summon之前计算好它的姿势你就可以之后用一些指令来进行若干次修改
首先调整它的位置就是用tp了
- tp @e[name=Slot] x y z
x y z就是相应坐标,你当然可以让其为小数来精确设定,而这也是NoGravity的用处所在
之后我们就要调整它手臂的姿势了
- entitydata @e[name=Slot] {Pose:{RightArm:[0:numf,1:numf,2:numf]}}
另外Pose(姿势)标签的一个说明:

一切都准备好后我们把我们用以触发机关的东西塞它手上
然后让它隐身(隐身也是summon的时候如果你计算好了可以直接加的标签)
- entitydata @e[name=Slot] {Invisible:1}

然后我们可以看到盔甲架拿着我的剑时有一条标签
Equipment:[0:{id:"minecraft:wooden_sword",Count:1,tag:{display:{Name:"异质残剑"}}}]
这个我们之后有用
一切都准备好了!
我们就开始制作核心系统吧!

首先我们需要一个时钟电路
嗯 我自然推荐fill大法

fill大法是什么呢
你需要知道一个知识
大概是mc会先执行坐标x轴上的命令方块 其中先执行坐标x值小的然后大的
x执行完了再执行y轴,同上
最后是z轴
(可能语言有误,大家自己去试试就懂了)
因此,我们可以在白色命令方块(先执行的)那里输入
- fill ~1 ~ ~ ~1 ~ ~10 stone 0 replace redstone_block
接着再在黑色命令方块(后执行的)那里输入
- fill ~-1 ~ ~ ~-1 ~ ~10 redstone 0 replace stone
最后在那一列放一个红石块就行了
会先执行白色,红石块会被替换成石头,不过接着还要执行黑色的
于是一瞬间石头又被替换回红石块,又执行白色,以此循环,周而复返
等等,replace好像没必要啊?
这是为了方便你拆除和增加刷新的红石块
时钟准备好了我们就要做真正的检测器了
我们得用计分板
首先增加一个分数
- scoreboard objectives add gotKey dummy
其中gotKey只是变量名,可随便你改
接下来我们在红色命令方块那里输入
scoreboard players set @e[name=Slot] gotKey 0
不断清零盔甲架的分数
对面那个命令方块则输入
- scoreboard players set @e[name=Slot] gotKey 1 {Equipment:[0:{id:"minecraft:wooden_sword",Count:1b,tag:{display:{Name:"异质残剑"}}}]}
这里是用来探测的
你可以发现这里NBT标签就是我之前留下来的那条
因为Equipment就是指定拿(穿、戴)着什么东西的标签
而Equipment里面的{}就是我们的相应物品的NBT标签
而Equipment里面的{}就是我们的相应物品的NBT标签
如果检测叫做Slot的实体的标签符合以上的话 就会将它的gotKey分数设为1
前面我们说了 x轴较大的会后执行,所以当检测到它拿着相应东西时
前面那个命令方块虽然在不断重置盔甲架的分数,但瞬间(比其它任何命令都先)又执行后面这个命令方块将其设为1
所以分数可以总认作为1
最后两个命令方块就是不一定的了,随便你设定
可以说前面才是触发装置 才是我讲的 后面输出端就是另外一回事了
比如我这里是要开门
那么我就需要当它没拿着相应物品时关门
拿着时开门
则当分数gotKey为1时开门,为0时关门
那么我们就需要两个命令方块(这里顺序已经无所谓了)
- execute @e[name=Slot,score_gotKey_min=1] ~ ~ ~ fill x1 y1 z1 x2 y2 z2 redstone_torch
- execute @e[name=Slot,score_gotKey=0] ~ ~ ~ fill x1 y1 z1 x2 y2 z2 air
redstone_torch就是红石火把 air是空气
到这里大家应该完全明白了吧!
不知道对你有没有什么帮助呢?
如果有就别吝啬人气啊,感谢~
欢迎转载,只需要注明作者是谁就好
那么 这期就到这了 大家下次再见~
--SEE YOU NEXT TIME--
感觉就是好腻害a.a!红石小白傻了
完全不明觉厉的我居然看完了(然并卵QWQ)
好帖子,必须收藏,推荐好友。
- scoreboard players set @e[name=Slot] gotKey 1 {Equipment:[0:{id:"minecraft:wooden_sword",Count:1,tag:{display:{Name:"异质残剑"}}}]}
这里Count:1需要Count:1b吧

chyx 发表于 2015-6-6 21:31
这里Count:1需要Count:1b吧
呃。。没注意 做地图的时候我根本没写Count
233
我去这就沉了= =
{:10_499:}可以实现惊人的效果,感谢分享。
顶一下233