diff --git a/Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]TestLuaMod/Lua/init.lua b/Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]TestLuaMod/Lua/init.lua
index cac8db7c9..600035344 100644
--- a/Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]TestLuaMod/Lua/init.lua
+++ b/Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]TestLuaMod/Lua/init.lua
@@ -26,6 +26,9 @@ end)
local failed, package = trygetpackage("[DebugOnlyTest]TestLuaMod")
+print("packageFailed=", failed)
+print("package", package.Name)
+
local success, config = ConfigService.TryGetConfig(SettingBase.Single, package, "TestFloat")
print("config ", success, " ", config)
diff --git a/Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]TestLuaMod/ModConfig.xml b/Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]TestLuaMod/ModConfig.xml
index 8889ae392..1af981a06 100644
--- a/Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]TestLuaMod/ModConfig.xml
+++ b/Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]TestLuaMod/ModConfig.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/ConfigService.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/ConfigService.cs
index 2ff7199f6..442aa0185 100644
--- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/ConfigService.cs
+++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/ConfigService.cs
@@ -325,6 +325,8 @@ public sealed partial class ConfigService : IConfigService
{
return FluentResults.Result.Ok();
}
+
+ var result = new FluentResults.Result();
var taskBuilder = ImmutableArray.CreateBuilder>>();
var toProcessErrors = new ConcurrentStack();
@@ -362,7 +364,9 @@ public sealed partial class ConfigService : IConfigService
{
if (!_instanceFactory.TryGetValue(info.DataType, out var factory))
{
- return FluentResults.Result.Fail($"{nameof(LoadConfigsAsync)}: Could not retrieve the instance factory for the data type of '{info.DataType}'!");
+ result.WithError(
+ $"{nameof(LoadConfigsAsync)}: Could not retrieve the instance factory for the data type of '{info.DataType}'!");
+ continue;
}
if (_settingsInstances.ContainsKey((info.OwnerPackage, info.InternalName)))
{
@@ -383,13 +387,13 @@ public sealed partial class ConfigService : IConfigService
}
catch (Exception e)
{
- FluentResults.Result.Fail(
+ result.WithError(
$"{nameof(LoadConfigsAsync)}: Error while instancing setting for '{instanceFactoryInfo.configInfo.OwnerPackage}.{instanceFactoryInfo.configInfo.InternalName}': {e.Message}!");
+ continue;
}
}
using var settingsLck = await _settingsByPackageLock.AcquireWriterLock(); // block to protect new bag instance creation
- var result = new FluentResults.Result();
while (toProcessInstanceQueue.TryDequeue(out var newInstanceData))
{