Please disclose if any significant portion of your mod was created 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 HSR Renheng and Xingyue v1.0.0
HSR_Renheng_and_Xingyue.dll
Decompiled 12 hours agousing System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using CSync.Extensions; using CSync.Lib; using LethalLib.Modules; using Microsoft.CodeAnalysis; 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(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("HSR_Renheng_and_Xingyue")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("HSR_Renheng_and_Xingyue")] [assembly: AssemblyTitle("HSR_Renheng_and_Xingyue")] [assembly: AssemblyVersion("1.0.0.0")] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace HSR_Renheng_And_Xingyue { [BepInPlugin("CraftyGlitches.HSR_Renheng_And_Xingyue", "HSR_Renheng_And_Xingyue", "1.0.0")] public class Plugin : BaseUnityPlugin { private const string GUID = "CraftyGlitches.HSR_Renheng_And_Xingyue"; private const string NAME = "HSR_Renheng_And_Xingyue"; private const string VERSION = "1.0.0"; public static Plugin Instance; public static RenhengXingyuePairing config; public static List<string> ItemAssets = new List<string> { "Assets/scrap/unreachableside/unreachableside.asset", "Assets/scrap/renhengpair/renhengpair.asset", "Assets/scrap/nowheretorunframe/nowheretorunframe.asset", "Assets/scrap/danfengandyingxingfigurine/danfengandyingxingfigurine.asset", "Assets/scrap/yingxinghairpin/yingxingshairpin.asset", "Assets/scrap/reforgedinhellfire/reforgedinhellfire.asset", "Assets/scrap/throughworldsapart/throughworldsapart.asset", "Assets/scrap/onlysilenceremains/onlysilenceremains.asset", "Assets/scrap/brighterthanthesun/brighterthanthesun.asset", "Assets/scrap/pendants/jadependants.asset" }; public static List<Item> ItemList; private void Awake() { Instance = this; ItemList = new List<Item>(); string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "hsr_renheng_and_xingyue"); AssetBundle val = AssetBundle.LoadFromFile(text); foreach (string itemAsset in ItemAssets) { Item val2 = val.LoadAsset<Item>(itemAsset); if ((Object)(object)val2 == (Object)null) { Debug.LogError((object)(itemAsset + " is not accessible, please check your asset path again")); } else { ItemList.Add(val2); } } config = new RenhengXingyuePairing(((BaseUnityPlugin)this).Config); foreach (KeyValuePair<Item, SyncedEntry<int>> item in RenhengXingyuePairing.ItemRarity) { RegisterRenhengXingyuePair(item.Key, SyncedEntry<int>.op_Implicit(item.Value)); ValidateShopItem(item.Key); } ((BaseUnityPlugin)this).Logger.LogInfo((object)"CraftyGlitches.HSR_Renheng_And_Xingyue is loaded ! Pairs of objects are destined for an eventual reunion."); } public static void RemovePostProcessing(GameObject spawnPrefab) { if (!((Object)(object)spawnPrefab != (Object)null)) { return; } MeshRenderer[] componentsInChildren = spawnPrefab.GetComponentsInChildren<MeshRenderer>(); MeshRenderer[] array = componentsInChildren; MeshRenderer[] array2 = array; foreach (MeshRenderer val in array2) { Material[] materials = ((Renderer)val).materials; foreach (Material val2 in materials) { if (val2.renderQueue < 3000) { val2.renderQueue = 2900; } } } } private void RegisterRenhengXingyuePair(Item item, int value) { GameObject spawnPrefab = item.spawnPrefab; RemovePostProcessing(spawnPrefab); NetworkPrefabs.RegisterNetworkPrefab(spawnPrefab); Utilities.FixMixerGroups(spawnPrefab); if (item.itemName == "none") { Items.RegisterScrap(item, value, (LevelTypes)12288); } else { Items.RegisterScrap(item, value, (LevelTypes)(-1)); } } private void ValidateShopItem(Item item) { List<string> list = new List<string> { "jade pendants" }; if (list.Contains(item.itemName)) { TerminalNode val = ScriptableObject.CreateInstance<TerminalNode>(); val.clearPreviousText = true; string text = "Items from the renheng and xingyue distribution centre!"; string itemName = item.itemName; string text2 = itemName; if (text2 == "Jade Pendants") { val.displayText = text + "They're destined to find eachother in another life."; } Items.RegisterShopItem(item, (TerminalNode)null, (TerminalNode)null, val, Mathf.FloorToInt((float)Random.Range(100, 150))); } } } public class RenhengXingyuePairing : SyncedConfig2<RenhengXingyuePairing> { [field: SyncedEntryField] public static Dictionary<Item, SyncedEntry<int>> ItemRarity { get; private set; } public RenhengXingyuePairing(ConfigFile config) : base("CraftyGlitches.HSR_Renheng_And_Xingyue") { ItemRarity = new Dictionary<Item, SyncedEntry<int>>(); List<string> list = new List<string> { "jade pendants" }; foreach (Item item in Plugin.ItemList) { if (list.Contains(item.itemName)) { string itemName = item.itemName; string text = itemName; if (text == "jade pendants") { ItemRarity[item] = SyncedBindingExtensions.BindSyncedEntry<int>(config, "Renheng and Xingyue rarity", item.itemName ?? "", 21, "Changing rarity value for: " + item.itemName + ".\n\nEnter your desired value.\n\nYou can check the names of the cat cakes on my thunderstore wiki page."); } } else { ItemRarity[item] = SyncedBindingExtensions.BindSyncedEntry<int>(config, "Renheng and Xingyue rarity", item.itemName ?? "", 20, "Changing rarity value for: " + item.itemName + ".\n\nEnter your desired value.\n\nYou can check the names of the cat cakes on my thunderstore wiki page."); } } ConfigManager.Register<RenhengXingyuePairing>((SyncedConfig2<RenhengXingyuePairing>)(object)this); } public static void AssetLoader(List<string> list) { } } }