Skip to content

Commit ee031cf

Browse files
committed
Fix SableRaycastHelper crash
Closes #975
1 parent 9f74e3d commit ee031cf

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

  • neoforge/src/main/java/dev/ryanhcode/sable/neoforge/mixinhelper/compatibility/create/raycasts

neoforge/src/main/java/dev/ryanhcode/sable/neoforge/mixinhelper/compatibility/create/raycasts/SableRaycastHelper.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@
1515

1616
public class SableRaycastHelper {
1717

18-
public static RaycastHelper.PredicateTraceResult rayCastUntilWithSublevels(final Level level, final Vec3 start, final Vec3 end, final BiPredicate<@Nullable SubLevel, BlockPos> predicate) {
18+
public static @Nullable RaycastHelper.PredicateTraceResult rayCastUntilWithSublevels(final Level level, final Vec3 start, final Vec3 end, final BiPredicate<@Nullable SubLevel, BlockPos> predicate) {
1919
return rayCastUntilWithSublevels(level, start, end, (pos) -> predicate.test(null, pos), predicate);
2020
}
2121

22-
public static RaycastHelper.PredicateTraceResult rayCastUntilWithSublevels(final Level level, final Vec3 start, final Vec3 end, final Predicate<BlockPos> predicate) {
22+
public static @Nullable RaycastHelper.PredicateTraceResult rayCastUntilWithSublevels(final Level level, final Vec3 start, final Vec3 end, final Predicate<BlockPos> predicate) {
2323
return rayCastUntilWithSublevels(level, start, end, predicate, (sublevel, pos) -> predicate.test(pos));
2424
}
2525

26-
public static RaycastHelper.PredicateTraceResult rayCastUntilWithSublevels(final Level level, final Vec3 start, final Vec3 end, final Predicate<BlockPos> predicate, final BiPredicate<SubLevel, BlockPos> subLevelPredicate) {
26+
public static @Nullable RaycastHelper.PredicateTraceResult rayCastUntilWithSublevels(final Level level, final Vec3 start, final Vec3 end, final Predicate<BlockPos> predicate, final BiPredicate<SubLevel, BlockPos> subLevelPredicate) {
2727
RaycastHelper.PredicateTraceResult closestRay = RaycastHelper.rayTraceUntil(start, end, predicate);
28-
double closestDistance = closestRay.getPos() != null ? Vec3.atCenterOf(closestRay.getPos()).distanceToSqr(start) : Double.MAX_VALUE;
28+
double closestDistance = closestRay != null && !closestRay.missed() ? Vec3.atCenterOf(closestRay.getPos()).distanceToSqr(start) : Double.MAX_VALUE;
2929

3030
final Iterable<SubLevel> sublevels = Sable.HELPER.getAllIntersecting(level, new BoundingBox3d(start, end));
3131

0 commit comments

Comments
 (0)