Decompiled source of CloserStations v1.0.0
CloserStations.dll
Decompiled a day agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using DysonSphereMods.Shared; using HarmonyLib; using Microsoft.CodeAnalysis; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("Valoneu")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyDescription("Allows placing logistics stations closer together.")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+2d45d9837822a5d0885a9cf6f2b0ba179facf5da")] [assembly: AssemblyProduct("DysonSphereMods")] [assembly: AssemblyTitle("CloserStations")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace CloserStations { [BepInPlugin("com.Valoneu.CloserStations", "CloserStations", "1.0.0")] [BepInProcess("DSPGAME.exe")] public class CloserStationsPlugin : BaseUnityPlugin { public static class CloserStationsPatch { [HarmonyPatch(typeof(BuildTool_Click), "CheckBuildConditions")] [HarmonyTranspiler] public static IEnumerable<CodeInstruction> Click_Transpiler(IEnumerable<CodeInstruction> instructions) { List<CodeInstruction> list = new List<CodeInstruction>(instructions); float value = DistanceMultiplier.Value; float num = value * value; for (int i = 0; i < list.Count; i++) { if (list[i].opcode == OpCodes.Ldc_R4) { float num2 = (float)list[i].operand; if (num2 == 225f || num2 == 625f || num2 == 841f || num2 == 14297f) { list[i].operand = num2 * num; } } } return list; } [HarmonyPatch(typeof(BuildTool_BlueprintPaste), "CheckBuildConditions")] [HarmonyTranspiler] public static IEnumerable<CodeInstruction> Blueprint_Transpiler(IEnumerable<CodeInstruction> instructions) { List<CodeInstruction> list = new List<CodeInstruction>(instructions); float value = DistanceMultiplier.Value; float num = value * value; for (int i = 0; i < list.Count; i++) { if (list[i].opcode == OpCodes.Ldc_R4) { float num2 = (float)list[i].operand; if (num2 == 225f || num2 == 625f || num2 == 841f || num2 == 14297f) { list[i].operand = num2 * num; } } } return list; } } public const string GUID = "com.Valoneu.CloserStations"; public const string NAME = "CloserStations"; public const string VERSION = "1.0.0"; public static ConfigEntry<float> DistanceMultiplier; private void Awake() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) DistanceMultiplier = ((BaseUnityPlugin)this).Config.Bind<float>("General", "DistanceMultiplier", 0.75f, "Multiplier for the minimum distance between logistics stations. Default is 0.75."); Log.Init(((BaseUnityPlugin)this).Logger); new Harmony("com.Valoneu.CloserStations").PatchAll(typeof(CloserStationsPatch)); ((BaseUnityPlugin)this).Logger.LogInfo((object)"CloserStations v1.0.0 loaded!"); } } public static class MyPluginInfo { public const string PLUGIN_GUID = "com.Valoneu.CloserStations"; public const string PLUGIN_NAME = "CloserStations"; public const string PLUGIN_VERSION = "1.0.0"; } }
Shared.dll
Decompiled a day agousing System; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx.Logging; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("Valoneu")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyDescription("Shared utilities for Dyson Sphere Program mods")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+2d45d9837822a5d0885a9cf6f2b0ba179facf5da")] [assembly: AssemblyProduct("DysonSphereMods")] [assembly: AssemblyTitle("Shared")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace DysonSphereMods.Shared { public static class Log { private static ManualLogSource _logger; public static void Init(ManualLogSource logger) { _logger = logger; } public static void Debug(object data) { ManualLogSource logger = _logger; if (logger != null) { logger.LogDebug(data); } } public static void Info(object data) { ManualLogSource logger = _logger; if (logger != null) { logger.LogInfo(data); } } public static void Warning(object data) { ManualLogSource logger = _logger; if (logger != null) { logger.LogWarning(data); } } public static void Error(object data) { ManualLogSource logger = _logger; if (logger != null) { logger.LogError(data); } } public static void Fatal(object data) { ManualLogSource logger = _logger; if (logger != null) { logger.LogFatal(data); } } public static void Message(object data) { ManualLogSource logger = _logger; if (logger != null) { logger.LogMessage(data); } } public static void LogOnce(string msg, ref bool flag, params object[] args) { if (flag) { return; } flag = true; try { string[] array = ((args == null) ? Array.Empty<string>() : args.Select((object arg) => (arg != null) ? ((!(arg is int) && !(arg is string) && !arg.GetType().IsPrimitive) ? JsonUtility.ToJson(arg) : arg.ToString()) : "null").ToArray()); object[] args2 = array; Info(string.Format(msg, args2)); } catch (Exception arg2) { Warning($"LogOnce failed to format message: {msg}. Exception: {arg2}"); } } } public static class MyPluginInfo { public const string PLUGIN_GUID = "Shared"; public const string PLUGIN_NAME = "DysonSphereMods"; public const string PLUGIN_VERSION = "1.0.0"; } }
StationDistance.dll
Decompiled a day agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using DysonSphereMods.Shared; using HarmonyLib; using Microsoft.CodeAnalysis; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("Valoneu")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyDescription("Allows placing logistics stations closer together.")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+2d45d9837822a5d0885a9cf6f2b0ba179facf5da")] [assembly: AssemblyProduct("DysonSphereMods")] [assembly: AssemblyTitle("StationDistance")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace StationDistance { [BepInPlugin("com.Valoneu.StationDistance", "StationDistance", "1.0.0")] [BepInProcess("DSPGAME.exe")] public class StationDistancePlugin : BaseUnityPlugin { public static class StationDistancePatch { [HarmonyPatch(typeof(BuildTool_Click), "CheckBuildConditions")] [HarmonyTranspiler] public static IEnumerable<CodeInstruction> Click_Transpiler(IEnumerable<CodeInstruction> instructions) { List<CodeInstruction> list = new List<CodeInstruction>(instructions); float value = DistanceMultiplier.Value; float num = value * value; for (int i = 0; i < list.Count; i++) { if (list[i].opcode == OpCodes.Ldc_R4) { float num2 = (float)list[i].operand; if (num2 == 225f || num2 == 625f || num2 == 841f || num2 == 14297f) { list[i].operand = num2 * num; } } } return list; } [HarmonyPatch(typeof(BuildTool_BlueprintPaste), "CheckBuildConditions")] [HarmonyTranspiler] public static IEnumerable<CodeInstruction> Blueprint_Transpiler(IEnumerable<CodeInstruction> instructions) { List<CodeInstruction> list = new List<CodeInstruction>(instructions); float value = DistanceMultiplier.Value; float num = value * value; for (int i = 0; i < list.Count; i++) { if (list[i].opcode == OpCodes.Ldc_R4) { float num2 = (float)list[i].operand; if (num2 == 225f || num2 == 625f || num2 == 841f || num2 == 14297f) { list[i].operand = num2 * num; } } } return list; } } public const string GUID = "com.Valoneu.StationDistance"; public const string NAME = "StationDistance"; public const string VERSION = "1.0.0"; public static ConfigEntry<float> DistanceMultiplier; private void Awake() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) DistanceMultiplier = ((BaseUnityPlugin)this).Config.Bind<float>("General", "DistanceMultiplier", 0.75f, "Multiplier for the minimum distance between logistics stations. Default is 0.75."); Log.Init(((BaseUnityPlugin)this).Logger); new Harmony("com.Valoneu.StationDistance").PatchAll(typeof(StationDistancePatch)); ((BaseUnityPlugin)this).Logger.LogInfo((object)"StationDistance v1.0.0 loaded!"); } } public static class MyPluginInfo { public const string PLUGIN_GUID = "com.Valoneu.StationDistance"; public const string PLUGIN_NAME = "StationDistance"; public const string PLUGIN_VERSION = "1.0.0"; } }