Skip to content
Open
Show file tree
Hide file tree
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
2 changes: 1 addition & 1 deletion build.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
mc_version=1.18.2
forge_version=40.1.10
forge_version=40.1.23
mod_version=4.1.3
19 changes: 5 additions & 14 deletions src/main/java/codechicken/lib/raytracer/RayTracer.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,25 +41,16 @@ public static BlockHitResult retraceBlock(BlockGetter level, Player player, Bloc
return baseTraceResult;
}

private static double getBlockReachDistance_server(ServerPlayer player) {
return player.getAttribute(ForgeMod.REACH_DISTANCE.get()).getValue();
}

@OnlyIn (Dist.CLIENT)
private static double getBlockReachDistance_client() {
return Minecraft.getInstance().gameMode.getPickRange();
}

public static BlockHitResult retrace(Player player) {
return retrace(player, ClipContext.Block.OUTLINE);
}

public static BlockHitResult retrace(Player player, ClipContext.Block blockMode) {
return retrace(player, getBlockReachDistance(player), blockMode, ClipContext.Fluid.NONE);
return retrace(player, player.getReachDistance(), blockMode, ClipContext.Fluid.NONE);
}

public static BlockHitResult retrace(Player player, ClipContext.Block blockMode, ClipContext.Fluid fluidMode) {
return retrace(player, getBlockReachDistance(player), blockMode, fluidMode);
return retrace(player, player.getReachDistance(), blockMode, fluidMode);
}

public static BlockHitResult retrace(Player player, double reach, ClipContext.Block blockMode) {
Expand All @@ -81,15 +72,15 @@ public static Vec3 getStartVec(Player player) {
return getCorrectedHeadVec(player);
}

@Deprecated // Use attribute directly? avoid all this nonsense.
@Deprecated // Replace with player.getReachDistance()
public static double getBlockReachDistance(Player player) {
return player.level.isClientSide ? getBlockReachDistance_client() : player instanceof ServerPlayer ? getBlockReachDistance_server((ServerPlayer) player) : 5D;
return player.getReachDistance();
}

public static Vec3 getEndVec(Player player) {
Vec3 headVec = getCorrectedHeadVec(player);
Vec3 lookVec = player.getViewVector(1.0F);
double reach = getBlockReachDistance(player);
double reach = player.getReachDistance();
return headVec.add(lookVec.x * reach, lookVec.y * reach, lookVec.z * reach);
}

Expand Down