diff --git a/res/content/base/scripts/components/drop.lua b/res/content/base/scripts/components/drop.lua index f8a5fc52..90e4810f 100644 --- a/res/content/base/scripts/components/drop.lua +++ b/res/content/base/scripts/components/drop.lua @@ -8,7 +8,6 @@ inair = true ready = false target = -1 -ARGS = ARGS or {} local dropitem = ARGS if SAVED_DATA.item then dropitem.id = item.index(SAVED_DATA.item) diff --git a/res/content/base/scripts/components/falling_block.lua b/res/content/base/scripts/components/falling_block.lua index b5623b12..f650b6f7 100644 --- a/res/content/base/scripts/components/falling_block.lua +++ b/res/content/base/scripts/components/falling_block.lua @@ -2,7 +2,6 @@ local tsf = entity.transform local body = entity.rigidbody local rig = entity.skeleton -ARGS = ARGS or {} local blockid = ARGS.block if SAVED_DATA.block then blockid = SAVED_DATA.block diff --git a/src/logic/scripting/scripting.cpp b/src/logic/scripting/scripting.cpp index 6e9de016..30f5ae53 100644 --- a/src/logic/scripting/scripting.cpp +++ b/src/logic/scripting/scripting.cpp @@ -334,9 +334,13 @@ void scripting::on_entity_spawn( util::replaceAll(compfieldname, ":", "__"); if (auto datamap = args->map(compfieldname)) { lua::pushvalue(L, datamap); - lua::setfield(L, "ARGS"); + } else { + lua::createtable(L, 0, 0); } + } else { + lua::createtable(L, 0, 0); } + lua::setfield(L, "ARGS"); if (saved == nullptr) { lua::createtable(L, 0, 0);