From 95376622faa6fd4880dc84e7ff6a924905792c1a Mon Sep 17 00:00:00 2001 From: MapleWheels Date: Mon, 9 Feb 2026 16:58:53 -0500 Subject: [PATCH] - Added LuaCsForBarotrauma check to enabled packages list. --- .../SharedSource/LuaCs/LuaCsSetup.cs | 35 ++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs index 5a0f6a09b..db4fbbfd0 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsSetup.cs @@ -280,6 +280,30 @@ namespace Barotrauma } _runStateMachine.GotoState(targetRunState); } + + private ImmutableArray GetEnabledPackagesList() + { + var enabledRegular = ContentPackageManager.EnabledPackages.Regular.ToImmutableArray(); + if (!enabledRegular.Any( + p => p.Name.Equals("LuaCsForBarotrauma", StringComparison.InvariantCultureIgnoreCase) + || p.Name.Equals("Lua for Barotrauma", StringComparison.InvariantCultureIgnoreCase))) + { + var luaCs = ContentPackageManager.AllPackages.FirstOrDefault( + p => p.Name.Equals("LuaCsForBarotrauma", StringComparison.InvariantCultureIgnoreCase) + || p.Name.Equals("Lua For Barotrauma", StringComparison.InvariantCultureIgnoreCase)); + if (luaCs is null) + { + DebugConsole.ThrowError($"The 'LuaCsForBarotrauma' mod could not be found. Please subscribe to it and add it to the EnabledPackages List!", + new NullReferenceException($"The 'LuaCsForBarotrauma' mod could not be found. Please subscribe to it and add it to the EnabledPackages List!"), + createMessageBox: true); + return enabledRegular; + } + + enabledRegular = new[] { luaCs }.Concat(enabledRegular).ToImmutableArray(); + } + + return enabledRegular; + } private StateMachine SetupStateMachine() { @@ -325,7 +349,7 @@ namespace Barotrauma { registrationProvider.RegisterTypeProviders(ConfigService, null); } - Logger.LogResults(PackageManagementService.LoadPackagesInfo(ContentPackageManager.EnabledPackages.All.ToImmutableArray())); + Logger.LogResults(PackageManagementService.LoadPackagesInfo(GetEnabledPackagesList())); Logger.LogResults(ConfigService.LoadSavedConfigsValues()); LoadLuaCsConfig(); @@ -342,17 +366,13 @@ namespace Barotrauma { registrationProvider.RegisterTypeProviders(ConfigService, null); } - Logger.LogResults(PackageManagementService.LoadPackagesInfo(ContentPackageManager.EnabledPackages.All.ToImmutableArray())); + Logger.LogResults(PackageManagementService.LoadPackagesInfo(GetEnabledPackagesList())); LoadLuaCsConfig(); } if (!PackageManagementService.IsAnyPackageRunning()) { -#if DEBUG - Logger.LogResults(PackageManagementService.ExecuteLoadedPackages(ContentPackageManager.EnabledPackages.All.ToImmutableArray(), true)); -#else - Logger.LogResults(PackageManagementService.ExecuteLoadedPackages(ContentPackageManager.EnabledPackages.All.ToImmutableArray(), IsCsEnabled)); -#endif + Logger.LogResults(PackageManagementService.ExecuteLoadedPackages(GetEnabledPackagesList(), IsCsEnabled)); } #if CLIENT @@ -362,7 +382,6 @@ namespace Barotrauma EventService.PublishEvent(static p => p.OnConnectedToServer()); } #endif - CurrentRunState = RunState.Running; }