diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/WorldInteraction.java b/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/WorldInteraction.java index 80ed749..b835564 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/WorldInteraction.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/compatibility/MCClasses/WorldInteraction.java @@ -22,7 +22,11 @@ public static List getCollisionBoundingBoxes(Vector3D blockPosVec * @return the block position that the player is looking at */ public static Vector3D getLookingAt() { - return Interface.get().map(Interface::getLookingAt).orElse(null); + return Interface.get().map(w -> w.getLookingAt(20.0)).orElse(null); + } + + public static Vector3D getLookingAt(double distance) { + return Interface.get().map(w -> w.getLookingAt(distance)).orElse(null); } /** @@ -32,6 +36,10 @@ public static String getLookingAtBlock() { return Optional.ofNullable(getLookingAt()).map(WorldInteraction::getBlockName).orElse(null); } + public static String getLookingAtBlock(double distance) { + return Optional.ofNullable(getLookingAt(distance)).map(WorldInteraction::getBlockName).orElse(null); + } + public static String getBlockName(Vector3D blockPos) { return Interface.get().map(w -> w.getBlockName(blockPos)).orElse(null); } @@ -56,7 +64,7 @@ static Optional get() { List getCollisionBoundingBoxes(Vector3D blockPosVec); - Vector3D getLookingAt(); + Vector3D getLookingAt(double distance); String getBlockName(Vector3D blockPos); diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/gui/components/BarrierDisplayComponent.java b/common/src/main/java/io/github/kurrycat/mpkmod/gui/components/BarrierDisplayComponent.java index f3ec8ff..b0c2209 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/gui/components/BarrierDisplayComponent.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/gui/components/BarrierDisplayComponent.java @@ -22,7 +22,7 @@ public class BarrierDisplayComponent extends ResizableComponent { @Override public void render(Vector2D mouse) { - String lookingAtBlock = WorldInteraction.getLookingAtBlock(); + String lookingAtBlock = WorldInteraction.getLookingAtBlock(4.5); boolean lookingAtBarrier = lookingAtBlock != null && lookingAtBlock.equals("minecraft:barrier"); Color color = lookingAtBarrier ? Theme.warnText : Theme.defaultText; diff --git a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/FunctionCompatibility.java b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/FunctionCompatibility.java index 331dbb5..b83deba 100644 --- a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/FunctionCompatibility.java +++ b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/FunctionCompatibility.java @@ -66,11 +66,11 @@ public List getCollisionBoundingBoxes(Vector3D blockPosVector) { return boundingBoxes; } - public Vector3D getLookingAt() { + public Vector3D getLookingAt(double distance) { if (MinecraftClient.getInstance().getCameraEntity() == null) return null; - HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false); + HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(distance, 0, false); if (hitResult instanceof BlockHitResult) { BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos(); return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ()); diff --git a/fabric-1.20/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20/FunctionCompatibility.java b/fabric-1.20/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20/FunctionCompatibility.java index c93463f..4e65d4d 100644 --- a/fabric-1.20/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20/FunctionCompatibility.java +++ b/fabric-1.20/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20/FunctionCompatibility.java @@ -67,11 +67,11 @@ public List getCollisionBoundingBoxes(Vector3D blockPosVector) { return boundingBoxes; } - public Vector3D getLookingAt() { + public Vector3D getLookingAt(double distance) { if (MinecraftClient.getInstance().getCameraEntity() == null) return null; - HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false); + HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(distance, 0, false); if (hitResult instanceof BlockHitResult) { BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos(); return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ()); diff --git a/forge-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_19_4/FunctionCompatibility.java b/forge-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_19_4/FunctionCompatibility.java index 848462c..9e11fbe 100644 --- a/forge-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_19_4/FunctionCompatibility.java +++ b/forge-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_19_4/FunctionCompatibility.java @@ -76,9 +76,9 @@ public List getCollisionBoundingBoxes(Vector3D blockPosVector) { /** * Is called in {@link WorldInteraction.Interface} */ - public Vector3D getLookingAt() { + public Vector3D getLookingAt(double distance) { if (Minecraft.getInstance().getCameraEntity() == null) return null; - HitResult hitResult = Minecraft.getInstance().getCameraEntity().pick(20, 0, false); + HitResult hitResult = Minecraft.getInstance().getCameraEntity().pick(distance, 0, false); if (hitResult instanceof BlockHitResult) { BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos(); return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ()); diff --git a/forge-1.20/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_20/FunctionCompatibility.java b/forge-1.20/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_20/FunctionCompatibility.java index 486648d..81f36a4 100644 --- a/forge-1.20/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_20/FunctionCompatibility.java +++ b/forge-1.20/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_20/FunctionCompatibility.java @@ -79,9 +79,9 @@ public List getCollisionBoundingBoxes(Vector3D blockPosVector) { /** * Is called in {@link WorldInteraction.Interface} */ - public Vector3D getLookingAt() { + public Vector3D getLookingAt(double distance) { if (Minecraft.getInstance().getCameraEntity() == null) return null; - HitResult hitResult = Minecraft.getInstance().getCameraEntity().pick(20, 0, false); + HitResult hitResult = Minecraft.getInstance().getCameraEntity().pick(distance, 0, false); if (hitResult instanceof BlockHitResult) { BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos(); return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ()); diff --git a/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java b/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java index 2821020..937cfe0 100644 --- a/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java +++ b/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/FunctionCompatibility.java @@ -71,8 +71,8 @@ public List getCollisionBoundingBoxes(Vector3D blockPosVec) { /** * Is called in {@link WorldInteraction.Interface} */ - public Vector3D getLookingAt() { - BlockPos blockPos = Minecraft.getMinecraft().thePlayer.rayTrace(20, 0).getBlockPos(); + public Vector3D getLookingAt(double distance) { + BlockPos blockPos = Minecraft.getMinecraft().thePlayer.rayTrace(distance, 0).getBlockPos(); if (blockPos == null) return null; return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ()); } @@ -82,14 +82,12 @@ public Vector3D getLookingAt() { */ public String getBlockName(Vector3D blockPos) { String blockName = ""; - //if (Minecraft.getMinecraft().objectMouseOver != null && Minecraft.getMinecraft().objectMouseOver.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && Minecraft.getMinecraft().objectMouseOver.getBlockPos() != null && !(Minecraft.getMinecraft().thePlayer.hasReducedDebug() || Minecraft.getMinecraft().gameSettings.reducedDebugInfo)) { BlockPos blockpos = new BlockPos(blockPos.getX(), blockPos.getY(), blockPos.getZ()); IBlockState iblockstate = Minecraft.getMinecraft().theWorld.getBlockState(blockpos); if (Minecraft.getMinecraft().theWorld.getWorldType() != WorldType.DEBUG_WORLD) { iblockstate = iblockstate.getBlock().getActualState(iblockstate, Minecraft.getMinecraft().theWorld, blockpos); } blockName = String.valueOf(Block.blockRegistry.getNameForObject(iblockstate.getBlock())); - //} return blockName; }