[MC] 人类定身术!但只用一艘船......可毁档的禁忌陷阱

5.4万
51
2024-05-20 11:30:00
3444
166
1879
140
魔咒: 001 001 01 00000 111 左右哪边是 0 和 1 无所谓,镜像操作是可行的 (以下是“我在简介写专栏”环节) 【摘要】 版本:java 1.16+ 当玩家卡进完整方块的 0.0000001m 范围内时,会被方块永远卡住,无法移动,无法转动视角,也无法进行右键方块互动,即使重登游戏也无济于事。解除办法只有破坏卡玩家的方块(视角动不了)、死亡、观察者模式、或tp末影珍珠紫颂果传送。因此,在没有其他玩家或留后手的情况下,单人档尝试此装置很可能导致坏档!!! 船可以矫正玩家位置,而矿车可以矫正船的位置,再用 2no 实体矫正法来矫正矿车位置。视频中的 “魔咒” 其实是矿车坐标小数位的二进制数组,目的是将玩家坐标矫正在 0.7000100 ~ 0.7000101 区间内,其中各数位的含义: 0.7:玩家半宽度为 0.3m 0.00001:实体碰撞检查向内缩减的距离 0.00000001:完整方块碰撞检查误差的生效区间 该装置只对玩家生效,船的位置非常精确,推船或开船都将导致装置失效。可以将船埋方块里,或在船上放猪鞍后隐藏船,来减少装置被意外破坏。 (可以软禁你的兄弟 :>) 【定身术原理】[1] 通常情况下,碰撞检测会给予玩家一定的宽容度(0.0000001m),即玩家可以稍微进入方块的碰撞箱而不会被认为是碰撞,这可能是出于浮点计算误差的考虑(该精度下浮点误差不容小视)。 自 1.16 以来,游戏针对完整方块的碰撞检测进行了优化,但优化程序中却忽略了这种宽容度,直接使用了完整方块的碰撞箱。这意味着,如果玩家刚好进入完整方块碰撞箱的 0.0000100 ~ 0.0000101m 之间,就会被认为是碰撞。其中 0.00001 是玩家碰撞箱检查前向内缩小的距离。 服务器检测到玩家与方块发生碰撞,会发送一个重置位置数据包给客户端,要求重置玩家到之前位置,客户端接收到这个数据包后,会对玩家的位置更新,再将更新后的玩家位置数据包发送回服务端,服务端又会根据这个数据包,再进行一次碰撞检查。 但请注意,此处由于精度误差,服务端告诉客户端重置后的玩家位置,并没有离开碰撞范围,每次碰撞检查每次都能触发重置位置数据包,导致了服务端与客户端的无限循环发包。玩家位置被无限重置在原处。 这个循环是独立线程,不依赖游戏 tick ,所以没有频率限制(取决于电脑配置),即使游戏暂停,循环仍会持续运行。 一句话总结:服务端由于碰撞检测优化,向客户端发送重置位置数据包,但由于精度误差,重置的新位置又会触发服务器的碰撞检测,导致无限循环,玩家被无限重置在原地。 【实体矫正原理】[2] 矿车在铁轨上的初始位置是 0.5,换算为二进制是 0.1 铁轨被弯曲时,矿车往弯曲方向的坐标减半,比如 0.5 -> 0.25 或 0.75 ,换算为二进制是 0.01 或 0.11 可见铁轨弯曲相当于给矿车坐标小数第一位插入一个 0 或 1,之前的数位向后移 想要矫正矿车到任意精度,只需将对应坐标转换为二进制,然后操作弯曲轨道即可 MadMan 将此操作装置化了,他的视频中介绍了 2no 矫正法的自动模式 玩家从矿车上下车会落在方块中心上,但从船上却是原地下车,使船与矿车对齐,就可以通过上下船来矫正玩家位置。 【相关链接】 [1]《Softlock by Clipping a Full Block by 0.00001m》by Curcuit Store —— feHC9xzeILc (Youtube) 玩家定身术发现者,视频简介有定身术原理的详细分析 [2]《High Precision Entity Alignment》by 2No2Name —— BV1zd4y1G73J (Bilibili) 矿车实体矫正法发明者,使生存模式中任意实体矫正成为可能 [3]《Survival Friendly Precision Entity Alignment》by MadMan25 —— jHfVXfnte8s (Youtube) 简易矿车矫正装置发明者,使2No2Name的实体矫正法更友好
destroy illusion , reveal truth

智能AI桌宠,培养你的专属伙伴!

接下来播放 自动连播

我的世界
沙盒/我的世界/MC
5分
风靡全球的3D沙盒游戏
下载
客服
顶部
赛事库 课堂 2021拜年纪