public static bool Prefix(Scp914Machine __instance)
        {
            try
            {
                Better914Config Config = Better914Plugin.instance.Config;
                if (!Config.IsEnabled && !Config.UseNewRecipeSystem)
                {
                    return(false);
                }

                if (!NetworkServer.active)
                {
                    return(true);
                }
                __instance.players.Clear();
                __instance.items.Clear();
                foreach (var collider in Physics.OverlapBox(__instance.intake.position, __instance.inputSize / 2f))
                {
                    if (collider.GetComponent <CharacterClassManager>() is CharacterClassManager ccm)
                    {
                        __instance.players.Add(ccm);
                    }
                    if (collider.GetComponent <Pickup>() is Pickup pickup)
                    {
                        __instance.items.Add(pickup);
                    }
                }
                return(Upgrade(__instance));
            }
            catch (System.Exception ex)
            {
                Log.Error(ex.ToString());
                return(true);
            }
        }
        public static bool Prefix(PlayerInteract __instance)
        {
            Better914Config Config = Better914Plugin.instance.Config;

            if (!Config.IsEnabled)
            {
                return(false);
            }
            if (!__instance._playerInteractRateLimit.CanExecute(true))
            {
                return(true);
            }
            if (__instance._hc.CufferId > 0 && (Config.OverrideHandcuffConfig ? !Config.CanDisarmedInteract : !PlayerInteract.CanDisarmedInteract))
            {
                return(true);
            }
            if (!Config.CanChangeKnobWhileWorking && Scp914Machine.singleton.working)
            {
                return(true);
            }
            if (!__instance.ChckDis(Scp914Machine.singleton.knob.position))
            {
                return(true);
            }
            if (Math.Abs(Scp914Machine.singleton.curKnobCooldown) > 0.001f)
            {
                return(true);
            }

            var ev = new ChangingKnobSettingEventArgs(Exiled.API.Features.Player.Get(__instance.gameObject), Scp914Machine.singleton.knobState + 1);

            Exiled.Events.Handlers.Scp914.OnChangingKnobSetting(ev);

            if (!ev.IsAllowed)
            {
                return(true);
            }

            Scp914Machine.singleton.curKnobCooldown  = Scp914Machine.singleton.knobCooldown;
            Scp914Machine.singleton.NetworkknobState = ev.KnobSetting;
            __instance.OnInteract();
            return(true);
        }