mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2025-06-28 06:11:47 +02:00
Move minetest.rotate_node override to a pre-default _misc init
This commit is contained in:
9
minetestforfun_game/mods/_misc_init/init.lua
Executable file
9
minetestforfun_game/mods/_misc_init/init.lua
Executable file
@ -0,0 +1,9 @@
|
||||
----------------------------------------
|
||||
-- Server Misc Mod - pre-default init --
|
||||
----------------------------------------
|
||||
|
||||
local cwd = minetest.get_modpath(minetest.get_current_modname())
|
||||
|
||||
-- Inventory refill function override
|
||||
-- see https://github.com/MinetestForFun/server-minetestforfun/issues/462
|
||||
dofile(cwd.."/inventory_rotate_node.lua")
|
@ -0,0 +1,22 @@
|
||||
--rewrite function minetest.rotate_node(itemstack, placer, pointed_thing) to refill inventory
|
||||
local old_rotate_node = minetest.rotate_node
|
||||
function minetest.rotate_node(itemstack, placer, pointed_thing)
|
||||
local stack_name = itemstack:get_name()
|
||||
local ret = old_rotate_node(itemstack, placer, pointed_thing)
|
||||
if ret:get_count() == 0 and not minetest.setting_getbool("creative_mode") then
|
||||
local index = placer:get_wield_index()
|
||||
local inv = placer:get_inventory()
|
||||
if inv:get_list("main") then
|
||||
for i, stack in ipairs(inv:get_list("main")) do
|
||||
if i ~= index and stack:get_name() == stack_name then
|
||||
ret:add_item(stack)
|
||||
stack:clear()
|
||||
inv:set_stack("main", i, stack)
|
||||
minetest.log("action", "Inventory Tweaks: refilled stack("..stack_name..") of " .. placer:get_player_name())
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return ret
|
||||
end
|
1
minetestforfun_game/mods/default/depends.txt
Normal file
1
minetestforfun_game/mods/default/depends.txt
Normal file
@ -0,0 +1 @@
|
||||
_misc_init?
|
Reference in New Issue
Block a user