本帖最后由 STIM0v0 于 2019-12-31 20:26 编辑
EMMMM,又是我。
RT,如何做到:玩家把漏斗命名为:Bin且放置后若检测到有物品,直接清空名为Bin漏斗里的物品咧。
求解,在线等QAQ
版本:1.14.4-1.15
EMMMM,又是我。
RT,如何做到:玩家把漏斗命名为:Bin且放置后若检测到有物品,直接清空名为Bin漏斗里的物品咧。
求解,在线等QAQ

版本:1.14.4-1.15
版本?
(1.13以下就别想了吧,做不出的
(1.13以下就别想了吧,做不出的
单用指令不太行,需要再用上进度。具体的可以看 【1.13-1.15】原版模组入门教程 的 §6 方块设计。
1. 用进度的 placed_block 触发器以及视线追踪来判断漏斗的位置,并生成 marker;
2. 用 execute if block ~ ~ ~ minecraft:hopper{CustomName: '{"text":"Bin"}'} 来检测当前漏斗是否被命名为了 Bin;
3. 如果是的话,保留这个 marker;否则 kill 这个 marker。
之后每刻中都以该 marker 的坐标为执行位置,执行 data remove block ~ ~ ~ Items[] (或执行五条 replaceitem block ~ ~ ~ container.0 minecraft:air 把每个格子分别清空。后者写起来麻烦,不过性能比前者好一些)
1. 用进度的 placed_block 触发器以及视线追踪来判断漏斗的位置,并生成 marker;
2. 用 execute if block ~ ~ ~ minecraft:hopper{CustomName: '{"text":"Bin"}'} 来检测当前漏斗是否被命名为了 Bin;
3. 如果是的话,保留这个 marker;否则 kill 这个 marker。
之后每刻中都以该 marker 的坐标为执行位置,执行 data remove block ~ ~ ~ Items[] (或执行五条 replaceitem block ~ ~ ~ container.0 minecraft:air 把每个格子分别清空。后者写起来麻烦,不过性能比前者好一些)
本帖最后由 xmdhs 于 2020-1-1 15:40 编辑
data.zip
(2.88 KB, 下载次数: 5)
如何使用见 https://www.mcbbs.net/thread-912853-1-1.html
参照了楼上的思路。。
不过要更差一点,那个进度的触发器实在弄不好,所以性能要稍稍差一点(就是每放下一个任意的漏斗都会触发一次)。
大小写敏感,把漏斗改名为 Bin
STIM0v0 发表于 2019-12-31 20:25
1.14.4-1.15

如何使用见 https://www.mcbbs.net/thread-912853-1-1.html
参照了楼上的思路。。
不过要更差一点,那个进度的触发器实在弄不好,所以性能要稍稍差一点(就是每放下一个任意的漏斗都会触发一次)。
大小写敏感,把漏斗改名为 Bin
xmdhs 发表于 2020-1-1 13:51
如何使用见 https://www.mcbbs.net/thread-912853-1-1.html
参照了楼上的思路。。
不用改名,就清空漏斗里的物品啊QAQ[有点不实用=w=]
STIM0v0 发表于 2020-1-1 16:14
不用改名,就清空漏斗里的物品啊QAQ[有点不实用=w=]
嗯?
需要用铁砧把漏斗改名成 Bin 才会去清空的。你理解错了,自己先去试试
触发不是清空
xmdhs 发表于 2020-1-1 16:16
嗯?
需要用铁砧把漏斗改名成 Bin 才会去清空的。你理解错了,自己先去试试
奥,我去试试看吧QAQ