diff --git a/Barotrauma/BarotraumaServer/ServerSource/Lua/LuaClasses.cs b/Barotrauma/BarotraumaServer/ServerSource/Lua/LuaClasses.cs index 8281e7c99..e49664b10 100644 --- a/Barotrauma/BarotraumaServer/ServerSource/Lua/LuaClasses.cs +++ b/Barotrauma/BarotraumaServer/ServerSource/Lua/LuaClasses.cs @@ -339,6 +339,12 @@ namespace Barotrauma return item.GetComponent(); } + public static Holdable GetHoldableComponent(Item item) + { + if (item == null) return null; + return item.GetComponent(); + } + public static void DispatchRespawnSub() { GameMain.Server.RespawnManager.DispatchShuttle(); @@ -602,7 +608,8 @@ namespace Barotrauma { try { - lastResult = env.lua.Call(hf.function, args); + if (hf.function is Closure) + lastResult = env.lua.Call(hf.function, args); } catch (Exception e) { diff --git a/Barotrauma/BarotraumaServer/ServerSource/Lua/LuaSetup.cs b/Barotrauma/BarotraumaServer/ServerSource/Lua/LuaSetup.cs index fcc0e73e3..60cb3b03e 100644 --- a/Barotrauma/BarotraumaServer/ServerSource/Lua/LuaSetup.cs +++ b/Barotrauma/BarotraumaServer/ServerSource/Lua/LuaSetup.cs @@ -204,6 +204,7 @@ namespace Barotrauma UserData.RegisterType(); UserData.RegisterType(); UserData.RegisterType(); + UserData.RegisterType(); UserData.RegisterType(); UserData.RegisterType(); UserData.RegisterType(); @@ -221,6 +222,7 @@ namespace Barotrauma UserData.RegisterType(); UserData.RegisterType(); UserData.RegisterType(); + UserData.RegisterType(); lua = new Script(CoreModules.Preset_SoftSandbox);