Please disclose if your mod was created primarily 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 True Darkness client v1.0.2
TrueDarknessClient.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 BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using Friskzips.clientPatch; using Friskzips.configStuff; using Friskzips.service; using GameNetcodeStuff; using HarmonyLib; using LethalConfig; using LethalConfig.ConfigItems; using LethalConfig.ConfigItems.Options; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("0Harmony")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("BepInEx")] [assembly: IgnoresAccessChecksTo("LCOffice")] [assembly: IgnoresAccessChecksTo("LethalConfig")] [assembly: IgnoresAccessChecksTo("Microsoft.Win32.Primitives")] [assembly: IgnoresAccessChecksTo("Mono.Cecil")] [assembly: IgnoresAccessChecksTo("Mono.Cecil.Mdb")] [assembly: IgnoresAccessChecksTo("Mono.Cecil.Pdb")] [assembly: IgnoresAccessChecksTo("Mono.Cecil.Rocks")] [assembly: IgnoresAccessChecksTo("MonoMod.RuntimeDetour")] [assembly: IgnoresAccessChecksTo("MonoMod.Utils")] [assembly: IgnoresAccessChecksTo("mscorlib")] [assembly: IgnoresAccessChecksTo("netstandard")] [assembly: IgnoresAccessChecksTo("System.AppContext")] [assembly: IgnoresAccessChecksTo("System.Buffers")] [assembly: IgnoresAccessChecksTo("System.Collections.Concurrent")] [assembly: IgnoresAccessChecksTo("System.Collections")] [assembly: IgnoresAccessChecksTo("System.Collections.NonGeneric")] [assembly: IgnoresAccessChecksTo("System.Collections.Specialized")] [assembly: IgnoresAccessChecksTo("System.ComponentModel.Composition")] [assembly: IgnoresAccessChecksTo("System.ComponentModel")] [assembly: IgnoresAccessChecksTo("System.ComponentModel.EventBasedAsync")] [assembly: IgnoresAccessChecksTo("System.ComponentModel.Primitives")] [assembly: IgnoresAccessChecksTo("System.ComponentModel.TypeConverter")] [assembly: IgnoresAccessChecksTo("System.Console")] [assembly: IgnoresAccessChecksTo("System.Core")] [assembly: IgnoresAccessChecksTo("System.Data.Common")] [assembly: IgnoresAccessChecksTo("System.Data")] [assembly: IgnoresAccessChecksTo("System.Diagnostics.Contracts")] [assembly: IgnoresAccessChecksTo("System.Diagnostics.Debug")] [assembly: IgnoresAccessChecksTo("System.Diagnostics.FileVersionInfo")] [assembly: IgnoresAccessChecksTo("System.Diagnostics.Process")] [assembly: IgnoresAccessChecksTo("System.Diagnostics.StackTrace")] [assembly: IgnoresAccessChecksTo("System.Diagnostics.TextWriterTraceListener")] [assembly: IgnoresAccessChecksTo("System.Diagnostics.Tools")] [assembly: IgnoresAccessChecksTo("System.Diagnostics.TraceSource")] [assembly: IgnoresAccessChecksTo("System.Diagnostics.Tracing")] [assembly: IgnoresAccessChecksTo("System")] [assembly: IgnoresAccessChecksTo("System.Drawing")] [assembly: IgnoresAccessChecksTo("System.Drawing.Primitives")] [assembly: IgnoresAccessChecksTo("System.Dynamic.Runtime")] [assembly: IgnoresAccessChecksTo("System.Globalization.Calendars")] [assembly: IgnoresAccessChecksTo("System.Globalization")] [assembly: IgnoresAccessChecksTo("System.Globalization.Extensions")] [assembly: IgnoresAccessChecksTo("System.IO.Compression")] [assembly: IgnoresAccessChecksTo("System.IO.Compression.FileSystem")] [assembly: IgnoresAccessChecksTo("System.IO.Compression.ZipFile")] [assembly: IgnoresAccessChecksTo("System.IO")] [assembly: IgnoresAccessChecksTo("System.IO.FileSystem")] [assembly: IgnoresAccessChecksTo("System.IO.FileSystem.DriveInfo")] [assembly: IgnoresAccessChecksTo("System.IO.FileSystem.Primitives")] [assembly: IgnoresAccessChecksTo("System.IO.FileSystem.Watcher")] [assembly: IgnoresAccessChecksTo("System.IO.IsolatedStorage")] [assembly: IgnoresAccessChecksTo("System.IO.MemoryMappedFiles")] [assembly: IgnoresAccessChecksTo("System.IO.Pipes")] [assembly: IgnoresAccessChecksTo("System.IO.UnmanagedMemoryStream")] [assembly: IgnoresAccessChecksTo("System.Linq")] [assembly: IgnoresAccessChecksTo("System.Linq.Expressions")] [assembly: IgnoresAccessChecksTo("System.Linq.Parallel")] [assembly: IgnoresAccessChecksTo("System.Linq.Queryable")] [assembly: IgnoresAccessChecksTo("System.Memory")] [assembly: IgnoresAccessChecksTo("System.Net")] [assembly: IgnoresAccessChecksTo("System.Net.Http")] [assembly: IgnoresAccessChecksTo("System.Net.NameResolution")] [assembly: IgnoresAccessChecksTo("System.Net.NetworkInformation")] [assembly: IgnoresAccessChecksTo("System.Net.Ping")] [assembly: IgnoresAccessChecksTo("System.Net.Primitives")] [assembly: IgnoresAccessChecksTo("System.Net.Requests")] [assembly: IgnoresAccessChecksTo("System.Net.Security")] [assembly: IgnoresAccessChecksTo("System.Net.Sockets")] [assembly: IgnoresAccessChecksTo("System.Net.WebHeaderCollection")] [assembly: IgnoresAccessChecksTo("System.Net.WebSockets.Client")] [assembly: IgnoresAccessChecksTo("System.Net.WebSockets")] [assembly: IgnoresAccessChecksTo("System.Numerics")] [assembly: IgnoresAccessChecksTo("System.Numerics.Vectors")] [assembly: IgnoresAccessChecksTo("System.ObjectModel")] [assembly: IgnoresAccessChecksTo("System.Reflection.DispatchProxy")] [assembly: IgnoresAccessChecksTo("System.Reflection")] [assembly: IgnoresAccessChecksTo("System.Reflection.Emit")] [assembly: IgnoresAccessChecksTo("System.Reflection.Emit.ILGeneration")] [assembly: IgnoresAccessChecksTo("System.Reflection.Emit.Lightweight")] [assembly: IgnoresAccessChecksTo("System.Reflection.Extensions")] [assembly: IgnoresAccessChecksTo("System.Reflection.Primitives")] [assembly: IgnoresAccessChecksTo("System.Reflection.TypeExtensions")] [assembly: IgnoresAccessChecksTo("System.Resources.Reader")] [assembly: IgnoresAccessChecksTo("System.Resources.ResourceManager")] [assembly: IgnoresAccessChecksTo("System.Resources.Writer")] [assembly: IgnoresAccessChecksTo("System.Runtime.CompilerServices.VisualC")] [assembly: IgnoresAccessChecksTo("System.Runtime")] [assembly: IgnoresAccessChecksTo("System.Runtime.Extensions")] [assembly: IgnoresAccessChecksTo("System.Runtime.Handles")] [assembly: IgnoresAccessChecksTo("System.Runtime.InteropServices")] [assembly: IgnoresAccessChecksTo("System.Runtime.InteropServices.RuntimeInformation")] [assembly: IgnoresAccessChecksTo("System.Runtime.Numerics")] [assembly: IgnoresAccessChecksTo("System.Runtime.Serialization")] [assembly: IgnoresAccessChecksTo("System.Runtime.Serialization.Formatters")] [assembly: IgnoresAccessChecksTo("System.Runtime.Serialization.Json")] [assembly: IgnoresAccessChecksTo("System.Runtime.Serialization.Primitives")] [assembly: IgnoresAccessChecksTo("System.Runtime.Serialization.Xml")] [assembly: IgnoresAccessChecksTo("System.Security.Claims")] [assembly: IgnoresAccessChecksTo("System.Security.Cryptography.Algorithms")] [assembly: IgnoresAccessChecksTo("System.Security.Cryptography.Csp")] [assembly: IgnoresAccessChecksTo("System.Security.Cryptography.Encoding")] [assembly: IgnoresAccessChecksTo("System.Security.Cryptography.Primitives")] [assembly: IgnoresAccessChecksTo("System.Security.Cryptography.X509Certificates")] [assembly: IgnoresAccessChecksTo("System.Security.Principal")] [assembly: IgnoresAccessChecksTo("System.Security.SecureString")] [assembly: IgnoresAccessChecksTo("System.ServiceModel.Web")] [assembly: IgnoresAccessChecksTo("System.Text.Encoding")] [assembly: IgnoresAccessChecksTo("System.Text.Encoding.Extensions")] [assembly: IgnoresAccessChecksTo("System.Text.RegularExpressions")] [assembly: IgnoresAccessChecksTo("System.Threading")] [assembly: IgnoresAccessChecksTo("System.Threading.Overlapped")] [assembly: IgnoresAccessChecksTo("System.Threading.Tasks")] [assembly: IgnoresAccessChecksTo("System.Threading.Tasks.Extensions")] [assembly: IgnoresAccessChecksTo("System.Threading.Tasks.Parallel")] [assembly: IgnoresAccessChecksTo("System.Threading.Thread")] [assembly: IgnoresAccessChecksTo("System.Threading.ThreadPool")] [assembly: IgnoresAccessChecksTo("System.Threading.Timer")] [assembly: IgnoresAccessChecksTo("System.Transactions")] [assembly: IgnoresAccessChecksTo("System.ValueTuple")] [assembly: IgnoresAccessChecksTo("System.Web")] [assembly: IgnoresAccessChecksTo("System.Windows")] [assembly: IgnoresAccessChecksTo("System.Xml")] [assembly: IgnoresAccessChecksTo("System.Xml.Linq")] [assembly: IgnoresAccessChecksTo("System.Xml.ReaderWriter")] [assembly: IgnoresAccessChecksTo("System.Xml.Serialization")] [assembly: IgnoresAccessChecksTo("System.Xml.XDocument")] [assembly: IgnoresAccessChecksTo("System.Xml.XmlDocument")] [assembly: IgnoresAccessChecksTo("System.Xml.XmlSerializer")] [assembly: IgnoresAccessChecksTo("System.Xml.XPath")] [assembly: IgnoresAccessChecksTo("System.Xml.XPath.XDocument")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Runtime")] [assembly: IgnoresAccessChecksTo("UnityEngine.AccessibilityModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.AIModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.AndroidJNIModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.AnimationModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.AssetBundleModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.AudioModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.ClothModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.ClusterInputModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.ClusterRendererModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.ContentLoadModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.CoreModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.CrashReportingModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.DirectorModule")] [assembly: IgnoresAccessChecksTo("UnityEngine")] [assembly: IgnoresAccessChecksTo("UnityEngine.DSPGraphModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.GameCenterModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.GIModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.GridModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.HotReloadModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.ImageConversionModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.IMGUIModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.InputLegacyModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.InputModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.JSONSerializeModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.LocalizationModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.ParticleSystemModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.PerformanceReportingModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.Physics2DModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.PhysicsModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.ProfilerModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.PropertiesModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.ScreenCaptureModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.SharedInternalsModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.SpriteMaskModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.SpriteShapeModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.StreamingModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.SubstanceModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.SubsystemsModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.TerrainModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.TerrainPhysicsModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.TextCoreFontEngineModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.TextCoreTextEngineModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.TextRenderingModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.TilemapModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.TLSModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UIElementsModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UIModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UmbraModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UnityAnalyticsCommonModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UnityAnalyticsModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UnityConnectModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UnityCurlModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UnityTestProtocolModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UnityWebRequestAssetBundleModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UnityWebRequestAudioModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UnityWebRequestModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UnityWebRequestTextureModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UnityWebRequestWWWModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.VehiclesModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.VFXModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.VideoModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.VirtualTexturingModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.VRModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.WindModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.XRModule")] [assembly: AssemblyCompany("TrueDarknessClient")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.3.0")] [assembly: AssemblyInformationalVersion("1.0.3-alpha.0.2+8b2da66df728d4504593eb40d1802a75a0321995")] [assembly: AssemblyProduct("TrueDarknessClient")] [assembly: AssemblyTitle("TrueDarknessClient")] [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 YourThunderstoreTeam { public static class PluginInfo { public const string PLUGIN_GUID = "TrueDarknessClient"; public const string PLUGIN_NAME = "TrueDarknessClient"; public const string PLUGIN_VERSION = "1.0.0"; } } namespace Friskzips { public class LethalConfigCompatibility { private static bool? _enabled; public static bool enabled { get { if (!_enabled.HasValue) { _enabled = Chainloader.PluginInfos.ContainsKey("ainavt.lc.lethalconfig"); } return _enabled.Value; } } internal static void initLethalConfig() { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Expected O, but got Unknown //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Expected O, but got Unknown //IL_0035: Expected O, but got Unknown //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown ConfigEntry<float> intensity = TrueDarknessClient.Config.Intensity; FloatSliderOptions val = new FloatSliderOptions { RequiresRestart = false }; ((BaseRangeOptions<float>)val).Min = 0f; ((BaseRangeOptions<float>)val).Max = 366.9317f; FloatSliderConfigItem val2 = new FloatSliderConfigItem(intensity, val); LethalConfigManager.AddConfigItem((BaseConfigItem)(object)val2); LethalConfigManager.SetModDescription("Do you want to be on the dark but diversity is too much for your modpack? then this is for you!"); } } [BepInPlugin("Friskzips.TrueDarknessClient", "TrueDarknessClient", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class TrueDarknessClient : BaseUnityPlugin { private readonly Harmony _harmony = new Harmony("Friskzips.TrueDarknessClient"); public FriskzipsService Service; internal static bool nightVision = true; internal static Config Config; public static TrueDarknessClient Instance { get; set; } public static ManualLogSource Log => ((BaseUnityPlugin)Instance).Logger; public TrueDarknessClient() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Expected O, but got Unknown Instance = this; } private void Awake() { Config = new Config(((BaseUnityPlugin)this).Config); Service = new FriskzipsService(); Log.LogInfo((object)"Applying patches..."); ApplyPluginPatch(); Log.LogInfo((object)"Patches applied"); } private void ApplyPluginPatch() { _harmony.PatchAll(typeof(NightVisionOverrideClient)); if (LethalConfigCompatibility.enabled) { Log.LogInfo((object)"LethalConfig found!"); LethalConfigCompatibility.initLethalConfig(); } } } public static class PluginInfo { public const string PLUGIN_GUID = "Friskzips.TrueDarknessClient"; public const string PLUGIN_NAME = "TrueDarknessClient"; public const string PLUGIN_VERSION = "1.0.0"; } } namespace Friskzips.service { public class FriskzipsService { public bool ReturnTrue() { return true; } public bool ReturnFalse() { return false; } } } namespace Friskzips.clientPatch { [HarmonyPatch(typeof(PlayerControllerB))] public class NightVisionOverrideClient { [HarmonyPatch("SetNightVisionEnabled")] [HarmonyPostfix] private static void OnNightVisionEnabled(ref PlayerControllerB __instance) { if (((Behaviour)__instance.nightVision).enabled && TrueDarknessClient.nightVision) { if ((double)TrueDarknessClient.Config.Intensity.Value > 366.9318) { TrueDarknessClient.Log.LogError((object)"Your value is larger than the vanilla one\n"); TrueDarknessClient.Log.LogError((object)"Sorry but i don't like cheating"); TrueDarknessClient.Log.LogError((object)"If you want an higher value use the normal version of the mod"); TrueDarknessClient.Config.Intensity.Value = 366.9317f; } if (TrueDarknessClient.Config.Intensity.Value < 0f) { TrueDarknessClient.Log.LogError((object)"I don't think that this value would work so im setting it to 0\n"); TrueDarknessClient.Config.Intensity.Value = 0f; } __instance.nightVision.intensity = TrueDarknessClient.Config.Intensity.Value; } if (!((Behaviour)__instance.nightVision).enabled && !TrueDarknessClient.nightVision) { TrueDarknessClient.nightVision = true; } } } } namespace Friskzips.configStuff { public class Config { public ConfigEntry<float> Intensity { get; private set; } public Config(ConfigFile cfg) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown //IL_0033: Expected O, but got Unknown Intensity = cfg.Bind<float>(new ConfigDefinition("Night vision", "Intensity"), 0f, new ConfigDescription("The lower the less you see, the higher the more you see.\nVanilla value: 366,9317", (AcceptableValueBase)null, Array.Empty<object>())); } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { internal IgnoresAccessChecksToAttribute(string assemblyName) { } } }