ChestSort (+ API) 12.1.0

Sorts your chests + inventory! Supports WorldGuard etc. (100 % customizable + auto config update)

  1. mfnalex
    Native Minecraft Version:
    1.17
    Tested Minecraft Versions:
    • 1.16
    • 1.17
    Source Code:
    https://github.com/JEFF-Media-GbR/Spigot-ChestSort
    Languages Supported:
    English, Chinese, Chinese (Traditional), Dutch, French, German, Hungarian, Italian, Japanese, Korean, Portuguese, Russian, Spanish, Turkish
    Please post feature requests and bug reports in the discussion, at GitHub or on Discord.

    Tired of sorting your chests?
    o_O
    Let's spend less time on organizing, and more on playing!

    :cool:

    [​IMG]

    [​IMG]

    When using Minecraft 1.15 or below, please use version 11.5.6
    When using Minecraft 1.13 or below, please use version 9.5.1
    ChestSort can automatically sort every chest, barrel, etc. after you have used it. Every player can enable or disable this feature if desired with the simple command /sort (or /chestsort). Players can also sort their own inventory using the command /invsort, or automatically using /invsort on|off. You can also use hotkeys (middle-click, double-click, shift-click and shift+right-click) within player inventories, chests etc. to have them sorted, if you do not wish automatic sorting.

    The chest contents are sorted by category and/or alphabetically and stackable things will be stacked. By default, items will be put before blocks. Automatic sorting will work with chests, enderchests, shulker boxes, barrels, minecarts with chest and player inventories. The same applies to using hotkeys.

    Wool, Terracotta and other dyeable blocks will also be sorted by color, tools by their material, etc. The sorting algorithm can be changed. There is absolutely no chance of item loss / duplication or metadata corruption! Guaranteed! :)


    By default, sorting is disabled. Players need the "chestsort.use" permission to use chest sorting, or the "chestsort.use.inventory" permission to sort their inventory.

    If a player uses a chest for the first time after logging in, they will be shown a text on how to enable automatic chest sorting if they have the permission to use ChestSort. Sorting can also be disabled for certain worlds.


    (see below for more screenshots and videos)
    chestsort-screen1.jpg
    upload_2021-10-9_19-47-20.png

    All messages are customizable. Includes English, Chinese, Chinese (Traditional), Dutch, French, German, Hungarian, Italian, Japanese, Korean, Portuguese, Russian, Spanish and Turkish language.

    ChestSort works with 1.8 - 1.16! (When using versions older than 1.14, please use ChestSort 9.5.1)

    Commands
    /sort or /chestsort
    Toggle your sorting settings using a 100% customizable GUI

    /sort on|off|toggle or /chestsort on|off|toggle
    Enable/disable automatic chest sorting


    /sort hotkeys or /chestsort hotkeys
    Open the hotkeys GUI to enable/disable hotkeys per player.

    /sort help or /chestsort help
    Display help about the /sort command


    /invsort or /isort
    Sort the player's inventory.


    /invsort hotbar or /isort hotbar
    Sort the player's hotbar.


    /invsort all or /isort all
    Sort the player's inventory and hotbar.

    /invsort toggle or /isort toggle
    Toggle automatic inventory sorting

    /invsort on|off or /isort on|off
    Enable/disable automatic inventory sorting

    /invsort help or /isort help
    Display help about the /invsort command


    Permissions
    chestsort.use
    Allows usage of automatic chest sorting and the /sort (and /chestsort) command.


    chestsort.use.inventory
    Allows usage of automatic inventory sorting and the /invsort (and /isort) command.

    chestsort.reload
    Allows to reload the config using the /sort reload (and /chestsort reload) command.

    There are more permissions, e.g. for each individual, but they are all enabled by default. See config.yml for more information.

    If you don't want to use a permissions plugin, you can also set "use-permissions" to false in the config.yml to allow every player to use ChestSort.


    Hotkeys
    You can use hotkeys to sort inventories without having to enter commands. This is useful if you only want to sort chests from time to time without having to enable the automatic sorting, or if you quickly want to sort your player inventory. Each hotkey can be enabled/disabled in the config.yml. By default, all hotkeys are enabled. Additionally, players can enable/disable each hotkey individually by running /chestsort hotkeys

    There are also two hotkeys to quickly fill/empty a chest/barrel/etc. from your inventory by left-clicking (filling) or right-clicking (emptying) outside of the chest's inventory.

    Sorting Hotkeys
    Middle click
    Middle click (mousewheel) on ANY inventory slot


    Shift click
    Shift + left click on any EMPTY inventory slot


    Double click
    Double click on any EMPTY inventory slot


    Shift + right click
    Shift + right click on any EMPTY inventory slot


    Additional Hotkeys
    Left-Click a container
    Sorts the clicked container (chest, barrel, shulker box, etc.)


    Left-Click outside inventory

    Puts all matching stuff (except hotbar) into the chest, barrel etc.

    Double-Left-Click outside inventory
    Puts all items (except hotbar) into the chest, barrel etc.

    Right-Click outside inventory
    Puts matching items from the chest, barrel etc. into your inventory

    Double-Right-Click outside inventory
    Empties the whole chest, barrel etc. into your inventory

    [​IMG]

    Video & Screenshots



    chestsort-screen2.jpg

    WorldGuard and other protection plugins
    ChestSort will only sort chests that the player has access to. In other words: when some other plugin like WorldGuard prevents access to the chest, then ChestSort will not sort this chest.
    This applies to all plugins that cancel the InventoryOpenEvent, as ChestSort will only sort when the InventoryCloseEvent is called.
    Furthermore, chests will not be sorted if the player is a spectator or in adventure mode.


    Notes
    To view the source code, please visit https://github.com/JEFF-Media-GbR/Spigot-ChestSort

    Please contact us here or at github when you encounter any bugs or have any ideas for improvements.

    If your language is not yet supported, just change the messages in the config file yourself. We will be happy to include the language in the next update if you send us your translation.

    ChestSort uses bStats to gather Metrics. You can disable this by editing the plugins/bstats/config.yml file. View the statistics at https://bstats.org/plugin/bukkit/ChestSort

    Please note that sorting in versions before 1.13 can be a bit random sometimes, because some item names were inconsistent (e.g. acacia stairs in 1.8 are named "acacia_stairs", while oak planks are just called "planks".) The sorting algorithm has been optimized for 1.13+ only.

    The sorting algorithm is extremely fast and should not have any effect on your server performance. Sorting a double chest takes about a quarter of a millisecond.

    3rd party Plugins
    ChestSort can hook into certain 3rd party plugins if they are installed on your server to allow better sorting for custom items.

    CrackShot
    All CrackShot weapons will be grouped together and will be put into the default weapons category.

    InventoryPages
    ChestSort will ignore the "Next Page" and "Prev. Page" buttons when you have InventoryPages installed, so that your GUI does not get messed up.

    Better Shulker Boxes / Minepacks / ShulkerPacks
    Sort your backpacks just like every other chest! Should work with almost every backpack plugin.

    Plugins using GUI inventories
    ChestSort tries to detect GUI inventories created by 3rd party plugins. If this detection fails, please message me at GitHub so that I can add support for that plugin.

    API for plugin developers

    ChestSort provides a method to sort any Inventory instance, using the advanced grouping features that ChestSort provides! Read more about the API here.

    If your plugin uses the ChestSort API, feel free to message me and I will be happy to list it here.

    Default configuration

    The configuration file is automatically generated if it does not exist. On every new ChestSort release, the config file will be updated to include the newest options. Your changes will be kept.

    You can view the default configuration file here.


    Other Plugins by me
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

