4 Commits

Author SHA1 Message Date
Nagord 04450e2d00 Updated documentation 2025-04-27 01:07:49 -07:00
Nagord d7a867587d Updated NuGet Packages 2025-04-27 01:04:28 -07:00
DragonFire47 44f96a1490 Updated documentation. 2024-10-23 23:26:40 -07:00
DragonFire47 1c4dd32ea8 Added config for delays 2024-10-23 23:25:15 -07:00
11 changed files with 58 additions and 40 deletions
@@ -4,7 +4,7 @@
<AssemblyName>AutomaticShipSystems</AssemblyName> <AssemblyName>AutomaticShipSystems</AssemblyName>
<Description> <Description>
</Description> </Description>
<Version>0.0.1</Version> <Version>0.0.3</Version>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
<RestoreAdditionalProjectSources> <RestoreAdditionalProjectSources>
@@ -26,8 +26,8 @@
<PackageReference Include="BepInEx.Analyzers" Version="1.*" PrivateAssets="all" /> <PackageReference Include="BepInEx.Analyzers" Version="1.*" PrivateAssets="all" />
<PackageReference Include="BepInEx.Core" Version="5.4.21" PrivateAssets="all" /> <PackageReference Include="BepInEx.Core" Version="5.4.21" PrivateAssets="all" />
<PackageReference Include="VCMT.Thunderstore.DocBuilder" Version="0.2.1" PrivateAssets="all" /> <PackageReference Include="VCMT.Thunderstore.DocBuilder" Version="0.2.1" PrivateAssets="all" />
<PackageReference Include="VCMT.VoidManager" Version="1.2.2" PrivateAssets="all" /> <PackageReference Include="VCMT.VoidManager" Version="1.2.7" PrivateAssets="all" />
<PackageReference Include="VoidCrew.GameLibs" Version="0.27.0.2" PrivateAssets="all" /> <PackageReference Include="VoidCrew.GameLibs" Version="1.1.1" PrivateAssets="all" />
</ItemGroup> </ItemGroup>
<ItemGroup Condition="'$(TargetFramework.TrimEnd(`0123456789`))' == 'net'"> <ItemGroup Condition="'$(TargetFramework.TrimEnd(`0123456789`))' == 'net'">
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" /> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" PrivateAssets="all" />
+8 -4
View File
@@ -4,19 +4,23 @@ namespace AutomaticShipSystems
{ {
internal class Configs internal class Configs
{ {
internal const double CircuitBreakerDelay = 30 * 1000;
internal const double ThrusterBoosterDelay = 60 * 1000;
internal const double TrimDelay = 5 * 60 * 1000;
internal static ConfigEntry<bool> CircuitBreakerConfig; internal static ConfigEntry<bool> CircuitBreakerConfig;
internal static ConfigEntry<bool> ThrusterBoosterConfig; internal static ConfigEntry<bool> ThrusterBoosterConfig;
internal static ConfigEntry<bool> TrimConfig; internal static ConfigEntry<bool> TrimConfig;
internal static ConfigEntry<double> CircuitBreakerDelay;
internal static ConfigEntry<double> ThrusterBoosterDelay;
internal static ConfigEntry<double> TrimDelay;
internal static void Load(BepinPlugin plugin) internal static void Load(BepinPlugin plugin)
{ {
CircuitBreakerConfig = plugin.Config.Bind("AutomaticShipSystems", "CircuitBreakers", true); CircuitBreakerConfig = plugin.Config.Bind("AutomaticShipSystems", "CircuitBreakers", true);
ThrusterBoosterConfig = plugin.Config.Bind("AutomaticShipSystems", "ThrusterBooster", true); ThrusterBoosterConfig = plugin.Config.Bind("AutomaticShipSystems", "ThrusterBooster", true);
TrimConfig = plugin.Config.Bind("AutomaticShipSystems", "Trim", true); TrimConfig = plugin.Config.Bind("AutomaticShipSystems", "Trim", true);
CircuitBreakerDelay = plugin.Config.Bind("AutomaticShipSystems", "CircuitBreakersTimer", (double)(30 * 1000));
ThrusterBoosterDelay = plugin.Config.Bind("AutomaticShipSystems", "ThrusterBoosterTimer", (double)(60 * 1000));
TrimDelay = plugin.Config.Bind("AutomaticShipSystems", "TrimTimer", (double)(5 * 60 * 1000));
} }
} }
} }
+2 -2
View File
@@ -28,7 +28,7 @@ namespace AutomaticShipSystems
ClientGame.Current?.PlayerShip?.GetModule<Helm>()?.Engine?.GetComponentsInChildren<Enhancement>()?.Contains(__instance) == true && ClientGame.Current?.PlayerShip?.GetModule<Helm>()?.Engine?.GetComponentsInChildren<Enhancement>()?.Contains(__instance) == true &&
newState == EnhancementState.Inactive) newState == EnhancementState.Inactive)
{ {
Tools.DelayDoUnique(__instance, () => ResetTrim(__instance), Configs.TrimDelay); Tools.DelayDoUnique(__instance, () => ResetTrim(__instance), Configs.TrimDelay.Value);
} }
} }
@@ -55,7 +55,7 @@ namespace AutomaticShipSystems
{ {
if (trim.CurrentState.Value == EnhancementState.Inactive) if (trim.CurrentState.Value == EnhancementState.Inactive)
{ {
Tools.DelayDoUnique(trim, () => ResetTrim(trim), Configs.TrimDelay); Tools.DelayDoUnique(trim, () => ResetTrim(trim), Configs.TrimDelay.Value);
} }
} }
} }
+12 -4
View File
@@ -1,4 +1,5 @@
using VoidManager.CustomGUI; using UnityEngine;
using VoidManager.CustomGUI;
using VoidManager.Utilities; using VoidManager.Utilities;
namespace AutomaticShipSystems namespace AutomaticShipSystems
@@ -9,9 +10,16 @@ namespace AutomaticShipSystems
public override void Draw() public override void Draw()
{ {
GUITools.DrawCheckbox("Circuit Breakers", ref Configs.CircuitBreakerConfig); GUILayout.Label("Timers in MS. 1000 is equal to 1 second.\n");
GUITools.DrawCheckbox("Thruster Boosters", ref Configs.ThrusterBoosterConfig);
GUITools.DrawCheckbox("Trims", ref Configs.TrimConfig); GUITools.DrawCheckbox("Auto Circuit Breakers Enabled", ref Configs.CircuitBreakerConfig);
GUITools.DrawTextField("Circut Breaker Timer", ref Configs.CircuitBreakerDelay);
GUILayout.Label(string.Empty);
GUITools.DrawCheckbox("Auto Thruster Boosters Enabled", ref Configs.ThrusterBoosterConfig);
GUITools.DrawTextField("Thruster Booster Timer", ref Configs.ThrusterBoosterDelay);
GUILayout.Label(string.Empty);
GUITools.DrawCheckbox("Auto Trims Enabled", ref Configs.TrimConfig);
GUITools.DrawTextField("Trim Timer", ref Configs.TrimDelay);
} }
} }
} }
+3 -3
View File
@@ -7,11 +7,11 @@ namespace AutomaticShipSystems
public const string PLUGIN_GUID = $"{PLUGIN_ORIGINAL_AUTHOR}.{PLUGIN_NAME}"; public const string PLUGIN_GUID = $"{PLUGIN_ORIGINAL_AUTHOR}.{PLUGIN_NAME}";
public const string PLUGIN_NAME = "AutomaticShipSystems"; public const string PLUGIN_NAME = "AutomaticShipSystems";
public const string USERS_PLUGIN_NAME = "Automatic Ship Systems"; public const string USERS_PLUGIN_NAME = "Automatic Ship Systems";
public const string PLUGIN_VERSION = "0.0.1"; public const string PLUGIN_VERSION = "0.0.3";
public const string PLUGIN_DESCRIPTION = "Makes circuit breakers, thruster boosters, and trims self reset. Disables Progression."; public const string PLUGIN_DESCRIPTION = "Makes circuit breakers, thruster boosters, and trims self reset. Disables Progression.";
public const string PLUGIN_ORIGINAL_AUTHOR = "18107"; public const string PLUGIN_ORIGINAL_AUTHOR = "18107";
public const string PLUGIN_AUTHORS = "18107"; public const string PLUGIN_AUTHORS = "18107, Dragon";
public const string PLUGIN_THUNDERSTORE_ID = "VoidCrewModdingTeam/Automatic_Ship_Systems"; public const string PLUGIN_THUNDERSTORE_ID = "NihilityShift/Automatic_Ship_Systems";
} }
} }
#pragma warning restore CS1591 #pragma warning restore CS1591
+2 -2
View File
@@ -25,7 +25,7 @@ namespace AutomaticShipSystems
if (!isOn && Configs.CircuitBreakerConfig.Value) if (!isOn && Configs.CircuitBreakerConfig.Value)
{ {
Tools.DelayDoUnique(__instance, () => ResetCircuitBreakers(__instance), Configs.CircuitBreakerDelay); Tools.DelayDoUnique(__instance, () => ResetCircuitBreakers(__instance), Configs.CircuitBreakerDelay.Value);
} }
} }
@@ -49,7 +49,7 @@ namespace AutomaticShipSystems
{ {
if (!powerBreaker.IsOn.Value) if (!powerBreaker.IsOn.Value)
{ {
Tools.DelayDoUnique(powerBreaker, () => powerBreaker.IsOn.RequestChange(true), Configs.CircuitBreakerDelay); Tools.DelayDoUnique(powerBreaker, () => powerBreaker.IsOn.RequestChange(true), Configs.CircuitBreakerDelay.Value);
} }
} }
} }
@@ -1,3 +1,9 @@
## 0.0.3
- Updated for Void Crew 1.1.1
## 0.0.2
- Added config for timer duration.
## 0.0.1 ## 0.0.1
- Updated for Void Crew 0.27.0 (Update 5). - Updated for Void Crew 0.27.0 (Update 5).
- Disables Progression when starting a session as host. - Disables Progression when starting a session as host.
@@ -12,10 +12,10 @@ UserPluginName=Automatic Ship Systems
ThunderstorePluginName=Automatic_Ship_Systems ThunderstorePluginName=Automatic_Ship_Systems
; The current version of the mod. Used for File Version, BepinPlugin, Thunderstore manifest, and README. ; The current version of the mod. Used for File Version, BepinPlugin, Thunderstore manifest, and README.
PluginVersion=0.0.1 PluginVersion=0.0.3
; Version of the game this mod is built for. Used for README ; Version of the game this mod is built for. Used for README
GameVersion=0.27.0 GameVersion=1.1.1
; The simple description of the mod, used for MyPluginInfo.cs, Thunderstore manifest, and Assembly descriptions. Must be less than 250 Characters. ; The simple description of the mod, used for MyPluginInfo.cs, Thunderstore manifest, and Assembly descriptions. Must be less than 250 Characters.
PluginDescription=Makes circuit breakers, thruster boosters, and trims self reset. Disables Progression. PluginDescription=Makes circuit breakers, thruster boosters, and trims self reset. Disables Progression.
@@ -24,16 +24,16 @@ PluginDescription=Makes circuit breakers, thruster boosters, and trims self rese
PluginOriginalAuthor=18107 PluginOriginalAuthor=18107
; The various authors/editors of the mod, used for MyPluginInfo.cs. Leave blank to Auto-Fill from PluginOrignalAuthor ; The various authors/editors of the mod, used for MyPluginInfo.cs. Leave blank to Auto-Fill from PluginOrignalAuthor
PluginAuthors= PluginAuthors=18107, Dragon
; WebpageLink - Used by manifest for thunderstore page. Can be left blank. ; WebpageLink - Used by manifest for thunderstore page. Can be left blank.
WebpageLink=https://github.com/Void-Crew-Modding-Team/AutomaticShipSystems WebpageLink=https://github.com/Nihility-Shift/AutomaticShipSystems
; ThunderStore ID (https://thunderstore.io/c/void-crew/p/VoidCrewModdingTeam/VoidManager/ the section equivelant to 'VoidCrewModdingTeam/VoidManager'). Can be left blank, may be utilized by VoidManager for a future feature. ; ThunderStore ID (https://thunderstore.io/c/void-crew/p/NihilityShift/VoidManager/ the section equivelant to 'NihilityShift/VoidManager'). Can be left blank, may be utilized by VoidManager for a future feature.
ThunderstoreID=VoidCrewModdingTeam/Automatic_Ship_Systems ThunderstoreID=NihilityShift/Automatic_Ship_Systems
; Dependency Strings - Comma delineated, spacing or no spacing is okay. Used for README and manifest. ; Dependency Strings - Comma delineated, spacing or no spacing is okay. Used for README and manifest.
DependencyStrings= BepInEx-BepInExPack-5.4.2100, VoidCrewModdingTeam-VoidManager-1.2.2 DependencyStrings= BepInEx-BepInExPack-5.4.2100, NihilityShift-VoidManager-1.2.8
; PreBuild Execution Params ; PreBuild Execution Params
@@ -49,4 +49,4 @@ ChangelogError=true
ProjectReadmeOutPath=SolutionDir ProjectReadmeOutPath=SolutionDir
; Output a zip after building. ; Output a zip after building.
ZipOutput=true ZipOutput=true
@@ -1,4 +1,4 @@
[![](https://img.shields.io/badge/-Void_Crew_Modding_Team-111111?style=just-the-label&logo=github&labelColor=24292f)](https://github.com/Void-Crew-Modding-Team) [![](https://img.shields.io/badge/-Nihility_Shift-111111?style=just-the-label&logo=github&labelColor=24292f)](https://github.com/Nihility-Shift)
![](https://img.shields.io/badge/Game%20Version-[GameVersion]-111111?style=flat&labelColor=24292f&color=111111) ![](https://img.shields.io/badge/Game%20Version-[GameVersion]-111111?style=flat&labelColor=24292f&color=111111)
[![](https://img.shields.io/discord/1180651062550593536.svg?&logo=discord&logoColor=ffffff&style=flat&label=Discord&labelColor=24292f&color=111111)](https://discord.gg/g2u5wpbMGu "Void Crew Modding Discord") [![](https://img.shields.io/discord/1180651062550593536.svg?&logo=discord&logoColor=ffffff&style=flat&label=Discord&labelColor=24292f&color=111111)](https://discord.gg/g2u5wpbMGu "Void Crew Modding Discord")
@@ -20,7 +20,7 @@ Intended for solo players.
- Automatically fixes trims after 5 minutes of being inactive - Automatically fixes trims after 5 minutes of being inactive
- Automatically fixes circuit breakers after 30 seconds of being tripped - Automatically fixes circuit breakers after 30 seconds of being tripped
- Automatcally charges boosts 1 minute after fully discharged. - Automatcally charges boosts 1 minute after fully discharged.
- GUI to disable features - GUI to configure features
- Disables progression when starting a session as host. - Disables progression when starting a session as host.
### 🎮 Client Usage ### 🎮 Client Usage
@@ -40,8 +40,8 @@ Intended for solo players.
## 🔧 Install Instructions - **Install following the normal BepInEx procedure.** ## 🔧 Install Instructions - **Install following the normal BepInEx procedure.**
Ensure that you have [BepInEx 5](https://thunderstore.io/c/void-crew/p/BepInEx/BepInExPack/) (stable version 5 **MONO**) and [VoidManager](https://thunderstore.io/c/void-crew/p/VoidCrewModdingTeam/VoidManager/) installed. Ensure that you have [BepInEx 5](https://thunderstore.io/c/void-crew/p/BepInEx/BepInExPack/) (stable version 5 **MONO**) and [VoidManager](https://thunderstore.io/c/void-crew/p/NihilityShift/VoidManager/) installed.
#### ✔️ Mod installation - **Unzip the contents into the BepInEx plugin directory** #### ✔️ Mod installation - **Unzip the contents into the BepInEx plugin directory**
Drag and drop `[ModName].dll` into `Void Crew\BepInEx\plugins` Drag and drop `[ModName].dll` into `Void Crew\BepInEx\plugins`
+2 -2
View File
@@ -29,7 +29,7 @@ namespace AutomaticShipSystems
if (state == ThrusterBoosterState.Off && Configs.ThrusterBoosterConfig.Value) if (state == ThrusterBoosterState.Off && Configs.ThrusterBoosterConfig.Value)
{ {
Tools.DelayDoUnique(__instance, () => ChargeThrusterBooster(__instance), Configs.ThrusterBoosterDelay); Tools.DelayDoUnique(__instance, () => ChargeThrusterBooster(__instance), Configs.ThrusterBoosterDelay.Value);
} }
} }
@@ -56,7 +56,7 @@ namespace AutomaticShipSystems
{ {
if (booster.State == ThrusterBoosterState.Off) if (booster.State == ThrusterBoosterState.Off)
{ {
Tools.DelayDoUnique(booster, () => ChargeThrusterBooster(booster), Configs.ThrusterBoosterDelay); Tools.DelayDoUnique(booster, () => ChargeThrusterBooster(booster), Configs.ThrusterBoosterDelay.Value);
} }
} }
} }
+8 -8
View File
@@ -1,13 +1,13 @@
[![](https://img.shields.io/badge/-Void_Crew_Modding_Team-111111?style=just-the-label&logo=github&labelColor=24292f)](https://github.com/Void-Crew-Modding-Team) [![](https://img.shields.io/badge/-Nihility_Shift-111111?style=just-the-label&logo=github&labelColor=24292f)](https://github.com/Nihility-Shift)
![](https://img.shields.io/badge/Game%20Version-0.27.0-111111?style=flat&labelColor=24292f&color=111111) ![](https://img.shields.io/badge/Game%20Version-1.1.1-111111?style=flat&labelColor=24292f&color=111111)
[![](https://img.shields.io/discord/1180651062550593536.svg?&logo=discord&logoColor=ffffff&style=flat&label=Discord&labelColor=24292f&color=111111)](https://discord.gg/g2u5wpbMGu "Void Crew Modding Discord") [![](https://img.shields.io/discord/1180651062550593536.svg?&logo=discord&logoColor=ffffff&style=flat&label=Discord&labelColor=24292f&color=111111)](https://discord.gg/g2u5wpbMGu "Void Crew Modding Discord")
# Automatic Ship Systems # Automatic Ship Systems
Version 0.0.1 Version 0.0.3
For Game Version 0.27.0 For Game Version 1.1.1
Developed by 18107 Developed by 18107, Dragon
Requires: BepInEx-BepInExPack-5.4.2100, VoidCrewModdingTeam-VoidManager-1.2.2 Requires: BepInEx-BepInExPack-5.4.2100, NihilityShift-VoidManager-1.2.8
Makes circuit breakers, thruster boosters, and trims self reset. Disables Progression. Makes circuit breakers, thruster boosters, and trims self reset. Disables Progression.
@@ -20,7 +20,7 @@ Intended for solo players.
- Automatically fixes trims after 5 minutes of being inactive - Automatically fixes trims after 5 minutes of being inactive
- Automatically fixes circuit breakers after 30 seconds of being tripped - Automatically fixes circuit breakers after 30 seconds of being tripped
- Automatcally charges boosts 1 minute after fully discharged. - Automatcally charges boosts 1 minute after fully discharged.
- GUI to disable features - GUI to configure features
- Disables progression when starting a session as host. - Disables progression when starting a session as host.
### 🎮 Client Usage ### 🎮 Client Usage
@@ -40,7 +40,7 @@ Intended for solo players.
## 🔧 Install Instructions - **Install following the normal BepInEx procedure.** ## 🔧 Install Instructions - **Install following the normal BepInEx procedure.**
Ensure that you have [BepInEx 5](https://thunderstore.io/c/void-crew/p/BepInEx/BepInExPack/) (stable version 5 **MONO**) and [VoidManager](https://thunderstore.io/c/void-crew/p/VoidCrewModdingTeam/VoidManager/) installed. Ensure that you have [BepInEx 5](https://thunderstore.io/c/void-crew/p/BepInEx/BepInExPack/) (stable version 5 **MONO**) and [VoidManager](https://thunderstore.io/c/void-crew/p/NihilityShift/VoidManager/) installed.
#### ✔️ Mod installation - **Unzip the contents into the BepInEx plugin directory** #### ✔️ Mod installation - **Unzip the contents into the BepInEx plugin directory**