diff --git a/src/logic/PlayerController.cpp b/src/logic/PlayerController.cpp index 78e36273..5d1ba910 100644 --- a/src/logic/PlayerController.cpp +++ b/src/logic/PlayerController.cpp @@ -298,12 +298,15 @@ void PlayerController::updateInteraction(){ blocksController->breakBlock(player.get(), target, x, y, z); } if (rclick && !input.shift) { + bool preventDefault = false; if (item->rt.funcsset.on_use_on_block) { - scripting::on_item_use_on_block(player.get(), item, x, y, z); - } else - if (item->rt.funcsset.on_use) { - scripting::on_item_use(player.get(), item); - } else return; + preventDefault = scripting::on_item_use_on_block(player.get(), item, x, y, z); + } else if (item->rt.funcsset.on_use) { + preventDefault = scripting::on_item_use(player.get(), item); + } + if (preventDefault) { + return; + } } if (def && rclick){ if (!input.shift && target->rt.funcsset.oninteract) {