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 Lightutility v1.0.3
Huluobolightutility.dll
Decompiled a year agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using GameNetcodeStuff; using HarmonyLib; 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(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("0.0.0.0")] namespace huluobolightutility; public class Config { public static ConfigEntry<bool> Usesthedefaultlightposition; public static ConfigEntry<bool> Modifythepositionoftheoriginallights; public Config(ConfigFile cfg) { Usesthedefaultlightposition = cfg.Bind<bool>("global", "Uses the default light position", true, "Uses the default light position?"); Modifythepositionoftheoriginallights = cfg.Bind<bool>("global", "Modify the position of the original lights", false, "Modify the position of the original lights?"); } } [BepInPlugin("hlb.lightutility", "huluobolightutility", "1.0.3")] public class Huluobolightutility : BaseUnityPlugin { private const string GUID = "hlb.lightutility"; private const string Name = "huluobolightutility"; private const string Version = "1.0.3"; private Harmony harmony; private static AssetBundle bundle; private static Transform Lighttransform; public static Config LightutilityConfig { get; internal set; } private void Awake() { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Expected O, but got Unknown string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); bundle = AssetBundle.LoadFromFile(Path.Combine(directoryName, "0lightmod")); LightutilityConfig = new Config(((BaseUnityPlugin)this).Config); harmony = new Harmony("hlb.lightutility"); harmony.PatchAll(typeof(Huluobolightutility)); } [HarmonyPostfix] [HarmonyPatch(typeof(PlayerControllerB), "Awake")] public static void Playerlight(PlayerControllerB __instance) { //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) Lighttransform = ((Component)((Component)__instance.helmetLight).transform.parent).transform; if (Config.Modifythepositionoftheoriginallights.Value) { ((Component)__instance.allHelmetLights[0]).transform.localPosition = new Vector3(0f, 0.545f, 0.791f); ((Component)__instance.allHelmetLights[1]).transform.localPosition = new Vector3(0f, 0.545f, 0.791f); } Light[] array = (Light[])(object)new Light[4] { CreateLight("promaxLight"), CreateLight("EliteFlashlight"), CreateLight("promaxplusLight"), CreateLight("promaxplusultraLight") }; Light[] array2 = (Light[])(object)new Light[__instance.allHelmetLights.Length + array.Length]; Array.Copy(__instance.allHelmetLights, array2, __instance.allHelmetLights.Length); Array.Copy(array, 0, array2, __instance.allHelmetLights.Length, array.Length); __instance.allHelmetLights = array2; } private static Light CreateLight(string obj) { //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) GameObject val = Object.Instantiate<GameObject>(bundle.LoadAsset<GameObject>("Assets/0lightmod/" + obj + ".prefab"), Lighttransform); if (!Config.Usesthedefaultlightposition.Value) { val.transform.localPosition = new Vector3(0f, 0.545f, 0.791f); val.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } else { val.transform.localPosition = new Vector3(0.207f, -0.526f, 0.475f); val.transform.localEulerAngles = new Vector3(0f, -2.391f, 0f); } return val.GetComponent<Light>(); } }