]> git.localhorst.tv Git - blank.git/blobdiff - src/ui/ui.cpp
fix block placement
[blank.git] / src / ui / ui.cpp
index 39942987f6375a243fd0412572cffbc8201bf3fe..02f372e5c66c57d7a827362814dc61c97aa66bc1 100644 (file)
@@ -396,9 +396,9 @@ void Interface::PickBlock() {
 void Interface::PlaceBlock() {
        if (!aim_world) return;
 
-       glm::vec3 next_pos = aim_world.BlockCoords() + aim_world.normal;
-       BlockLookup next_block(&aim_world.GetChunk(), next_pos);
-       if (next_block) {
+       BlockLookup next_block(aim_world.chunk, aim_world.BlockPos(), Block::NormalFace(aim_world.normal));
+       if (!next_block) {
+               return;
        }
        next_block.SetBlock(selection);
 
@@ -406,7 +406,7 @@ void Interface::PlaceBlock() {
        const Entity &player = ctrl.Controlled();
        env.audio.Play(
                place_sound,
-               aim_world.GetChunk().ToSceneCoords(player.ChunkCoords(), next_pos)
+               next_block.GetChunk().ToSceneCoords(player.ChunkCoords(), next_block.GetBlockCoords())
        );
 }