diff --git a/EXILED/Exiled.API/Features/Player.cs b/EXILED/Exiled.API/Features/Player.cs index 5627e8dc9..24ee3d173 100644 --- a/EXILED/Exiled.API/Features/Player.cs +++ b/EXILED/Exiled.API/Features/Player.cs @@ -2031,6 +2031,36 @@ public void DropItem(Item item, bool isThrown = false) /// dropped . public Pickup DropItem(Item item) => item is not null ? Pickup.Get(Inventory.ServerDropItem(item.Serial)) : null; + /// + /// Drops an from the player's inventory by its . + /// + /// The specified to be dropped. + /// Is the item Thrown?. + /// A value indicating whether the was dropped. + public bool DropItem(ItemType item, bool isThrown = false) + { + Item itemtodrop = Items.FirstOrDefault(tempItem => tempItem.Type == item); + if (itemtodrop == null) + return false; + + DropItem(itemtodrop, isThrown); + return true; + } + + /// + /// Drops an item from the player's inventory. + /// + /// The specified to be dropped. + /// dropped . + public Pickup DropItem(ItemType item) + { + Item itemtodrop = Items.FirstOrDefault(tempItem => tempItem.Type == item); + if (itemtodrop == null) + return null; + + return Pickup.Get(Inventory.ServerDropItem(itemtodrop.Serial)); + } + /// /// Drops the held item. Will not do anything if the player is not holding an item. /// @@ -2138,6 +2168,22 @@ public bool RemoveItem(Item item, bool destroy = true) return true; } + /// + /// Removes an from the player's inventory by its . + /// + /// The specified to be removed. + /// Whether to destroy the item. + /// A value indicating whether the was removed. + public bool RemoveItem(ItemType item, bool destroy = true) + { + Item itemtoremove = Items.FirstOrDefault(tempItem => tempItem.Type == item); + if (itemtoremove == null) + return false; + + RemoveItem(itemtoremove, destroy); + return true; + } + /// /// Removes an from the player's inventory. ///