Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,11 @@ public static HitResult pick(Entity entity, double range, float partialTick, boo
HitResult vanilla = entity.pick(range, partialTick, fluids);
if (!(vanilla instanceof BlockHitResult block) || CubeSelection.searchRadius() == 0) return vanilla;
Vec3 start = entity.getEyePosition(partialTick);
Vec3 end = start.add(entity.getViewVector(partialTick).scale(range));
double distanceToHit = start.distanceToSqr(block.getLocation());
// Sable 等模组可能返回子空间存储坐标,不能从玩家位置跨坐标空间逐格补扫。
if (!(distanceToHit <= range * range + 1.0E-7)) return vanilla;
Vec3 end = start.add(entity.getViewVector(partialTick).scale(range));
// 原版视线向量存在浮点误差,使用实际射线长度,避免误拒绝正常的 MISS 终点。
if (!(distanceToHit <= start.distanceToSqr(end) + 1.0E-7)) return vanilla;
context.nearest = block;
context.distance = distanceToHit;
context.visited.clear();
Expand Down
Loading