怎么实现检测撞门的效果
大概思路:execute让所有玩家把准星对着的方块门替换成方块门,替换成功就会有比较器信号,但新版的as at run一堆堆我不会用,具体用法还需求助其他大佬
本帖最后由 喜欢红石的芙兰 于 2022-3-5 11:35 编辑
具体一点,你是想要检测什么生物撞门,还是检测玩家撞门,从里面撞门还是外面,还是撞了门就行
还有就是你是要贴到门就算撞还是要具有一定动量然后撞到门才算
如果是玩家眼睛位置正面贴着门就算撞的话,下面这个指令,指令里面的门是所有种类的门都算:
新建一个计分板:
复制代码
然后循环命令方块:
复制代码
后续检测处理hitDoor这个变量就行了
具体一点,你是想要检测什么生物撞门,还是检测玩家撞门,从里面撞门还是外面,还是撞了门就行
还有就是你是要贴到门就算撞还是要具有一定动量然后撞到门才算

如果是玩家眼睛位置正面贴着门就算撞的话,下面这个指令,指令里面的门是所有种类的门都算:
新建一个计分板:
- /scoreboard objectives add hitDoor dummy
然后循环命令方块:
- execute as @a at @s anchored eyes if score @s hitDoor matches 0 if block ^ ^ ^1 #minecraft:doors run scoreboard players set @s hitDoor 1
后续检测处理hitDoor这个变量就行了
首先做法和红石门差不多。4个粘性活塞。
我的世界指令教学:感应门
3
然后任意放置你喜欢的方块【不能被活塞拉动的方块就不能放了】
我的世界指令教学:感应门
4
在两边放上红石火把和点状红石,目的是激活活塞。两边都是一样的。
我的世界指令教学:感应门
5
完成了的话是这样的。
我的世界指令教学:感应门
6
好接下来就是做高端的指令部分了。先挖一个2x9的长方形在在中间挖一个6x4的长方形挖玩是这样的。
我的世界指令教学:感应门
7
接着就是布线了。很简单利用一个高频然后连接到命令方块输出。什么高频都可以,我使用的高频是这样的,两个中继器方向相反放置,然后放上红石线和红石火把,然后吧红石火把打掉,再打掉红石线的瞬间右键装回去,手速要快!然后就完成了!
我的世界指令教学:感应门
我的世界指令教学:感应门
我的世界指令教学:感应门
8
然后吧红石线接到,命令方块这里像这样,当然也可以以自己的喜好排线。
我的世界指令教学:感应门
我的世界指令教学:感应门
9
接着在命令方块里输入 /testfor @a[-253,4,137,r=3] 这个是检测指令,检测玩家在坐标 -253 4 137 半径为3内是否存在玩家【也就是门的坐标】。存在就以红石信号输出。命令方块后面放置的是比较器这点很重要。如果不知道自己坐标的可以按F3如图所示的就是当前坐标,可以无视后面的小数-号一定要打,+号可以打也可以不打。
我的世界指令教学:感应门
10
如果输入的指令是正确的那么就会是这样。站在门的这里就可以打开门。那么恭喜你制作成功了!如果不成功请返回上一步重新做。
我的世界指令教学:感应门
我的世界指令教学:感应门
11
再加上一点自己的装饰是不是很高端呢?好了今天的教程就到这里了。我们下次见!
我的世界指令教学:感应门
我的世界指令教学:感应门
12
如果喜欢的朋友请点赞+转发,让更多的朋友学习这篇教学吧!
我的世界指令教学:感应门
3
然后任意放置你喜欢的方块【不能被活塞拉动的方块就不能放了】
我的世界指令教学:感应门
4
在两边放上红石火把和点状红石,目的是激活活塞。两边都是一样的。
我的世界指令教学:感应门
5
完成了的话是这样的。
我的世界指令教学:感应门
6
好接下来就是做高端的指令部分了。先挖一个2x9的长方形在在中间挖一个6x4的长方形挖玩是这样的。
我的世界指令教学:感应门
7
接着就是布线了。很简单利用一个高频然后连接到命令方块输出。什么高频都可以,我使用的高频是这样的,两个中继器方向相反放置,然后放上红石线和红石火把,然后吧红石火把打掉,再打掉红石线的瞬间右键装回去,手速要快!然后就完成了!
我的世界指令教学:感应门
我的世界指令教学:感应门
我的世界指令教学:感应门
8
然后吧红石线接到,命令方块这里像这样,当然也可以以自己的喜好排线。
我的世界指令教学:感应门
我的世界指令教学:感应门
9
接着在命令方块里输入 /testfor @a[-253,4,137,r=3] 这个是检测指令,检测玩家在坐标 -253 4 137 半径为3内是否存在玩家【也就是门的坐标】。存在就以红石信号输出。命令方块后面放置的是比较器这点很重要。如果不知道自己坐标的可以按F3如图所示的就是当前坐标,可以无视后面的小数-号一定要打,+号可以打也可以不打。
我的世界指令教学:感应门
10
如果输入的指令是正确的那么就会是这样。站在门的这里就可以打开门。那么恭喜你制作成功了!如果不成功请返回上一步重新做。
我的世界指令教学:感应门
我的世界指令教学:感应门
11
再加上一点自己的装饰是不是很高端呢?好了今天的教程就到这里了。我们下次见!
我的世界指令教学:感应门
我的世界指令教学:感应门
12
如果喜欢的朋友请点赞+转发,让更多的朋友学习这篇教学吧!
百度解千愁!!!!!
喜欢红石的芙兰 发表于 2022-3-5 11:34
具体一点,你是想要检测什么生物撞门,还是检测玩家撞门,从里面撞门还是外面,还是撞了门就行
还有就是你 ...
抱歉,周末才有时间,我需要的是玩家,正面有一定动能撞上里面的门