FaceDeer / dfcaverns

Replicating Dwarf Fortress' underground flora in Minetest
Other
16 stars 9 forks source link

Use of `string` instead of `tostring` #44

Open Watilin opened 8 months ago

Watilin commented 8 months ago

I encountered a crash while playing Mesecraft.

2023-10-13 22:28:41: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'df_caverns' in callback environment_OnGenerated(): ...esecraft\mods\MODULES\dfcaverns\df_trees/tunnel_tube.lua:444: attempt to call global 'string' (a table value)
2023-10-13 22:28:41: ERROR[Main]: stack traceback:
2023-10-13 22:28:41: ERROR[Main]:   ...esecraft\mods\MODULES\dfcaverns\df_trees/tunnel_tube.lua:444: in function 'spawn_tunnel_tube_vm'
2023-10-13 22:28:41: ERROR[Main]:   ...s\mesecraft\mods\MODULES\dfcaverns\df_caverns/level2.lua:137: in function 'tunnel_tube_cavern_floor'
2023-10-13 22:28:41: ERROR[Main]:   ...s\mesecraft\mods\MODULES\dfcaverns\df_caverns/level2.lua:213: in function 'decorate'
2023-10-13 22:28:41: ERROR[Main]:   ...mes\mesecraft\mods\MODULES\dfcaverns\subterrane\init.lua:589: in function <...mes\mesecraft\mods\MODULES\dfcaverns\subterrane\init.lua:357>
2023-10-13 22:28:41: ERROR[Main]:   ...es\minetest-5.7.0-win64\bin\..\builtin\game\register.lua:446: in function <...es\minetest-5.7.0-win64\bin\..\builtin\game\register.lua:432>

https://github.com/FaceDeer/dfcaverns/blob/2f2577eada556f8b85528afa14af72efafd16c29/df_trees/tunnel_tube.lua#L444C79-L444C79 The culprit seems to be a use of string() instead of tostring(), but fixing it won't be enough, we need to know how we got in the condition pattern == nil. I'm investigating.