From e9076f22fe2a49d1cd8933e54b7b00c5dd943269 Mon Sep 17 00:00:00 2001 From: untodesu Date: Fri, 12 Sep 2025 13:33:52 +0500 Subject: It compiles --- game/client/experiments.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'game/client/experiments.cc') diff --git a/game/client/experiments.cc b/game/client/experiments.cc index 2b9fe89..b947012 100644 --- a/game/client/experiments.cc +++ b/game/client/experiments.cc @@ -22,7 +22,7 @@ static void on_glfw_mouse_button(const io::GlfwMouseButtonEvent& event) { if(!globals::gui_screen && session::is_ingame()) { - if((event.action == GLFW_PRESS) && (world::player_target::voxel != NULL_VOXEL_ID)) { + if((event.action == GLFW_PRESS) && world::player_target::voxel) { if(event.button == GLFW_MOUSE_BUTTON_LEFT) { experiments::attack(); return; @@ -68,13 +68,13 @@ void experiments::update_late(void) void experiments::attack(void) { - globals::dimension->set_voxel(NULL_VOXEL_ID, world::player_target::coord); + globals::dimension->set_voxel(nullptr, world::player_target::coord); } void experiments::interact(void) { if(auto info = world::item_registry::find(gui::hotbar::slots[gui::hotbar::active_slot])) { - if(info->place_voxel != NULL_VOXEL_ID) { + if(info->place_voxel) { globals::dimension->set_voxel(info->place_voxel, world::player_target::coord + world::player_target::normal); } } -- cgit From 73cbcdd6e8c849e32abbf9757e603e6a6654e870 Mon Sep 17 00:00:00 2001 From: untodesu Date: Fri, 12 Sep 2025 14:09:34 +0500 Subject: Metaitems --- game/client/experiments.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'game/client/experiments.cc') diff --git a/game/client/experiments.cc b/game/client/experiments.cc index b947012..8b0b526 100644 --- a/game/client/experiments.cc +++ b/game/client/experiments.cc @@ -73,9 +73,12 @@ void experiments::attack(void) void experiments::interact(void) { - if(auto info = world::item_registry::find(gui::hotbar::slots[gui::hotbar::active_slot])) { - if(info->place_voxel) { - globals::dimension->set_voxel(info->place_voxel, world::player_target::coord + world::player_target::normal); + auto active_item = gui::hotbar::slots[gui::hotbar::active_slot]; + + if(active_item) { + if(auto place_voxel = active_item->get_place_voxel()) { + globals::dimension->set_voxel(place_voxel, world::player_target::coord + world::player_target::normal); + return; } } } -- cgit