.../mods/animalia/craftitems.lua:515: attempt to index global 'armor' (a nil value)
bcwagne opened this issue · 7 comments
Server will not start with animalia and 3d_armor installed. Commenting out the armor section (lines 514 - 545) of .../.minetest/mods/animalia/craftitems.lua fixes the problem.
Running Minetest 5.6.1 on Debian Stable
Installed mods:
Dreambuilder Game
3d_armor
animalia
armor expanded
creatura
ethereal ng
mobs redo api
debug.txt output:
2024-01-13 09:30:21: WARNING[Main]: Undeclared global variable "armor" accessed at .../.minetest/mods/animalia/craftitems.lua:515
2024-01-13 09:30:21: ERROR[Main]: ModError: Failed to load and run script from .../.minetest/mods/animalia/init.lua:
2024-01-13 09:30:21: ERROR[Main]: .../.minetest/mods/animalia/craftitems.lua:515: attempt to index global 'armor' (a nil value)
2024-01-13 09:30:21: ERROR[Main]: stack traceback:
2024-01-13 09:30:21: ERROR[Main]: .../.minetest/mods/animalia/craftitems.lua:515: in main chunk
2024-01-13 09:30:21: ERROR[Main]: [C]: in function 'dofile'
2024-01-13 09:30:21: ERROR[Main]: .../.minetest/mods/animalia/init.lua:109: in main chunk
2024-01-13 09:30:21: ERROR[Main]: Check debug.txt for details.
2024-01-13 09:30:21: ACTION[Main]: Server: Shutting down
Hello,
I have the same problem.
I updated animalia mod today and since, I have the same error.
It's linked to your new code for 3D armor mod.
If I remove the code section "-- Armor --" you recently add in craftitems.lua, it works again.
-- Armor --
-----------
if minetest.get_modpath("3d_armor") then
table.insert(armor.attributes, "heavy_pelt")
...
In the meantime, I put back the before last version of animalia mod and I can play again.
same
ModError: Failed to load and run script from /home/carter/.var/app/net.minetest.Minetest/.minetest/mods/animalia/init.lua:
...minetest.Minetest/.minetest/mods/animalia/craftitems.lua:515: attempt to index global 'armor' (a nil value)
stack traceback:
...minetest.Minetest/.minetest/mods/animalia/craftitems.lua:515: in main chunk
[C]: in function 'dofile'
...p/net.minetest.Minetest/.minetest/mods/animalia/init.lua:109: in main chunk
Check debug.txt for details.
I go the same error but its more complicated.
- I can start a world with animalia + 3d armor only
- I can't start a world with animalia + 3d armor + farming + moreblocks (invsaw is deactivated)
- But when I deactivate the stairs part of moreblocks the world starts again.
I'm confused
2024-01-22 03:35:20: ACTION[Main]: Server: Shutting down
2024-01-22 03:35:21: ERROR[Main]: ModError: Failed to load and run script from /home/eris667/.minetest/mods/animalia/init.lua:
2024-01-22 03:35:21: ERROR[Main]: /home/eris667/.minetest/mods/animalia/craftitems.lua:515: attempt to index global 'armor' (a nil value)
2024-01-22 03:35:21: ERROR[Main]: stack traceback:
2024-01-22 03:35:21: ERROR[Main]: /home/eris667/.minetest/mods/animalia/craftitems.lua:515: in main chunk
2024-01-22 03:35:21: ERROR[Main]: [C]: in function 'dofile'
2024-01-22 03:35:21: ERROR[Main]: /home/eris667/.minetest/mods/animalia/init.lua:109: in main chunk
Looks like the same problem as others -- I rolled back to the previous version in the interim
basically, the problem is that 3d_armor isn't listed as an optional dependency so sometimes it loads after animalia, which causes armor
to not be defined. This is fixed by #80
Should be fixed