我的世界让玩家互相自由TP传送
我的世界的玩法挺多,就看你有没有细心研究了!比如如何让玩家互相自由TP传送?
应用场景
玩家A和B在相距比较远,但A想跟B一起嗨,如果OP在忙或者不在线,那B只能跑过去了。此时,如果能让玩家A和B自由TP就好了。
解决方案
1、先由 B 在地上扔一个自定义名称的物品,比如“自由TP”,系统会发出一条消息:我已发起传送邀请;(这个自定义物品可以商店购买,也可以自己命名)
2、如果 A 想让 B TP过来,就往地上扔一个雪球(不是砸出去),这时系统会说:传送成功;如果A不想让B过来,或者5秒内不扔雪球,则邀请传送失败。
此方案考虑到 A 的隐私,不会强制TP,B想传送就要先发送邀请,A接受了才行。
具体操作
需要几个命令方块、中继器、比较器……在教学开始前,我们要注意的是,如果想让远距离的TP生效,需要将以下命令方块放在常加载区域内。另外新的海洋版中,name属性不需要再加引号。
1、发出传送请求,检测名为“自由TP”的非玩家实体
命令方块1:重复-无条件-始终活动。
此指令循环检测是否有一个名为“自由TP”的非玩家实体,“自由TP”只是老杨自定义的,你们可以随意修改,对应一下后续的命令就可以了。
对应上述场景就是:B扔出一个名为“自由TP”的非玩家实体,发出传送邀请。
2、接受传送请求,执行TP传送
铁块旁命令方块2:链-有条件-始终活动。
这是本文的核心指令,当 testfor 检测到“自由TP”后,本指令持续执行将“自由TP”附近半径r=5范围内所有实体传送到雪球处,雪球可更改为其它物品。
对应上述场景就是:A在地上扔一个雪球,接受B的传送请求,将 B 传送到 A 附近。
3、清除传送实体
书架旁命令方块3:链-有条件-始终活动。
此指令是当传送成功后,清除“自由TP”实体。
这里可以拓展一下,在上面增加一个命令方块,指令为:
4、优化玩家体验:系统发出传送邀请通知
在第1步的命令方块1的一边上放置一个比较器1,当 testfor 检测到“自由TP”后,会给 比较器1 持续信号,活塞推动红石块触发旁边的命令方块(脉冲-无条件-需要红石),其指令为:
对应上述场景就是:B扔出一个名为“自由TP”的非玩家实体,发出传送邀请,告知A可以扔雪球了。
5、优化玩家体验:设置传送邀请的有效期
在第1步的命令方块1的另一边上放置一个比较器2,连接一堆中继器,中继器的目的是延时,起到有效期的目的。
当 testfor 检测到“自由TP”后,会给 比较器2 发出信号一直沿中继器传递,末端连接两个命令方块。
上边说的到的雪球,换成其他的实体,比如鸡蛋也是可以的。
至此,全部教程结束了,欢迎各位童鞋交流。
Hh
我谢谢
感谢
。。。。
嘻嘻