Bonelab mods are targeting MelonLoader version 0.5.7. Newer versions will not work!, so double-check your MelonLoader version if you're having issues.
Decompiled source of ReloadGunsFlatscreen v1.0.0
Reload Gun -callmequit/Mods/Reload.dll
Decompiled 2 months agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using MelonLoader; using ReloadGuns; using SLZ.Interaction; using SLZ.Props.Weapons; using UnhollowerBaseLib; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: MelonInfo(typeof(global::ReloadGuns.ReloadGuns), "Test Mod", "1.0.0", "callmequit", null)] [assembly: MelonGame("Stress Level Zero", "BONELAB")] [assembly: AssemblyTitle("MyMod")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("MyMod")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("d3cf064d-ad75-4bae-89d1-48440d35ebcd")] [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 ReloadGuns; public class ReloadGuns : MelonMod { private GameObject lHand; private GameObject rHand; private InventorySlot leftInventorySlot; private InventorySlot rightInventorySlot; private string leftShoulderSlot = "slot_target 05"; private string rightShoulderSlot = "slot_target 06"; private string leftHipSlot = "slot_target 01"; private string rightHipSlot = "slot_target 08"; private string backSlot = "slot_target 07"; public override void OnSceneWasLoaded(int buildIndex, string sceneName) { GameObject[] array = Il2CppArrayBase<GameObject>.op_Implicit(Object.FindObjectsOfType<GameObject>()); MelonLogger.Msg("Starting search for player hands..."); GameObject[] array2 = array; foreach (GameObject val in array2) { if (((Object)val).name == "Hand (left)" && val.layer == LayerMask.NameToLayer("Player")) { lHand = val; leftInventorySlot = lHand.GetComponent<InventorySlot>(); MelonLogger.Msg("Defined Left Hand."); } if (((Object)val).name == "Hand (right)" && val.layer == LayerMask.NameToLayer("Player")) { rHand = val; rightInventorySlot = rHand.GetComponent<InventorySlot>(); MelonLogger.Msg("Defined Right Hand."); } } } public override void OnUpdate() { Cursor.visible = true; if (!Input.GetKeyDown((KeyCode)103)) { return; } try { if ((Object)(object)leftInventorySlot.itemGameObject != (Object)null && (Object)(object)leftInventorySlot.itemGameObject.GetComponent<Gun>() != (Object)null) { Gun component = leftInventorySlot.itemGameObject.GetComponent<Gun>(); component.InstantLoad(); component.CompleteSlidePull(); component.CompleteSlideReturn(); component.CompleteSlidePull(); component.CompleteSlideReturn(); } if ((Object)(object)rightInventorySlot.itemGameObject != (Object)null && (Object)(object)rightInventorySlot.itemGameObject.GetComponent<Gun>() != (Object)null) { Gun component2 = rightInventorySlot.itemGameObject.GetComponent<Gun>(); component2.InstantLoad(); component2.CompleteSlidePull(); component2.CompleteSlideReturn(); component2.CompleteSlidePull(); component2.CompleteSlideReturn(); } } catch { MelonLogger.Msg("Could not reload gun."); } } }