2017-08-04_09.11.23

视频链接:https://www.bilibili.com/video/av12938881/

使用tnt来让沙子飞到沙门上方的方法来源于http://www.bilibili.com/video/av10503725/

整个门的核心原理就是炸沙+弹沙。

原理简单实现起来却有不少的麻烦 原因之一就是某个沙实体卡进方块的bug。

在沙实体受到推力后 它会在推力方向上移动一段距离 若撞上方块则会停下。

以上是人们通常所认为的。(包括无敌的小天使GP)

然而在我实际建造这个门时发现沙子在被推或炸后会卡进方块0.01米,具体危害体现在沙子从栅栏上滑下去时、被tnt炸上天等的时候会变成物品。

这只是大致的情况

反正这个门也没什么好讲的,那我就讲讲这个bug吧

之前提到卡进方块0.01米,然后会因为沙子的某些动作变成掉落物

这其实还有一些特殊条件(不考虑环境,只考虑沙实体本身)

1)沙实体坐标0.01米偏差的方向,也可以说是偏差后再次受到推动的方向

假设沙实体在x轴上偏差 然后受到了z方向的推动 这时候就会在某些情况下(如从栅栏上滑下去时、被tnt炸上天等)变成掉落物。但是再次在x轴上受到推动则不会有问题,但是也不能通过正反方向对推来消除卡进方块的bug。

2)沙实体偏差后的时间

时间计算并不是被推动就开始的,而是撞上墙壁才开始计算的,这段时间很长,但是也不是没有可能对机器造成影响。如果让这样一个沙实体放在一个机器里,那么基本上可以等着机器里的沙实体消失变成物品了(除非你有给它+1s的仙术)

令人高兴的是,面对这样的bug,还是找到了解决的方法:

在沙实体下落到可以让它变成方块的方块上时,它会忽略自己的坐标偏差,应该是采取四舍五入的形式来选择一个方块来落脚。在这个行为中,沙实体的坐标偏差就被修正了。由于并没有偏很多,沙实体还是能在正确的位置变成方块。

2017-08-09_11.10.03

这是我所采取的其中一个办法。沙实体落在方块上,坐标被整理,在需要弹出沙子时活塞收回,沙子落下后伸出2017-08-09_11.10.07

对于处于井中的tnt,我采取了让活塞上推然后收回的方法来整理沙实体的坐标的方法。可能由于上推行为的特殊性,沙实体没有时间限制。无论处于偏差状态多久后上推都不会变成物品,但是tnt的爆炸还是会对偏差后的沙实体有影响,所以要再次整理坐标。

2017-08-09_11.14.54

由于tnt提供的推力有限, 这就给门上方的空间提出了要求。这是用线+观察者的方式所制作的与下方坐标整理器原理基本相同的坐标整理+沙实体弹出一体机。因为炮井较为密集并且推进tnt较多,各个沙实体飞行速度不同,要每个单元独立检测沙实体,即使撞上顶部方块后下落速度仍然有不同,我还是在机器里使用了一致的延时,因此有时候因为渲染问题某些沙子就像瞬移了一样。也正是这个炮井较为密集并且推进tnt较多的原因,即使经过下方一段炮管对沙实体坐标的一定限制,在不连续的炮管中运动的沙实体由于卡进方块的bug极有可能撞上上方的炮管而落下,所以我就直接去掉了上方的炮管来使这个问题发生的几率减到最小。

本来说讲讲bug,现在重要的东西都讲了一下233333

这个门的核心就是弹沙+炸沙,希望这个东西能给大触们带来新的坑。

【pc】活塞门&隐藏机械整理

试图整理所有NB的活塞门和隐藏机械,方便检索 主要为b站视频视频(没广告),以及一些水贴,或是只有图片。。。 活塞门章节分类: 分类思路,只依据活塞门呈...

阅读全文

【结构大小】6×6普通无痕活塞门(PE 0.16.x)

大约在2个月前,error0xc000001发布了一个非结构大小的6×6无痕活塞门,体积1710block(10x9x19) 原帖地址(1710block) 方案如图所示: 本人对此门...

阅读全文

【退坑作+纪念0.16】Striker Eureka 0.16.2 Edition

从入坑pe械电到现在已经几个月了,现已身中剧毒,是时候退坑了,从此转战pc 这里展示最后一个pe作品,顺便纪念一下win10的最后一个测试版0.16.2,耗时3天,工...

阅读全文

评论已经关闭。