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 ReplaceFishtoyWithBlahaj v1.0.1
LC_Blahaj.dll
Decompiled 2 years agousing System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using HarmonyLib; using LC_Blåhaj.Patches; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("LC_Blåhaj")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("LC_Blåhaj")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("349b55f3-8fa2-413e-b05f-317be6634fce")] [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 LC_Blåhaj { [BepInPlugin("Mellowdy.BlahajReplacer", "BlahajReplacer", "1.0.0")] public class BlåhajReplacerMod : BaseUnityPlugin { private const string modGUID = "Mellowdy.BlahajReplacer"; private const string modName = "BlahajReplacer"; private const string modVersion = "1.0.0"; private readonly Harmony harmony = new Harmony("Mellowdy.BlahajReplacer"); public static ManualLogSource mls; private static BlåhajReplacerMod instance; private void Awake() { if ((Object)(object)instance == (Object)null) { instance = this; } mls = Logger.CreateLogSource("Mellowdy.BlahajReplacer"); mls.LogInfo((object)"Blåhaj is soothing your soul"); harmony.PatchAll(typeof(BlåhajReplacerMod)); harmony.PatchAll(typeof(ItemReplacerPatch)); } } } namespace LC_Blåhaj.Patches { [HarmonyPatch(typeof(GrabbableObject))] internal class ItemReplacerPatch { private static string itemName = "Blåhaj"; private static string assetName = "blahaj.haj"; private static Mesh customMesh = null; private static string meshName = "blåHaj.mesh"; private static Material blåhajMat; private static string materialName = "defaultMat.mat"; private static AudioClip pickUp; private static string pickUpAudioName = "BlåhajPickup.wav"; private static AudioClip drop; private static string dropAudioName = "BlåhajPickup.mp3"; private static float blåhajSize = 5f; private static string affectedObject = "fishtestprop"; private static Vector3 rotation = new Vector3(0f, 0f, 0f); [HarmonyPatch("Start")] [HarmonyPostfix] private static void ReplaceModel(ref Item ___itemProperties, ref MeshRenderer ___mainObjectRenderer, ref int ___floorYRot) { //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01f3: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_0272: Unknown result type (might be due to invalid IL or missing references) //IL_0277: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)customMesh == (Object)null) { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); string text = Path.Combine(directoryName, assetName).Replace("\\", "/"); BlåhajReplacerMod.mls.LogMessage((object)("Searching this filepath:" + text)); AssetBundleCreateRequest val = AssetBundle.LoadFromFileAsync(text); AssetBundle assetBundle = val.assetBundle; customMesh = assetBundle.LoadAsset<Mesh>(meshName); blåhajMat = assetBundle.LoadAsset<Material>(materialName); pickUp = assetBundle.LoadAsset<AudioClip>(pickUpAudioName); drop = assetBundle.LoadAsset<AudioClip>(dropAudioName); ScanNodeProperties[] array = Object.FindObjectsOfType<ScanNodeProperties>(); foreach (ScanNodeProperties val2 in array) { BlåhajReplacerMod.mls.LogMessage((object)(((Object)val2).name + " " + val2.headerText + " " + val2.subText)); } } if (affectedObject == ((Object)___itemProperties).name.ToLower()) { MeshFilter component = ((Component)___mainObjectRenderer).GetComponent<MeshFilter>(); component.mesh = Object.Instantiate<Mesh>(customMesh); Mesh mesh = component.mesh; Vector3[] vertices = mesh.vertices; Bounds bounds = mesh.bounds; Vector3 center = ((Bounds)(ref bounds)).center; for (int j = 0; j < vertices.Length; j++) { vertices[j] = center + (vertices[j] - center) * blåhajSize; } mesh.vertices = vertices; mesh.RecalculateBounds(); ((Renderer)___mainObjectRenderer).materials = (Material[])(object)new Material[1] { blåhajMat }; ((Component)___mainObjectRenderer).transform.localScale = new Vector3(0.08f, 0.08f, 0.08f); ___itemProperties.grabSFX = pickUp; ___itemProperties.dropSFX = drop; ___itemProperties.spawnPrefab.GetComponent<MeshFilter>().mesh = mesh; ___itemProperties.spawnPrefab.transform.localScale = new Vector3(0.08f, 0.08f, 0.08f); ___itemProperties.itemName = itemName; ((Component)___mainObjectRenderer).GetComponentInChildren<ScanNodeProperties>().headerText = itemName; ___floorYRot = -1; ___itemProperties.restingRotation = rotation; } } [HarmonyPatch("Update")] [HarmonyPostfix] private static void Upright(ref Item ___itemProperties, ref MeshRenderer ___mainObjectRenderer) { //IL_0033: Unknown result type (might be due to invalid IL or missing references) try { if (affectedObject == ((Object)___itemProperties).name.ToLower()) { ((Component)___mainObjectRenderer).transform.localScale = new Vector3(0.08f, 0.08f, 0.08f); } } catch { BlåhajReplacerMod.mls.LogMessage((object)(((Object)___itemProperties).name.ToLower() + " failed to update rotation")); } } private static void Print(string s) { BlåhajReplacerMod.mls.LogMessage((object)s); } } }