鞠传翔
求助一个系统

就是扔出指定物品后立刻在指定的地方放置红石块,之后指定物品消失(Kill)

版本为1.8以上

指定物品是更名为“更新装备(按Q键扔出)”的flint(燧石)

任何系统都行,包括记分板、高频脉冲

放置方块的地方用~表示

(我拿别人的系统改了指令,结果搞了个随机地形生成器2333...妈妈再也不用担心山脉之类的地图啦~不过,我要的效果没达到,效果是有了,就是。。。没有"杀死"指定物品啊。。。)

或者右键扔出附魔之瓶来达到以上效果

如果有人能告诉我,我感激不尽!




End-Enderman
不知道这个行不行。首先高频
  1. testfor @e[type=Item,name=更新装备]
复制代码
比较器连接setblock x y z minecraft:redstone_block 再用另一个比较器加一个中继器(默认的1档,为了延长0.1秒)
  1. kill @e[type=Item,name=更新装备]
复制代码
先用铁帖或者
  1. /give @a minecraft:flint 1 0 {display:{Name:"更新装备“}}
复制代码
(有可能不行) 如果以上方法不行,我再想其他方法,因为探测背包物品也可以。

MsYqgzt
高频连接命令给在地面的物品加分,比较器连接杀死指定分数的物品,同时使用setblock

鞠传翔
End-Enderman 发表于 2015-2-24 14:12
不知道这个行不行。首先高频 比较器连接setblock x y z minecraft:redstone_block 再用另一个比较器加一个 ...

不行,探测不到

MsYqgzt
创建一个名字叫Item的dummy变量,高频连接命令:
  1. /scoreboard players set @e[type=Item] Item 1 {OnGroumd:1b,Item:"minecraft:flint"}
复制代码

将这条命令用比较器连接到这两个指令:
  1. /kill @e[type=Item,score_Item=1]
复制代码
  1. /setblock ~ ~ ~<放置的坐标> minecraft:redatone_block
复制代码

若有帮助请给最佳~

End-Enderman

怎么会探测不到?

鞠传翔
MsYqgzt 发表于 2015-2-24 15:06
创建一个名字叫Item的dummy变量,高频连接命令:

将这条命令用比较器连接到这两个指令:

不行,如果要这样的话必须要加入物品名称才能探测到物品

鞠传翔

说什么“提供实体的UUID格式无效”。。。

End-Enderman
鞠传翔 发表于 2015-2-24 15:22
说什么“提供实体的UUID格式无效”。。。

正常呀...那个不叫做探测不到...首先要记住不要有重名,必须是更新装备(实在不成就加个
  1. entitydata @e[type=Item] {CustomName:更新装备}
复制代码
,有可能扔出去的时候这个物品并没有名字)

MsYqgzt
鞠传翔 发表于 2015-2-24 15:21
不行,如果要这样的话必须要加入物品名称才能探测到物品

可以的只是在你丢出指定物品后才会工作,如果有多种物品则设置不同分数即可

MsYqgzt
MsYqgzt 发表于 2015-2-24 15:27
可以的只是在你丢出指定物品后才会工作,如果有多种物品则设置不同分数即可 ...

这套命令不是针对名字实现而是物品种类,只要是燧石丢出都会被发现并加分

鞠传翔
End-Enderman 发表于 2015-2-24 15:24
正常呀...那个不叫做探测不到...首先要记住不要有重名,必须是更新装备(实在不成就加个,有可能扔出去的 ...

好了,探测的问题解决了,就是Kill不了

End-Enderman
鞠传翔 发表于 2015-2-24 15:37
好了,探测的问题解决了,就是Kill不了

能的,在做这项实验一定要小心,kill @e系列不是好惹的。简单的方法就是把我提供的指令的逗号与name=xxx去掉就可以,不过这个方法会清除所有掉落物品。麻烦点,就是在上面testfor指令再加一个比较器(正好三个),后面用entitydata指令,再在kill @e指令方块前加一个中继器(时间自定,必须有延迟),name处填写与entitydata相同的名字即可

鞠传翔
End-Enderman 发表于 2015-2-24 15:42
能的,在做这项实验一定要小心,kill @e系列不是好惹的。简单的方法就是把我提供的指令的逗号与name=xxx ...

听不懂。。。你能不能发得详细些?(话说Kill @e太变态了,一步不小心开了高频,结果无数次KO,还是用MCE删了才能盖了)

End-Enderman
鞠传翔 发表于 2015-2-24 15:47
听不懂。。。你能不能发得详细些?(话说Kill @e太变态了,一步不小心开了高频,结果无数次KO,还是用MCE ...

简单来说就是直接把那个kill指令换成
  1. kill @e[type=Item]
复制代码
但是这会清除所有的掉落物。如果您有其他的掉落物系统的话就不要用这种方法。我之前说的那个entitydata指令,可以在testfor指令处加一个比较器,后面连接指令方块,里面还是上面的entitydata指令。记得在kill @e指令前加中继器。(entitydata替换的名字必须和kill @e填写的名字一致)

鞠传翔
我先说一下我的情况:1.第一个的testfor根本就不起作用;2.entitydata指令一启动,无论什么实体都会触发比较器输出;3.Kill @e的格式我TM的都不会啊(╯‵□′)╯︵┻━┻

鞠传翔
End-Enderman 发表于 2015-2-24 15:49
简单来说就是直接把那个kill指令换成  但是这会清除所有的掉落物。如果您有其他的掉落物系统的话就不要用 ...

@End-Enderman

MsYqgzt

楼主有几个像这样的物品探测要做?

鞠传翔
MsYqgzt 发表于 2015-2-24 16:01
楼主有几个像这样的物品探测要做?

只有一个

MsYqgzt

好的如果楼主testfore不会用的话试试我那方法,指令复制进去就好了

End-Enderman
鞠传翔 发表于 2015-2-24 15:56
我先说一下我的情况:1.第一个的testfor根本就不起作用;2.entitydata指令一启动,无论什么实体都会触发比 ...

1.testfor系列首先必须确定是高频,其次,必须有掉落物。 2.entitydata系列您可以先弄成距离自己附近有掉落物再entitydata。
  1. /execute @e[name=你的登录名] ~ ~ ~ testfor @e[type=Item,r=6]
复制代码
高频这个后面再加entitydata,意为有半径6以内的掉落物才会激活这个装置。 3.kill @e[type=xxx,name=xxx] 或者把其中的一个去掉。

鞠传翔
End-Enderman 发表于 2015-2-24 16:08
1.testfor系列首先必须确定是高频,其次,必须有掉落物。 2.entitydata系列您可以先弄成距离自己附近有掉 ...

不行啊,我是要任何人丢指定的物品都可以触发,不单单是我

End-Enderman
鞠传翔 发表于 2015-2-24 16:14
不行啊,我是要任何人丢指定的物品都可以触发,不单单是我

1.多用几个类似的高频。 2.还用原来testfor指令。 在没有探测到制定物品之前都会显示UUID格式无效。可能是没有指定物品。

鞠传翔
End-Enderman 发表于 2015-2-24 16:24
1.多用几个类似的高频。 2.还用原来testfor指令。在没有探测到制定物品之前都会显示UUID格式无效。可能是 ...

还是不明白。。。总之扔出去了也没探测到

End-Enderman
鞠传翔 发表于 2015-2-24 16:27
还是不明白。。。总之扔出去了也没探测到

不会吧...2分钟就能搞定呀...

鞠传翔
End-Enderman 发表于 2015-2-24 16:34
不会吧...2分钟就能搞定呀...

好了!解决了!指令应该是这个:testfor @e[type=Item] {Item:{id:minecraft:flint,tag:{display:{Name:指定物品}}}}

End-Enderman
鞠传翔 发表于 2015-2-24 16:40
好了!解决了!指令应该是这个:testfor @e[type=Item] {Item:{id:minecraft:flint,tag:{display:{Name: ...

这个也可以,好处是能探测指定(flint)物品。貌似所有的类似的物品共同的NBT就是Item...