mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2025-01-11 18:40:25 +01:00
Prevent crashes
- Avoid crashing when some variables are oddly nil
This commit is contained in:
parent
23f1f6515a
commit
f905d48724
@ -95,7 +95,7 @@ end
|
|||||||
|
|
||||||
minetest.register_privilege("class_shifter", "Able to shift between classes")
|
minetest.register_privilege("class_shifter", "Able to shift between classes")
|
||||||
|
|
||||||
minetest.register_chatcommand("shift_class", {
|
minetest.register_chatcommand("switch_class", {
|
||||||
args = "<class>",
|
args = "<class>",
|
||||||
privs = {class_shifter = true},
|
privs = {class_shifter = true},
|
||||||
func = function(name, param)
|
func = function(name, param)
|
||||||
@ -125,13 +125,13 @@ local function tick()
|
|||||||
if pclasses.data.reserved_items[stack:get_name()] then
|
if pclasses.data.reserved_items[stack:get_name()] then
|
||||||
if not pclasses.api.util.can_have_item(name, stack:get_name()) then
|
if not pclasses.api.util.can_have_item(name, stack:get_name()) then
|
||||||
inv:set_stack("main", i, "")
|
inv:set_stack("main", i, "")
|
||||||
local grave_inv = minetest.get_inventory({type = "detached", name = name .. "_graveyard"})
|
local grave_inv = pclasses.api.create_graveyard_inventory(ref)
|
||||||
if grave_inv:room_for_item("graveyard", stack) then
|
if grave_inv and grave_inv:room_for_item("graveyard", stack) then
|
||||||
grave_inv:add_item("graveyard", stack)
|
grave_inv:add_item("graveyard", stack)
|
||||||
inv:add_item("graveyard", stack)
|
inv:add_item("graveyard", stack)
|
||||||
-- ^ Because add_item doesn't trigger on_put, nonsense
|
-- ^ Because add_item doesn't trigger on_put, nonsense
|
||||||
else
|
else
|
||||||
minetest.add_item(pos, stack)
|
minetest.add_item(ref:getpos(), stack)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -53,6 +53,8 @@ function pclasses.api.vacuum_graveyard(player)
|
|||||||
local grave_inv = minetest.get_inventory({type = "detached", name = pname .. "_graveyard"})
|
local grave_inv = minetest.get_inventory({type = "detached", name = pname .. "_graveyard"})
|
||||||
local player_inv = minetest.get_inventory({type = "player", name = pname})
|
local player_inv = minetest.get_inventory({type = "player", name = pname})
|
||||||
|
|
||||||
|
if not grave_inv then return end
|
||||||
|
|
||||||
for i = 1,7*8 do
|
for i = 1,7*8 do
|
||||||
local stack = grave_inv:get_stack("graveyard", i)
|
local stack = grave_inv:get_stack("graveyard", i)
|
||||||
if pclasses.api.util.can_have_item(pname, stack:get_name()) then
|
if pclasses.api.util.can_have_item(pname, stack:get_name()) then
|
||||||
|
Loading…
Reference in New Issue
Block a user