From 26b6bf7d629835b7bfa25e009ba19c9b27abb288 Mon Sep 17 00:00:00 2001 From: MS-crew <100300664+MS-crew@users.noreply.github.com> Date: Sun, 10 Aug 2025 22:31:40 +0300 Subject: [PATCH 1/4] Update CustomItem.cs --- EXILED/Exiled.CustomItems/API/Features/CustomItem.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs b/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs index fa39569e0a..6ff8d9094c 100644 --- a/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs +++ b/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs @@ -1031,11 +1031,6 @@ private void OnInternalDroppingItem(DroppingItemEventArgs ev) return; OnDroppingItem(ev); - - // TODO: Don't forget to remove this with next update -#pragma warning disable CS0618 - OnDropping(ev); -#pragma warning restore CS0618 } private void OnInternalDroppingAmmo(DroppingAmmoEventArgs ev) From 20fd1f9fdc85747b8cf49934d25aff403efd3851 Mon Sep 17 00:00:00 2001 From: MS-crew <100300664+MS-crew@users.noreply.github.com> Date: Sun, 10 Aug 2025 22:39:26 +0300 Subject: [PATCH 2/4] Update Config.cs --- EXILED/Exiled.Events/Config.cs | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/EXILED/Exiled.Events/Config.cs b/EXILED/Exiled.Events/Config.cs index fd244f699b..8416e5180e 100644 --- a/EXILED/Exiled.Events/Config.cs +++ b/EXILED/Exiled.Events/Config.cs @@ -68,19 +68,6 @@ public sealed class Config : IConfig [Description("Indicates whether the inventory should be dropped before being set as spectator, through commands or plugins")] public bool ShouldDropInventory { get; set; } = true; - /// - /// Gets or sets a value indicating whether the blood can be spawned. - /// - [Description("Indicates whether the blood can be spawned")] - public bool CanSpawnBlood { get; set; } = true; - - /// - /// Gets or sets a value indicating whether keycard throw can affect basic doors. - /// - /// TODO: Make a poll about removing this config. (unimplemented since 9.6.0-beta7) - [Description("Indicates whether thrown keycards can affect doors that don't require any permissions")] - public bool CanKeycardThrowAffectDoors { get; set; } = false; - /// /// Gets or sets a value indicating whether the SCP079 will recontained if there are no SCPs left. /// From 59143c53f999a7805ab50bb7b3e5060ed1356c9d Mon Sep 17 00:00:00 2001 From: MS-crew <100300664+MS-crew@users.noreply.github.com> Date: Sun, 10 Aug 2025 22:56:32 +0300 Subject: [PATCH 3/4] Update CustomItem.cs --- .../API/Features/CustomItem.cs | 78 +++++++++++++------ 1 file changed, 56 insertions(+), 22 deletions(-) diff --git a/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs b/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs index 6ff8d9094c..6ceb6ced09 100644 --- a/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs +++ b/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs @@ -23,6 +23,7 @@ namespace Exiled.CustomItems.API.Features using Exiled.API.Features.Spawn; using Exiled.API.Interfaces; using Exiled.CustomItems.API.EventArgs; + using Exiled.Events.EventArgs.Map; using Exiled.Events.EventArgs.Player; using Exiled.Events.EventArgs.Scp914; using Exiled.Loader; @@ -779,16 +780,21 @@ internal bool TryUnregister() protected virtual void SubscribeEvents() { Exiled.Events.Handlers.Player.Dying += OnInternalOwnerDying; - Exiled.Events.Handlers.Player.DroppingItem += OnInternalDroppingItem; - Exiled.Events.Handlers.Player.DroppingAmmo += OnInternalDroppingAmmo; + Exiled.Events.Handlers.Player.ItemAdded += OnInternalItemAdded; Exiled.Events.Handlers.Player.ChangingItem += OnInternalChanging; Exiled.Events.Handlers.Player.Escaping += OnInternalOwnerEscaping; Exiled.Events.Handlers.Player.PickingUpItem += OnInternalPickingUp; - Exiled.Events.Handlers.Player.ItemAdded += OnInternalItemAdded; - Exiled.Events.Handlers.Scp914.UpgradingPickup += OnInternalUpgradingPickup; - Exiled.Events.Handlers.Server.WaitingForPlayers += OnWaitingForPlayers; + Exiled.Events.Handlers.Player.DroppingItem += OnInternalDroppingItem; + Exiled.Events.Handlers.Player.DroppingAmmo += OnInternalDroppingAmmo; Exiled.Events.Handlers.Player.Handcuffing += OnInternalOwnerHandcuffing; Exiled.Events.Handlers.Player.ChangingRole += OnInternalOwnerChangingRole; + + Exiled.Events.Handlers.Map.PickupAdded += OnInternalPickupSpawned; + Exiled.Events.Handlers.Map.PickupDestroyed += OnInternalPickupDestroyed; + + Exiled.Events.Handlers.Server.WaitingForPlayers += OnWaitingForPlayers; + + Exiled.Events.Handlers.Scp914.UpgradingPickup += OnInternalUpgradingPickup; Exiled.Events.Handlers.Scp914.UpgradingInventoryItem += OnInternalUpgradingInventoryItem; } @@ -797,18 +803,23 @@ protected virtual void SubscribeEvents() /// protected virtual void UnsubscribeEvents() { - Exiled.Events.Handlers.Player.Dying -= OnInternalOwnerDying; - Exiled.Events.Handlers.Player.DroppingItem -= OnInternalDroppingItem; - Exiled.Events.Handlers.Player.DroppingAmmo -= OnInternalDroppingAmmo; - Exiled.Events.Handlers.Player.ChangingItem -= OnInternalChanging; - Exiled.Events.Handlers.Player.Escaping -= OnInternalOwnerEscaping; - Exiled.Events.Handlers.Player.PickingUpItem -= OnInternalPickingUp; - Exiled.Events.Handlers.Player.ItemAdded -= OnInternalItemAdded; - Exiled.Events.Handlers.Scp914.UpgradingPickup -= OnInternalUpgradingPickup; - Exiled.Events.Handlers.Server.WaitingForPlayers -= OnWaitingForPlayers; - Exiled.Events.Handlers.Player.Handcuffing -= OnInternalOwnerHandcuffing; - Exiled.Events.Handlers.Player.ChangingRole -= OnInternalOwnerChangingRole; - Exiled.Events.Handlers.Scp914.UpgradingInventoryItem -= OnInternalUpgradingInventoryItem; + Exiled.Events.Handlers.Player.Dying += OnInternalOwnerDying; + Exiled.Events.Handlers.Player.ItemAdded += OnInternalItemAdded; + Exiled.Events.Handlers.Player.ChangingItem += OnInternalChanging; + Exiled.Events.Handlers.Player.Escaping += OnInternalOwnerEscaping; + Exiled.Events.Handlers.Player.PickingUpItem += OnInternalPickingUp; + Exiled.Events.Handlers.Player.DroppingItem += OnInternalDroppingItem; + Exiled.Events.Handlers.Player.DroppingAmmo += OnInternalDroppingAmmo; + Exiled.Events.Handlers.Player.Handcuffing += OnInternalOwnerHandcuffing; + Exiled.Events.Handlers.Player.ChangingRole += OnInternalOwnerChangingRole; + + Exiled.Events.Handlers.Map.PickupAdded -= OnInternalPickupSpawned; + Exiled.Events.Handlers.Map.PickupDestroyed -= OnInternalPickupDestroyed; + + Exiled.Events.Handlers.Server.WaitingForPlayers += OnWaitingForPlayers; + + Exiled.Events.Handlers.Scp914.UpgradingPickup += OnInternalUpgradingPickup; + Exiled.Events.Handlers.Scp914.UpgradingInventoryItem += OnInternalUpgradingInventoryItem; } /// @@ -844,10 +855,18 @@ protected virtual void OnOwnerHandcuffing(OwnerHandcuffingEventArgs ev) } /// - /// Handles tracking items when they are dropped by a player. + /// Handles tracking custom items when their pickups are spawned in the scene. /// - /// . - protected virtual void OnDroppingItem(DroppingItemEventArgs ev) + /// . + protected virtual void OnPickupSpawned(PickupAddedEventArgs ev) + { + } + + /// + /// Handles untracking custom items when their pickups are destroyed in the scene. + /// + /// . + protected virtual void OnPickupDestroyed(PickupDestroyedEventArgs ev) { } @@ -855,8 +874,7 @@ protected virtual void OnDroppingItem(DroppingItemEventArgs ev) /// Handles tracking items when they are dropped by a player. /// /// . - [Obsolete("Use OnDroppingItem instead.", false)] - protected virtual void OnDropping(DroppingItemEventArgs ev) + protected virtual void OnDroppingItem(DroppingItemEventArgs ev) { } @@ -1025,6 +1043,22 @@ private void OnInternalOwnerHandcuffing(HandcuffingEventArgs ev) } } + private void OnInternalPickupSpawned(PickupAddedEventArgs ev) + { + if (!Check(ev.Pickup)) + return; + + OnPickupSpawned(ev); + } + + private void OnInternalPickupDestroyed(PickupDestroyedEventArgs ev) + { + if (!Check(ev.Pickup)) + return; + + OnPickupDestroyed(ev); + } + private void OnInternalDroppingItem(DroppingItemEventArgs ev) { if (!Check(ev.Item)) From 944a845c1aaf80f411bb7d8f93ea88a51a9f3662 Mon Sep 17 00:00:00 2001 From: MS-crew <100300664+MS-crew@users.noreply.github.com> Date: Wed, 3 Sep 2025 18:05:00 +0300 Subject: [PATCH 4/4] Update CustomItem.cs --- .../API/Features/CustomItem.cs | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs b/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs index 6ceb6ced09..bfc884cea2 100644 --- a/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs +++ b/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs @@ -803,23 +803,23 @@ protected virtual void SubscribeEvents() /// protected virtual void UnsubscribeEvents() { - Exiled.Events.Handlers.Player.Dying += OnInternalOwnerDying; - Exiled.Events.Handlers.Player.ItemAdded += OnInternalItemAdded; - Exiled.Events.Handlers.Player.ChangingItem += OnInternalChanging; - Exiled.Events.Handlers.Player.Escaping += OnInternalOwnerEscaping; - Exiled.Events.Handlers.Player.PickingUpItem += OnInternalPickingUp; - Exiled.Events.Handlers.Player.DroppingItem += OnInternalDroppingItem; - Exiled.Events.Handlers.Player.DroppingAmmo += OnInternalDroppingAmmo; - Exiled.Events.Handlers.Player.Handcuffing += OnInternalOwnerHandcuffing; - Exiled.Events.Handlers.Player.ChangingRole += OnInternalOwnerChangingRole; + Exiled.Events.Handlers.Player.Dying -= OnInternalOwnerDying; + Exiled.Events.Handlers.Player.ItemAdded -= OnInternalItemAdded; + Exiled.Events.Handlers.Player.ChangingItem -= OnInternalChanging; + Exiled.Events.Handlers.Player.Escaping -= OnInternalOwnerEscaping; + Exiled.Events.Handlers.Player.PickingUpItem -= OnInternalPickingUp; + Exiled.Events.Handlers.Player.DroppingItem -= OnInternalDroppingItem; + Exiled.Events.Handlers.Player.DroppingAmmo -= OnInternalDroppingAmmo; + Exiled.Events.Handlers.Player.Handcuffing -= OnInternalOwnerHandcuffing; + Exiled.Events.Handlers.Player.ChangingRole -= OnInternalOwnerChangingRole; Exiled.Events.Handlers.Map.PickupAdded -= OnInternalPickupSpawned; Exiled.Events.Handlers.Map.PickupDestroyed -= OnInternalPickupDestroyed; - Exiled.Events.Handlers.Server.WaitingForPlayers += OnWaitingForPlayers; + Exiled.Events.Handlers.Server.WaitingForPlayers -= OnWaitingForPlayers; - Exiled.Events.Handlers.Scp914.UpgradingPickup += OnInternalUpgradingPickup; - Exiled.Events.Handlers.Scp914.UpgradingInventoryItem += OnInternalUpgradingInventoryItem; + Exiled.Events.Handlers.Scp914.UpgradingPickup -= OnInternalUpgradingPickup; + Exiled.Events.Handlers.Scp914.UpgradingInventoryItem -= OnInternalUpgradingInventoryItem; } ///