mirror of
https://github.com/minetest/minetest.git
synced 2024-11-30 11:33:44 +01:00
Run on_item_use CSM callback even if item is not marked usable
Mods may want to to handle item interaction even if the item is not marked usable (= server-side callback exists).
This commit is contained in:
parent
682b9de824
commit
3f271564e0
@ -66,6 +66,10 @@ core.register_on_item_use(function(itemstack, pointed_thing)
|
|||||||
print("pointed_thing :" .. dump(pointed_thing))
|
print("pointed_thing :" .. dump(pointed_thing))
|
||||||
print("item = " .. itemstack:get_name())
|
print("item = " .. itemstack:get_name())
|
||||||
|
|
||||||
|
if not itemstack:is_empty() then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
local pos = vector.add(core.localplayer:get_pos(), core.camera:get_offset())
|
local pos = vector.add(core.localplayer:get_pos(), core.camera:get_offset())
|
||||||
local pos2 = vector.add(pos, vector.multiply(core.camera:get_look_dir(), 100))
|
local pos2 = vector.add(pos, vector.multiply(core.camera:get_look_dir(), 100))
|
||||||
|
|
||||||
|
@ -3061,6 +3061,9 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud, bool show_debug)
|
|||||||
} else if (input->getLeftState()) {
|
} else if (input->getLeftState()) {
|
||||||
// When button is held down in air, show continuous animation
|
// When button is held down in air, show continuous animation
|
||||||
runData.left_punch = true;
|
runData.left_punch = true;
|
||||||
|
// Run callback even though item is not usable
|
||||||
|
if (input->getLeftClicked() && client->modsLoaded())
|
||||||
|
client->getScript()->on_item_use(selected_item, pointed);
|
||||||
} else if (input->getRightClicked()) {
|
} else if (input->getRightClicked()) {
|
||||||
handlePointingAtNothing(selected_item);
|
handlePointingAtNothing(selected_item);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user