feat: prevent block placement at player's position

This commit is contained in:
2026-03-14 18:08:59 +08:00
parent 7012e5f9fe
commit cabac13012

View File

@@ -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;
}