- if (!aim_chunk) return;
- Chunk *mod_chunk = aim_chunk;
- glm::vec3 next_pos = Chunk::ToCoords(aim_block) + aim_normal;
- if (!Chunk::InBounds(next_pos)) {
- mod_chunk = &world.Next(*aim_chunk, aim_normal);
- next_pos -= aim_normal * glm::vec3(Chunk::Extent());
+ 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) {