From cabac13012ab18e1e9a944073e45083cd1debfba Mon Sep 17 00:00:00 2001 From: zhenyan121 <3367366583@qq.com> Date: Sat, 14 Mar 2026 18:08:59 +0800 Subject: [PATCH] feat: prevent block placement at player's position --- src/gameplay/player.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gameplay/player.cpp b/src/gameplay/player.cpp index 8f521e7..c3d0e5e 100644 --- a/src/gameplay/player.cpp +++ b/src/gameplay/player.cpp @@ -177,7 +177,12 @@ void Player::update(float delta_time) { if (Input::get_input_state().mouse_state.right) { glm::ivec3 near_pos = m_look_block->pos + m_look_block->normal; if (!m_world.is_block(near_pos)) { - m_world.set_block(near_pos, 1); + glm::ivec3 p_pos = glm::floor(m_player_pos); + p_pos.y += 1; + if ((near_pos != p_pos) && (near_pos != (p_pos + glm::ivec3(0 ,1, 0)))) { + m_world.set_block(near_pos, 1); + } + } Input::get_input_state().mouse_state.right = false; }