Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

!header_login!

只需一步,立刻登录

查看: 763|回复: 15

[教程] 空槽位检测,自定义合成

[复制链接]
发表于 2016-10-5 14:26:16 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
很简单的一个东西,主要利用testforblock容器的Items,可以只检测槽位是否为空,而不检测是什么物品。
testforblock -7 59 7 minecraft:dropper 2 {Items:[{Slot:1b}]}


例子:在投掷器中使用八个钻石来有序合成钻石胸甲。



2016-10-05_14.22.57.png
左上命令(循环、开启):检测除slot1以外的槽位是不是放有一个钻石
testforblock -7 59 7 minecraft:dropper 2 {Items:[{Slot:0b,id:minecraft:diamond,Count:1b},
{Slot:2b,id:minecraft:diamond,Count:1b},
{Slot:3b,id:minecraft:diamond,Count:1b},
{Slot:4b,id:minecraft:diamond,Count:1b},
{Slot:5b,id:minecraft:diamond,Count:1b},
{Slot:6b,id:minecraft:diamond,Count:1b},
{Slot:7b,id:minecraft:diamond,Count:1b},
{Slot:8b,id:minecraft:diamond,Count:1b}
]}
左下命令(循环、开启):检测slot1是否有物品
testforblock -7 59 7 minecraft:dropper 2 {Items:[{Slot:1b}]}
右下黄色命令方块(脉冲)下方有一个红石火把,命令为
give @p diamond_chestplate
绿色(连锁、条件、开启)为
setblock -7 59 7 minecraft:dropper 2 
这样当且仅当Slot1为空且其他Slot各放有一个钻石时,给予玩家一个钻石胸甲并清空投掷器。


2016-10-05_14.30.27.png
这样是无法合成的。

2016-10-05_14.30.29.png
这样才可以合成。









评分

参与人数 4人气 +9 金粒 +62 收起 理由
林扬骐 + 2 可以吧
Zero_Exact + 4 + 40 MCBBS有你更精彩~
版-主是狗 + 2 HHH
FHC红石 + 3 + 20 很棒的作品!

查看全部评分

回复

使用道具 举报

发表于 2016-10-5 14:32:55 | 显示全部楼层
大触啊 表示我还是没看懂= =
回复

使用道具 举报

发表于 2016-10-5 14:40:28 | 显示全部楼层
本帖最后由 FHC红石 于 2016-10-5 14:51 编辑

有些版本不能用……反正我是没用的
或者和游戏语言有关?

点评

很奇怪啊,你版本多少?反正我在1.10和1.11试了可以。  详情 回复 发表于 2016-10-5 14:51
回复

使用道具 举报

 楼主| 发表于 2016-10-5 14:51:20 | 显示全部楼层
FHC红石 发表于 2016-10-5 14:40
有些版本不能用……反正我是没用的

很奇怪啊,你版本多少?反正我在1.10和1.11试了可以。

点评

箱子是空的  详情 回复 发表于 2016-10-5 16:03

评分

参与人数 1金粒 +1 收起 理由
FHC红石 + 1 1.10,或者和游戏语言有关?

查看全部评分

回复

使用道具 举报

发表于 2016-10-5 15:32:59 | 显示全部楼层
能不能再简短一点指令,这样更利于游戏更新和FPS

点评

电路可能还可以再缩小或者优化一点,但我觉得至少4条命令少不掉的,一条检测空槽,一条检测其他物品,一条给物品,一条清物品。即使强行变成一条我觉得也不能优化FPS。  详情 回复 发表于 2016-10-5 15:56

评分

参与人数 1金粒 +1 收起 理由
FHC红石 + 1 testforblocks

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-10-5 15:56:23 | 显示全部楼层
V_L-CC 发表于 2016-10-5 15:32
能不能再简短一点指令,这样更利于游戏更新和FPS

电路可能还可以再缩小或者优化一点,但我觉得至少4条命令少不掉的,一条检测空槽,一条检测其他物品,一条给物品,一条清物品。即使强行变成一条我觉得也不能优化FPS。

