Latest versions of MelonLoader are known to have issues with some games. Use version 0.5.4 until the issue has been fixed!
Decompiled source of NaturalMags v1.0.1
Mods/naturalmags.dll
Decompiled 36 minutes agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using MagRotator; using MelonLoader; using MelonLoader.Preferences; using ModThatIsNotMod; using ModThatIsNotMod.BoneMenu; using StressLevelZero.Interaction; using StressLevelZero.Props.Weapons; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: MelonInfo(typeof(Main), "Natural Mags", "1.0.0", "ffba", null)] [assembly: MelonGame("Stress Level Zero", "BONEWORKS")] [assembly: AssemblyTitle("bwsuperhot")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("HP")] [assembly: AssemblyProduct("bwsuperhot")] [assembly: AssemblyCopyright("Copyright © HP 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("7604d8dd-be8b-40a2-afcc-bcd819fa0362")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace MagRotator; public class Main : MelonMod { private MelonPreferences_Category prefCategory; public MelonPreferences_Entry<float> prefOffsetXDegrees; public MelonPreferences_Entry<float> prefOffsetYDegrees; public MelonPreferences_Entry<float> prefOffsetZDegrees; private Quaternion leftCleanRotation; private Quaternion rightCleanRotation; private bool leftOffsetWasApplied; private bool rightOffsetWasApplied; public override void OnApplicationStart() { //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) prefCategory = MelonPreferences.CreateCategory("TacticalMagGrip"); prefOffsetXDegrees = prefCategory.CreateEntry<float>("OffsetXDegrees", 0f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null); prefOffsetYDegrees = prefCategory.CreateEntry<float>("OffsetYDegrees", 20f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null); prefOffsetZDegrees = prefCategory.CreateEntry<float>("OffsetZDegrees", 35f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null); MenuCategory obj = MenuManager.CreateCategory("Natural Mags", Color.cyan); obj.CreateFloatElement("X Rotation", Color.red, prefOffsetXDegrees.Value, (Action<float>)delegate(float v) { prefOffsetXDegrees.Value = v; prefCategory.SaveToFile(true); }, 5f, -180f, 180f, true); obj.CreateFloatElement("Y Rotation", Color.yellow, prefOffsetYDegrees.Value, (Action<float>)delegate(float v) { prefOffsetYDegrees.Value = v; prefCategory.SaveToFile(true); }, 5f, -180f, 180f, true); obj.CreateFloatElement("Z Rotation", Color.white, prefOffsetZDegrees.Value, (Action<float>)delegate(float v) { prefOffsetZDegrees.Value = v; prefCategory.SaveToFile(true); }, 5f, -180f, 180f, true); } public override void OnUpdate() { //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)Player.GetRigManager() == (Object)null) { return; } if ((Object)(object)Player.leftHand != (Object)null) { if (leftOffsetWasApplied) { Quaternion val = Quaternion.Euler(0f - prefOffsetXDegrees.Value, 0f - prefOffsetYDegrees.Value, 0f - prefOffsetZDegrees.Value); Transform transform = ((Component)Player.leftHand).transform; transform.rotation *= Quaternion.Inverse(val); } leftCleanRotation = ((Component)Player.leftHand).transform.rotation; } if ((Object)(object)Player.rightHand != (Object)null) { if (rightOffsetWasApplied) { Quaternion val2 = Quaternion.Euler(prefOffsetXDegrees.Value, prefOffsetYDegrees.Value, prefOffsetZDegrees.Value); Transform transform2 = ((Component)Player.rightHand).transform; transform2.rotation *= Quaternion.Inverse(val2); } rightCleanRotation = ((Component)Player.rightHand).transform.rotation; } } public override void OnLateUpdate() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)Player.GetRigManager() == (Object)null)) { ProcessHand(Player.leftHand, leftCleanRotation, ref leftOffsetWasApplied, invertOffset: true); ProcessHand(Player.rightHand, rightCleanRotation, ref rightOffsetWasApplied, invertOffset: false); } } private void ProcessHand(Hand hand, Quaternion cleanRotation, ref bool offsetWasApplied, bool invertOffset) { //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)hand == (Object)null)) { if ((Object)(object)Player.GetComponentInHand<Magazine>(hand) != (Object)null) { float num = (invertOffset ? (0f - prefOffsetXDegrees.Value) : prefOffsetXDegrees.Value); float num2 = (invertOffset ? (0f - prefOffsetYDegrees.Value) : prefOffsetYDegrees.Value); float num3 = (invertOffset ? (0f - prefOffsetZDegrees.Value) : prefOffsetZDegrees.Value); Quaternion val = Quaternion.Euler(num, num2, num3); ((Component)hand).transform.rotation = cleanRotation * val; offsetWasApplied = true; } else { ((Component)hand).transform.rotation = cleanRotation; offsetWasApplied = false; } } } }