protected virtual void OnInventoryChange(Player player, byte slot, Item itemStack) { InventoryChange?.Invoke(player, this, slot, itemStack); }
protected virtual void OnInventoryChange() { InventoryChange?.Invoke(this, EventArgs.Empty); }