We know that a new feature called "Bundle" is coming to Minecraft 1.17.  Wouldn't it be nice to have a similar feature in all those previous versions (even 1.8.8)?

Merge and Sort (newly added in v3.9.0):
The new version now has merge and sort (Block type based or Material type based) functions!





Test Server:
testserver.vk2gpz.com

This plugin "Sack" allows you to have a sack to store many items.  You can create any size of a sack.  Yes, your sack's inventory size does not need to be a multiple of 9, and it does not have to be max 54 slots, you can make 100s, 1000s slots!

To store items in the sack, you can simply drag and drop items you wish to store.  Other plugins like VKAutoPickup supports this plugin and such a plugin will automatically put items in your sack(s) in your inventory.

Furthermore, you can open Sack's inventory by holding the sack and right-click it.  You can navigate the entire inventory of your sack using the toolbar items (left and right arrow items).  You can also take items out from this sack inventory or put items in.  




Or, you can move items in one sack inventory to another sack by simply dropping the items onto another sack in your inventory




And, you can sell all sellable blocks in your sack using
/sack sellall
command (which sells them via AutoSell plugin).  (When clip's AutoSell plugin officially supports Sack plugin, AutoSell will be able to sell everything sellable in your sack).




You can clear items in the GUI.




And, if you need to store your sack(s) in your chest (or any other storage like an enderchest, etc), simply put your sack(s) in there!




Customization:
A Sack is fully customisable and you can create different types of a sack.  You can define your sack in the config.yml as:

# default material representing a sack item
# texture is used only if the material is PLAYER_HEAD/SKULL
# make sure you have at least "default:" type defined.
SackItems:
  default:
    material: "PLAYER_HEAD"  # or SKULL_ITEM
    texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmI4NWY5OWFmN2M1MDczMWRiMGY5MzcwOGMyNDg5OTI0NzdjOTBiNGQyY2Q0ZDE1Zjc3NDU3YzdmNDk5NzBlOSJ9fX0="
    name: "&bSack (&e%slots%&b slots)"
  special:
    material: "PLAYER_HEAD"
    texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjk3NzVkNzYxMmQwNjVlMWRkZDA3YzY0NThiMDYxN2FhY2Y0ZTgzMDhmMmM4ZTNjZmE2ZDk5OWMxYTVhNWFiNCJ9fX0="
    name: "&bSpecial Sack (&e%slots%&b slots)"

Commands:
  • To give a sack to a player, you can use the following command: (permission: sack.give)
/sack give <player> <sack_type> <slot_size>
If you have your own GUI menu on your server, you can execute this command to give out a sack to your players.  The slot size does not need to be the multiple of 9 and it does not need to be < 54.  You can even have a sack with the size 3000 if you wish.
  • To sell all items in all your sacks (which are in your inventory): (permission: sack.sellall)
/sack sellall
Ofc, you would need to have AutoSell plugin installed on your server to use this command.