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;
}
///