39dea8a2ae
- Removed lots of unused variables, a few shadowed identifiers. - Removed a few sections of dead code.
69 lines
1.8 KiB
Lua
69 lines
1.8 KiB
Lua
-- LUALOCALS < ---------------------------------------------------------
|
|
local ipairs, minetest, nodecore, setmetatable
|
|
= ipairs, minetest, nodecore, setmetatable
|
|
-- LUALOCALS > ---------------------------------------------------------
|
|
|
|
local function wrapinv(inv, player)
|
|
if not inv then return inv end
|
|
local t = {}
|
|
setmetatable(t, {__index = inv})
|
|
function t.add_item(_, list, stack)
|
|
return nodecore.give_item(player, stack, list, inv)
|
|
end
|
|
return t
|
|
end
|
|
|
|
local function wrapplayer(player)
|
|
if not player then return player end
|
|
local t = {}
|
|
setmetatable(t, {__index = player})
|
|
function t.get_inventory()
|
|
return wrapinv(player:get_inventory(), player)
|
|
end
|
|
return t
|
|
end
|
|
|
|
local oldstackgive = nodecore.stack_giveto
|
|
nodecore.stack_giveto = function(a, whom, ...)
|
|
return oldstackgive(a, wrapplayer(whom), ...)
|
|
end
|
|
|
|
local olddrops = minetest.handle_node_drops
|
|
function minetest.handle_node_drops(a, b, whom, ...)
|
|
return olddrops(a, b, wrapplayer(whom), ...)
|
|
end
|
|
|
|
local oldeat = minetest.do_item_eat
|
|
function minetest.do_item_eat(a, b, c, whom, ...)
|
|
return oldeat(a, b, c, wrapplayer(whom), ...)
|
|
end
|
|
|
|
local bii = minetest.registered_entities["__builtin:item"]
|
|
local item = {
|
|
on_punch = function(self, whom, ...)
|
|
return bii.on_punch(self, wrapplayer(whom), ...)
|
|
end
|
|
}
|
|
setmetatable(item, bii)
|
|
minetest.register_entity(":__builtin:item", item)
|
|
|
|
for _, cmd in ipairs({"give", "giveme"}) do
|
|
local give = minetest.registered_chatcommands[cmd] or {}
|
|
local oldfunc = give.func or function() end
|
|
give.func = function(...)
|
|
local oldgpbn = minetest.get_player_by_name
|
|
local function helper(...)
|
|
minetest.get_player_by_name = oldgpbn
|
|
return ...
|
|
end
|
|
minetest.get_player_by_name = function(...)
|
|
local function helpest(p, ...)
|
|
p = wrapplayer(p)
|
|
return p, ...
|
|
end
|
|
return helpest(oldgpbn(...))
|
|
end
|
|
return helper(oldfunc(...))
|
|
end
|
|
end
|