Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of HideCurrentPlanetInfo v0.0.2
HideCurrentPlanetInfo.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using HideCurrentPlanetInfo.NetcodePatcher; using HideCurrentPlanetInfo.Patches; using Microsoft.CodeAnalysis; using MrovLib; using MrovLib.Events; using TMPro; using UnityEngine; using WeatherRegistry; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("AmazingAssets.TerrainToMesh")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp-firstpass")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("ClientNetworkTransform")] [assembly: IgnoresAccessChecksTo("DissonanceVoip")] [assembly: IgnoresAccessChecksTo("Facepunch Transport for Netcode for GameObjects")] [assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")] [assembly: IgnoresAccessChecksTo("Unity.AI.Navigation")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging.DocCodeExamples")] [assembly: IgnoresAccessChecksTo("Unity.Burst")] [assembly: IgnoresAccessChecksTo("Unity.Burst.Unsafe")] [assembly: IgnoresAccessChecksTo("Unity.Collections")] [assembly: IgnoresAccessChecksTo("Unity.Collections.LowLevel.ILSupport")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem.ForUI")] [assembly: IgnoresAccessChecksTo("Unity.Jobs")] [assembly: IgnoresAccessChecksTo("Unity.Mathematics")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.Common")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.MetricTypes")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStats")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Component")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Implementation")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsReporting")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkProfiler.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkSolutionInterface")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Components")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Networking.Transport")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Csg")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.KdTree")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Poly2Tri")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Stl")] [assembly: IgnoresAccessChecksTo("Unity.Profiling.Core")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.ShaderLibrary")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Config.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary")] [assembly: IgnoresAccessChecksTo("Unity.Services.Authentication")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Analytics")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Device")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Networking")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Registration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Scheduler")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Telemetry")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Threading")] [assembly: IgnoresAccessChecksTo("Unity.Services.QoS")] [assembly: IgnoresAccessChecksTo("Unity.Services.Relay")] [assembly: IgnoresAccessChecksTo("Unity.TextMeshPro")] [assembly: IgnoresAccessChecksTo("Unity.Timeline")] [assembly: IgnoresAccessChecksTo("Unity.VisualEffectGraph.Runtime")] [assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UI")] [assembly: IgnoresAccessChecksTo("WeatherRegistry")] [assembly: AssemblyCompany("HideCurrentPlanetInfo")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("Hide current planet's info from the ship screen")] [assembly: AssemblyFileVersion("0.0.2.0")] [assembly: AssemblyInformationalVersion("0.0.2+b41c83ef89b288e68226f140d41170daea9b4d1b")] [assembly: AssemblyProduct("HideCurrentPlanetInfo")] [assembly: AssemblyTitle("HideCurrentPlanetInfo")] [assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/AndreyMrovol/LethalHideCurrentPlanetInfo")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: NetcodePatchedAssembly] internal class <Module> { static <Module>() { } } 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 HideCurrentPlanetInfo { public class ConfigManager { public static ConfigFile configFile; public static ConfigManager Instance { get; internal set; } public static ConfigEntry<bool> HiddenMoon { get; private set; } public static ConfigEntry<bool> HiddenWeather { get; private set; } public static ConfigEntry<bool> HiddenMoonInfo { get; private set; } public static void Init(ConfigFile config) { Instance = new ConfigManager(config); HiddenMoon = configFile.Bind<bool>("General", "HiddenMoon", true, "Hide the moon from the ship screen."); HiddenWeather = configFile.Bind<bool>("General", "HiddenWeather", true, "Hide the weather from the ship screen."); HiddenMoonInfo = configFile.Bind<bool>("General", "HiddenMoonInfo", true, "Hide the moon info from the ship screen."); } public ConfigManager(ConfigFile config) { configFile = config; } } [BepInPlugin("HideCurrentPlanetInfo", "HideCurrentPlanetInfo", "0.0.2")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { internal static Logger logger = new Logger("HideCurrentPlanetInfo", (ConfigEntry<bool>)null); internal static Harmony harmony = new Harmony("HideCurrentPlanetInfo"); private void Awake() { harmony.PatchAll(); ConfigManager.Init(((BaseUnityPlugin)this).Config); ((CustomEvent<(SelectableLevel, Weather, string)>)(object)EventManager.MapScreenUpdated).AddListener((ParameterEvent<(SelectableLevel, Weather, string)>)delegate((SelectableLevel level, Weather weather, string screenText) data) { ShipScreenPatch.ScreenUpdatePatch(data.level, data.weather, data.screenText); }); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin HideCurrentPlanetInfo is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "HideCurrentPlanetInfo"; public const string PLUGIN_NAME = "HideCurrentPlanetInfo"; public const string PLUGIN_VERSION = "0.0.2"; } } namespace HideCurrentPlanetInfo.Patches { internal class ShipScreenPatch { internal static void ScreenUpdatePatch(SelectableLevel level, Weather weather, string screenText) { //IL_002e: Unknown result type (might be due to invalid IL or missing references) string text = screenText; Regex regex = new Regex("(?<=^(?!ORBITING|WEATHER)[A-Z]+\\:\\ ).+$", RegexOptions.Multiline); Color val = default(Color); ((Color)(ref val))..ctor(0.6f, 0.3f, 0.4f, 1f); string replacement = "<color=#" + ColorUtility.ToHtmlStringRGB(val) + ">[REDACTED]</color>"; MatchCollection matchCollection = regex.Matches(screenText); Plugin.logger.LogWarning((object)$"Match count: {matchCollection.Count}"); foreach (Match item in matchCollection) { Plugin.logger.LogInfo((object)("Match: " + item.Value)); Plugin.logger.LogDebug((object)$"{ConfigManager.HiddenMoonInfo.Value}"); if (ConfigManager.HiddenMoonInfo.Value) { text = regex.Replace(text, replacement); } } if (ConfigManager.HiddenMoon.Value) { text = new Regex("(?<=ORBITING\\:\\ ).+$", RegexOptions.Multiline).Replace(text, replacement); } if (ConfigManager.HiddenWeather.Value) { text = new Regex("(?<=WEATHER\\:\\ ).+$", RegexOptions.Multiline).Replace(text, replacement); } Plugin.logger.LogWarning((object)("Screen text:\n" + screenText + "\n->\n" + text + "\n")); ((TMP_Text)StartOfRound.Instance.screenLevelDescription).text = text; } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } } namespace HideCurrentPlanetInfo.NetcodePatcher { [AttributeUsage(AttributeTargets.Module)] internal class NetcodePatchedAssemblyAttribute : Attribute { } }