using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using Il2CppInterop.Runtime.InteropTypes.Arrays; using Il2CppSLZ.Marrow; using MelonLoader; using NoDestructibleFragments; 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(FragRemover), "No Destructible Fragments", "1.0.0", "AMOAM", null)] [assembly: MelonGame("Stress Level Zero", "BONELAB")] [assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] [assembly: AssemblyCompany("NoDestructibleFragments")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("NoDestructibleFragments")] [assembly: AssemblyTitle("NoDestructibleFragments")] [assembly: AssemblyVersion("1.0.0.0")] namespace NoDestructibleFragments; public class FragRemover : MelonMod { private float removeInterval = 0f; public override void OnFixedUpdate() { removeInterval = Mathf.Max(0f, removeInterval - Time.fixedUnscaledDeltaTime); if (!(removeInterval <= 0f)) { return; } removeInterval = 1f; foreach (ObjectDestructible item in Object.FindObjectsOfType()) { item.CustomFragmentObjects = new Il2CppReferenceArray(0L); item.spawnFragments = new Il2CppReferenceArray(0L); } } }