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 KickMod v1.0.0
KickPlugin.dll
Decompiled a year agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using HarmonyLib; using MenuLib; using MenuLib.MonoBehaviors; using Photon.Pun; using Photon.Realtime; using UnityEngine; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("ModKick")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("ModKick")] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("be8a3341-e9c0-4b90-8164-cc3223ede8eb")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace KickPlugin; [BepInPlugin("Wtyka.KickMod", "KickMod", "1.0.0")] public class KickMod : BaseUnityPlugin { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static ScrollViewBuilderDelegate <>9__8_0; internal RectTransform <CreatePage>b__8_0(Transform scrollView) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Expected O, but got Unknown //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) GameObject val = new GameObject("ButtonContainer", new Type[2] { typeof(RectTransform), typeof(VerticalLayoutGroup) }); val.transform.SetParent(scrollView, false); Player[] playerList = PhotonNetwork.PlayerList; for (int i = 0; i < playerList.Length; i++) { <>c__DisplayClass8_0 CS$<>8__locals0 = new <>c__DisplayClass8_0 { player = playerList[i] }; MenuAPI.CreateREPOButton(CS$<>8__locals0.player.NickName + (CS$<>8__locals0.player.IsMasterClient ? " ★" : " \ud83e\udd7e"), (Action)delegate { if (!CS$<>8__locals0.player.IsMasterClient) { PhotonNetwork.RemoveRPCs(CS$<>8__locals0.player); PhotonNetwork.DestroyPlayerObjects(CS$<>8__locals0.player); PhotonNetwork.EnableCloseConnection = true; PhotonNetwork.CloseConnection(CS$<>8__locals0.player); Debug.Log((object)("Player kicked out: " + CS$<>8__locals0.player.NickName)); } }, val.transform, default(Vector2)); } return val.GetComponent<RectTransform>(); } } [CompilerGenerated] private sealed class <>c__DisplayClass8_0 { public Player player; internal void <CreatePage>b__1() { if (!player.IsMasterClient) { PhotonNetwork.RemoveRPCs(player); PhotonNetwork.DestroyPlayerObjects(player); PhotonNetwork.EnableCloseConnection = true; PhotonNetwork.CloseConnection(player); Debug.Log((object)("Player kicked out: " + player.NickName)); } } } private const string Guid = "Wtyka.KickMod"; private const string Name = "KickMod"; private const string Version = "1.0.0"; private REPOPopupPage showPlayerList; public static KickMod Instance; private readonly Harmony harmony = new Harmony("Wtyka.KickMod"); private void Awake() { if ((Object)(object)Instance == (Object)null) { Instance = this; } Debug.Log((object)"KickMod Loaded!"); } private void Update() { if (Input.GetKeyDown((KeyCode)282)) { if ((Object)(object)showPlayerList != (Object)null) { showPlayerList.ClosePage(true); } else { CreatePage(); } } } private void CreatePage() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown showPlayerList = MenuAPI.CreateREPOPopupPage("Players List", false, true, 0.5f, (Vector2?)Vector2.zero); REPOPopupPage obj = showPlayerList; object obj2 = <>c.<>9__8_0; if (obj2 == null) { ScrollViewBuilderDelegate val = delegate(Transform scrollView) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Expected O, but got Unknown //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) GameObject val2 = new GameObject("ButtonContainer", new Type[2] { typeof(RectTransform), typeof(VerticalLayoutGroup) }); val2.transform.SetParent(scrollView, false); Player[] playerList = PhotonNetwork.PlayerList; foreach (Player player in playerList) { MenuAPI.CreateREPOButton(player.NickName + (player.IsMasterClient ? " ★" : " \ud83e\udd7e"), (Action)delegate { if (!player.IsMasterClient) { PhotonNetwork.RemoveRPCs(player); PhotonNetwork.DestroyPlayerObjects(player); PhotonNetwork.EnableCloseConnection = true; PhotonNetwork.CloseConnection(player); Debug.Log((object)("Player kicked out: " + player.NickName)); } }, val2.transform, default(Vector2)); } return val2.GetComponent<RectTransform>(); }; <>c.<>9__8_0 = val; obj2 = (object)val; } obj.AddElementToScrollView((ScrollViewBuilderDelegate)obj2, 0f, 0f); showPlayerList.OpenPage(true); } }