实体方块的判断——源码中调用isNormalCube()的位置总结
游戏版本:Minecraft Java Edition 1.13.2 源码来源:mcp 不保证下列调用目的的表述正确性,仅均为个人猜想
isNormalCube
实体方块,实心方块,整砖,普通方块,具体指什么?
在我看来,绝大部分时间里,当我们提及“实体方块”一词的时候,指的都是能压线压箱发矿车的那一类实心完整方块。在源码中,这些,都是通过一个叫做isNormalCube()的函数进行判定的
我猜这个是实体方块
这个函数里的三个判据我先不细究,先来看看源码中所有调用isNormalCube()的位置,来看看这个实体方块判断,会用在什么地方
箱子压箱判定
箱子上面有实体方块时无法打开
末影箱压箱判定
末影箱上面有实体方块时无法打开
比较器隔方块检测容器的判定
红石粉的各种判定
压线判定
红石粉更新
看看是沿实体方块的表面上传还是下传
红石粉信号更新
方块增加时
方块替换时
判断信号源
地狱门方块刷新僵尸猪人
只在实体方块上面刷猪人
获得红石信号强度时判断强弱充能
判断更新隔实体方块检测容器的比较器输出
刷怪循环
集群刷怪的开始判定
实体方块会在集群刷怪的开始打断集群刷怪
水生生物的刷新判定
水生生物刷新方块的上方不能是实体方块
挤出卡入实体方块中的玩家
玩家类中所使用的isNormalCube()
其实也只是一层套娃
矿车在激活的充能铁轨上贴实体方块时的启动
蝙蝠倒挂睡觉
得倒挂在实体方块下才可能睡觉