using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using GameNetcodeStuff;
using HarmonyLib;
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("JetpackSafetyProtocol")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("JetpackSafetyProtocol")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("e54827aa-9989-41ab-95e5-52e1eec3d12c")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.6.2", FrameworkDisplayName = ".NET Framework 4.6.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace JetpackSafetyProtocol;
[BepInPlugin("com.yourname.jetpacksafety", "Jetpack Safety Protocol", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
public static ConfigEntry<string> BannedUsersConfig;
private void Awake()
{
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Expected O, but got Unknown
BannedUsersConfig = ((BaseUnityPlugin)this).Config.Bind<string>("Targeting", "BannedUsernames", "Elowiny,Jimmy,Coco", "A comma-separated list of usernames.");
Harmony val = new Harmony("com.yourname.jetpacksafety");
val.PatchAll(typeof(JetpackPatch));
}
}
[HarmonyPatch(typeof(PlayerControllerB))]
public class JetpackPatch
{
[HarmonyPatch("BeginGrabObject")]
[HarmonyPostfix]
public static void BeginGrabObjectPostfix(PlayerControllerB __instance, ref GrabbableObject ___currentlyGrabbingObject)
{
//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
//IL_00da: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)___currentlyGrabbingObject == (Object)null || !(___currentlyGrabbingObject is JetpackItem) || StartOfRound.Instance.inShipPhase)
{
return;
}
string value = Plugin.BannedUsersConfig.Value;
string[] array = value.Split(new char[1] { ',' });
bool flag = false;
string[] array2 = array;
foreach (string text in array2)
{
if (__instance.playerUsername == text.Trim())
{
flag = true;
break;
}
}
if (flag)
{
Landmine.SpawnExplosion(((Component)__instance).transform.position, true, 0f, 0f, 0, 0f, (GameObject)null, false);
__instance.DamagePlayer(1000, true, true, (CauseOfDeath)3, 0, false, default(Vector3));
___currentlyGrabbingObject = null;
__instance.isGrabbingObjectAnimation = false;
}
}
}