There is a simple fix to prevent crafting too much due to server desync:
When the player selects the amount and then crafts, the quickcrafting dialogue closes
to craft again, they have to press the quickcrafting button again. Theres no reason that you should be able to craft 1 recipe over and over again with the amt set at one, when you could just increase the amount and craft a bunch at once
the other option is to enforce a delay between clicking the craft button
Edit: the fatal error remains;
Code: Select all
2021-08-22 19:42:38: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod 'skinsdb' in callback on_joinplayer(): ...netest/MeseCraft/games/m
esecraft/mods/PLAYER/i3/init.lua:1724: attempt to get length of local 'items' (a nil value)
2021-08-22 19:42:38: ERROR[Main]: stack traceback:
2021-08-22 19:42:38: ERROR[Main]: ...netest/MeseCraft/games/mesecraft/mods/PLAYER/i3/init.lua:1724: in function 'get_items_fs'
2021-08-22 19:42:38: ERROR[Main]: ...netest/MeseCraft/games/mesecraft/mods/PLAYER/i3/init.lua:1830: in function 'get_panels'
2021-08-22 19:42:38: ERROR[Main]: ...netest/MeseCraft/games/mesecraft/mods/PLAYER/i3/init.lua:1724: in function 'get_items_fs' [456/1808]
2021-08-22 19:42:38: ERROR[Main]: ...netest/MeseCraft/games/mesecraft/mods/PLAYER/i3/init.lua:1830: in function 'get_panels'
2021-08-22 19:42:38: ERROR[Main]: ...netest/MeseCraft/games/mesecraft/mods/PLAYER/i3/init.lua:2190: in function 'make_fs'
2021-08-22 19:42:38: ERROR[Main]: ...netest/MeseCraft/games/mesecraft/mods/PLAYER/i3/init.lua:2208: in function 'func'
2021-08-22 19:42:38: ERROR[Main]: ...aft/games/mesecraft/mods/ITEMS/3d_armor/3d_armor/api.lua:172: in function 'run_callbacks'
2021-08-22 19:42:38: ERROR[Main]: ...t/MeseCraft/games/mesecraft/mods/PLAYER/skinsdb/init.lua:49: in function 'update_player_visuals'
2021-08-22 19:42:38: ERROR[Main]: ...aft/games/mesecraft/mods/ITEMS/3d_armor/3d_armor/api.lua:328: in function 'set_player_armor'
2021-08-22 19:42:38: ERROR[Main]: ...st/MeseCraft/games/mesecraft/mods/PLAYER/skinsdb/api.lua:44: in function 'update_player_skin'
2021-08-22 19:42:38: ERROR[Main]: ...t/MeseCraft/games/mesecraft/mods/PLAYER/skinsdb/init.lua:61: in function <...t/MeseCraft/games/mesecraft/mods/PLAYER/skinsdb/i
nit.lua:60>
2021-08-22 19:42:38: ERROR[Main]: /home/minetest/MeseCraft/builtin/game/register.lua:422: in function </home/minetest/MeseCraft/builtin/game/register.lua:406>
A hint is that this only occurs when a player joins the game, and it does not occur every time a player joins the game. It usually happens when the second or third player joins, but not always; sometimes players can join without a crash for quite a while.
-------------------------------------------
Also a feature request: this mod expands the player's inv. while I dont have a problem with that, when you look in a chest you can't see your full inv. I suggest an option to overwrite default inventory nodes, and in the readme give a code snippet to replace the usual players' inv formspec definition with one compatible with the new inventory.