Recent Updates

  1. 12.1.0 - 1.18 support
  2. 12.0.6
  3. 12.0.4

Recent Reviews

  1. VySynce
    VySynce
    5/5,
    Version: 12.0.6
    This plugin is a marvel and it would be included in any type of server without any doubt. The goal of ordering the chests and inventory does it excellently.
    1. mfnalex
      Author's Response
      Thank you very much :3
  2. seasonphan
    seasonphan
    5/5,
    Version: 12.0.6
    best free inventory sorting plugin! dev is friendly and helpful!!
    (here, some text to bypass the character requirement)
    1. mfnalex
      Author's Response
      Thank you :)
  3. LMBishop
    LMBishop
    5/5,
    Version: 12.0.4
    blest plugin ever yadda yadda yadda bla bla bla am I stupid? Is it currently not possible to write plugin reviews?
    1. mfnalex
      Author's Response
      Thanks :)
  4. Naive4901
    Naive4901
    5/5,
    Version: 11.5.6
    [08:02:36] [Server thread/ERROR]: Error occurred while enabling ChestSort v11.5.6 (Is it up to date?)
    java.lang.NullPointerException: input
    at java.util.Objects.requireNonNull(Objects.java:233) ~[?:?]
    at net.kyori.adventure.text.flattener.ComponentFlattenerImpl.flatten0(ComponentFlattenerImpl.java:79) ~[patched_1.17.1.jar:git-Paper-308]
    at net.kyori.adventure.text.flattener.ComponentFlattenerImpl.flatten(ComponentFlattenerImpl.java:75) ~[patched_1.17.1.jar:git-Paper-308]
    at net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializerImpl.serialize(LegacyComponentSerializerImpl.java:306) ~[patched_1.17.1.jar:git-Paper-308]
    at org.bukkit.command.Command.getPermissionMessage(Command.java:323) ~[patched_1.17.1.jar:git-Paper-308]
    at de.jeff_media.chestsort.commands.ChestSortCommand.<init>(ChestSortCommand.java:21) ~[ChestSort.jar:?]
    at de.jeff_media.chestsort.ChestSortPlugin.load(ChestSortPlugin.java:480) ~[ChestSort.jar:?]
    at de.jeff_media.chestsort.ChestSortPlugin.onEnable(ChestSortPlugin.java:567) ~[ChestSort.jar:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[patched_1.17.1.jar:git-Paper-308]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[patched_1.17.1.jar:git-Paper-308]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:502) ~[patched_1.17.1.jar:git-Paper-308]
    at org.bukkit.craftbukkit.v1_17_R1.CraftServer.enablePlugin(CraftServer.java:544) ~[patched_1.17.1.jar:git-Paper-308]
    at org.bukkit.craftbukkit.v1_17_R1.CraftServer.enablePlugins(CraftServer.java:458) ~[patched_1.17.1.jar:git-Paper-308]
    at net.minecraft.server.MinecraftServer.loadWorld(MinecraftServer.java:725) ~[patched_1.17.1.jar:git-Paper-308]
    at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:307) ~[patched_1.17.1.jar:git-Paper-308]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1212) ~[patched_1.17.1.jar:git-Paper-308]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-308]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
    [08:02:36] [Server thread/INFO]: [ChestSort] Disabling ChestSort v11.5.6
    1. mfnalex
      Author's Response
      Thanks, will be fixed today
  5. Firmly
    Firmly
    5/5,
    Version: 11.5.1
    This plugin is pretty simple and useful. It just makes minecraft much better when looking for stuff in chests. or when inventory is a mess just do /invsort and things get better.
  6. Naive4901
    Naive4901
    5/5,
    Version: 11.4.0
    [20:40:38 WARN]: [ChestSort] * Your version: 11.4.0-SNAPSHOT
    [20:40:38 WARN]: [ChestSort] * Latest version: 11.4.0
    1. mfnalex
      Author's Response
      Already fixed, just do /sort reload
  7. JonRahm
    JonRahm
    5/5,
    Version: 11.2.2
    Keep in mind that the permissions are not inherited apparently, I have 2 groups and 1 descends from the other and this one does not receive the permission to order chests, I have had to manually put it to the 2 and it already works ...
    1. mfnalex
      Author's Response
      ChestSort doesn't assign any permissions, it just uses Spigot's regular methods to check them. Sooo this is a problem regarding your permissions plugin. Feel free to join my Discord for help.
  8. Kirbykirby56
    Kirbykirby56
    5/5,
    Version: 11.2.2
    What can I say about this that hasn't been said about the electric car, smart phone, chair, and television? A lot of things. That being said, it's on par with those inventions for me. ChestSort turns the absolute mess of my storage to a nicely grouped and sorted chest like an As Seen on TV commercial. Probably my favorite plugin I've ever used.
    1. mfnalex
      Author's Response
      oh my, thanks so much :3
  9. merrtheberry
    merrtheberry
    4/5,
    Version: 11.2.2
    chestsort.listeners.Listener (PlayerInteractEvent) cause a little bit of lag.
    May be you'll try to fix this somehow
    1. mfnalex
      Author's Response
  10. esteban_cz
    esteban_cz
    5/5,
    Version: 11.2.2
    Working well, it does what it's supposed to do.
    Personally for me this is the best plugin cause my chests always I mean always are random so this plugin rlly helps me :DD
    Overall very good plugin :)
    1. mfnalex
      Author's Response
      Thankkkkks :)