From 48095e12c185ea793a265bbeee2d5c847d8ff365 Mon Sep 17 00:00:00 2001 From: OMEGA3065 Date: Sat, 14 Feb 2026 13:14:07 +0100 Subject: [PATCH 1/2] Added IsReloading, IsUnloading and IsReloadingOrUnloading getters to the FirearmItem. --- .../Wrappers/Items/Firearm/FirearmItem.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/LabApi/Features/Wrappers/Items/Firearm/FirearmItem.cs b/LabApi/Features/Wrappers/Items/Firearm/FirearmItem.cs index a1f3c798..f8f36caf 100644 --- a/LabApi/Features/Wrappers/Items/Firearm/FirearmItem.cs +++ b/LabApi/Features/Wrappers/Items/Firearm/FirearmItem.cs @@ -127,6 +127,21 @@ internal FirearmItem(Firearm firearm) /// public float BaseLength => Base.BaseLength; + /// + /// Gets whether the player is currently reloading this firearm. + /// + public bool IsReloading => ReloaderModule.IsReloading; + + /// + /// Gets whether the player is currently unloading this firearm. + /// + public bool IsUnloading => ReloaderModule.IsUnloading; + + /// + /// Gets whether the player is either reloading or unloading this firearm. + /// + public bool IsReloadingOrUnloading => ReloaderModule.IsReloadingOrUnloading; + /// /// Gets whether the player can reload this firearm. /// From 5a8e73f3542c9af36b205ba880f87bab25a0e894 Mon Sep 17 00:00:00 2001 From: OMEGA3065 Date: Sat, 14 Feb 2026 13:15:17 +0100 Subject: [PATCH 2/2] Added an extra check to CanReload (FirearmItem) to prevent CanReload from being through even though base game wouldn't allow for reloading to happen --- LabApi/Features/Wrappers/Items/Firearm/FirearmItem.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LabApi/Features/Wrappers/Items/Firearm/FirearmItem.cs b/LabApi/Features/Wrappers/Items/Firearm/FirearmItem.cs index f8f36caf..ed379556 100644 --- a/LabApi/Features/Wrappers/Items/Firearm/FirearmItem.cs +++ b/LabApi/Features/Wrappers/Items/Firearm/FirearmItem.cs @@ -145,12 +145,12 @@ internal FirearmItem(Firearm firearm) /// /// Gets whether the player can reload this firearm. /// - public bool CanReload => IReloadUnloadValidatorModule.ValidateReload(Base); + public bool CanReload => IReloadUnloadValidatorModule.ValidateReload(Base) && !IsReloadingOrUnloading; /// /// Gets whether the player can unload this firearm. /// - public bool CanUnload => IReloadUnloadValidatorModule.ValidateUnload(Base); + public bool CanUnload => IReloadUnloadValidatorModule.ValidateUnload(Base) && !IsReloadingOrUnloading; /// /// Gets the firearm's ammo type.