点评

不可以blockdata么?检测空槽,检测其他物品,blockdata  详情 回复 发表于 2016-10-5 17:31
回复

使用道具 举报

发表于 2016-10-5 16:03:13 | 显示全部楼层
ruhuasiyu 发表于 2016-10-5 14:51
很奇怪啊,你版本多少?反正我在1.10和1.11试了可以。


                               
登录/注册后可看大图

箱子是空的
testforblock ~ ~1 ~ minecraft:chest 4 {Items:[{Slot:1b}]}

点评

你在slot1放个物品看看 箱子是空的肯定没信号啊  详情 回复 发表于 2016-10-5 16:04
回复

使用道具 举报

 楼主| 发表于 2016-10-5 16:04:52 | 显示全部楼层

你在slot1放个物品看看

箱子是空的肯定没信号啊

点评

我的错,我以为你是直接检测这个位置是空的……= =  详情 回复 发表于 2016-10-5 16:16
回复

使用道具 举报

发表于 2016-10-5 16:16:08 | 显示全部楼层
ruhuasiyu 发表于 2016-10-5 16:04
你在slot1放个物品看看

箱子是空的肯定没信号啊

我的错,我以为你是直接检测这个位置是空的……= =

评分

参与人数 1人气 +1 收起 理由
ruhuasiyu + 1 。。。

查看全部评分

回复

使用道具 举报

头像被屏蔽
发表于 2016-10-5 16:33:16 | 显示全部楼层
不是很懂  但很厉害就对了
回复

使用道具 举报

发表于 2016-10-5 17:31:38 | 显示全部楼层
ruhuasiyu 发表于 2016-10-5 15:56
电路可能还可以再缩小或者优化一点,但我觉得至少4条命令少不掉的,一条检测空槽,一条检测其他物品,一 ...

不可以blockdata么?检测空槽,检测其他物品,blockdata

点评

blockdata是修改方块的nbt而不是检测  详情 回复 发表于 2016-10-5 17:46
回复

使用道具 举报

 楼主| 发表于 2016-10-5 17:46:53 | 显示全部楼层
hqqaazz 发表于 2016-10-5 17:31
不可以blockdata么?检测空槽,检测其他物品,blockdata

blockdata是修改方块的nbt而不是检测

点评

我说输出啊,你give然后清除,不觉得麻烦和不真实么  详情 回复 发表于 2016-10-5 19:03
回复

使用道具 举报

发表于 2016-10-5 19:03:04 | 显示全部楼层
ruhuasiyu 发表于 2016-10-5 17:46
blockdata是修改方块的nbt而不是检测

我说输出啊,你give然后清除,不觉得麻烦和不真实么

评分

参与人数 1人气 +1 收起 理由
ruhuasiyu + 1 这个当然,我就随便选了一种输出方式.

查看全部评分

回复

使用道具 举报

发表于 2016-10-5 23:16:06 | 显示全部楼层
嗯如果我没记错的话用testforblocks实际上会简单些
不过这里看来主要是讲“如何检测空槽位”,估计会有更多的用途

点评

我了解你的意思,当然也可以。但这个办法不适用检测背包。  详情 回复 发表于 2016-10-6 00:19
回复

使用道具 举报

发表于 2016-10-6 00:16:20 | 显示全部楼层
可以testforblocks啊
检测两个容器是否相同最后输出就可以了
可以试试
会简单很多

评分

参与人数 1人气 +1 收起 理由
ruhuasiyu + 1 了解,但我还有些别的用处

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 手机版本

GMT+8, 2017-7-27 02:49 , Processed in 0.074582 second(s), 9 queries , Memcache On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标。本站与Mojang以及微软公司没有从属关系。

© 2010-2017 我的世界中文论坛 版权所有。本站原创图文内容版权属于原创作者,未经许可不得转载。

快速回复 返回顶部 返回列表