diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index 7b62847c..452b2a84 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -1550,6 +1550,7 @@ Interaction target tooltip at top of window Interaction target tooltip shows entity target, voxel targets Fix bug where inventory items aren't destroying physics on server Align voxel lookups for movement audio and interaction targeting +Align block lookups for interaction targeting diff --git a/src/main/java/electrosphere/client/interact/ClientInteractionEngine.java b/src/main/java/electrosphere/client/interact/ClientInteractionEngine.java index 4aa59fda..375d166c 100644 --- a/src/main/java/electrosphere/client/interact/ClientInteractionEngine.java +++ b/src/main/java/electrosphere/client/interact/ClientInteractionEngine.java @@ -269,7 +269,7 @@ public class ClientInteractionEngine { //grab block at point BlockChunkData blockChunkData = Globals.clientBlockManager.getChunkDataAtWorldPoint(Globals.clientWorldData.convertRealToWorldSpace(collisionPosition), 0); if(blockChunkData != null){ - Vector3i blockPos = Globals.clientWorldData.convertRealToBlockSpace(collisionPosition); + Vector3i blockPos = Globals.clientWorldData.convertRealToBlockSpace(new Vector3d(collisionPosition).add(new Vector3d(eyePos).mul(-BlockChunkData.BLOCK_SIZE_MULTIPLIER / 2.0f))); if(!blockChunkData.isEmpty(blockPos.x, blockPos.y, blockPos.z)){ short type = blockChunkData.getType(blockPos.x, blockPos.y, blockPos.z); String text = Globals.gameConfigCurrent.getBlockData().getTypeFromId(type).getName();