kyrptonaught / inventory-sorter Goto Github PK
View Code? Open in Web Editor NEWInventory Sorter for Fabric
License: MIT License
Inventory Sorter for Fabric
License: MIT License
I'm having a problem with opening the creative menu with just this mod installed. I haven't seen anyone else report this.
Fabric Loader 0.6.2 Build 166
Fabric Api 0.3.3 Build 234
Inventory Sorter 1.5.7
Crashlog:
https://pastebin.com/PeWWPZXp
running 1.8.0-1.18, I change the sorting order and it doesn't seem to change how the items are sorted. This is on a Fabric server which also has the mod installed on it. Sorting does work, but when I change the sort order and resort, it does not change the order of the sorted items.
InventorySorter-1.5.5.jar
Mpcs' Backpacks v1.1.4 - 1.14.2.jar
https://www.curseforge.com/minecraft/mc-mods/mpcs-backpacks
Probably the backpacks mod is to blame.
Crashes with latest snapshot (and 20w10a) and latest version of fabric api for this snapshot.
https://pastebin.com/7buxVNwf
[10:13:28] [main/ERROR]: Error loading companion plugin class [net.kyrptonaught.inventorysorter.compat.InventorySorterMixinPlugin] for mixin config [net.kyrptonaught.inventorysorter.json]. The plugin may be out of date: ClassNotFoundException:net.kyrptonaught.inventorysorter.compat.InventorySorterMixinPlugin
java.lang.ClassNotFoundException: net.kyrptonaught.inventorysorter.compat.InventorySorterMixinPlugin
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_275]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_275]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) ~[?:1.8.0_275]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_275]
at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:168) ~[fabric-loader-0.10.8.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_275]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_275]
at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_275]
at net.fabricmc.loader.launch.knot.MixinServiceKnot.findClass(MixinServiceKnot.java:83) ~[fabric-loader-0.10.8.jar:?]
at org.spongepowered.asm.mixin.transformer.PluginHandle.(PluginHandle.java:96) [sponge-mixin-0.8.2+build.24.jar:0.8.2+build.24+unknown-b24.git-unknown]
at org.spongepowered.asm.mixin.transformer.MixinConfig.onSelect(MixinConfig.java:598) [sponge-mixin-0.8.2+build.24.jar:0.8.2+build.24+unknown-b24.git-unknown]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.selectConfigs(MixinProcessor.java:475) [sponge-mixin-0.8.2+build.24.jar:0.8.2+build.24+unknown-b24.git-unknown]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:437) [sponge-mixin-0.8.2+build.24.jar:0.8.2+build.24+unknown-b24.git-unknown]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:415) [sponge-mixin-0.8.2+build.24.jar:0.8.2+build.24+unknown-b24.git-unknown]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:285) [sponge-mixin-0.8.2+build.24.jar:0.8.2+build.24+unknown-b24.git-unknown]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208) [sponge-mixin-0.8.2+build.24.jar:0.8.2+build.24+unknown-b24.git-unknown]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178) [sponge-mixin-0.8.2+build.24.jar:0.8.2+build.24+unknown-b24.git-unknown]
at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23) [fabric-loader-0.10.8.jar:0.8.2+build.24+unknown-b24.git-unknown]
at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157) [fabric-loader-0.10.8.jar:?]
at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:150) [fabric-loader-0.10.8.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) [?:1.8.0_275]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_275]
at java.lang.Class.forName(Class.java:348) [?:1.8.0_275]
at net.fabricmc.loader.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:45) [fabric-loader-0.10.8.jar:?]
at net.fabricmc.loader.EntrypointStorage$NewEntry.create(EntrypointStorage.java:114) [fabric-loader-0.10.8.jar:?]
at net.fabricmc.loader.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:101) [fabric-loader-0.10.8.jar:?]
at net.fabricmc.loader.EntrypointStorage.getEntrypointContainers(EntrypointStorage.java:186) [fabric-loader-0.10.8.jar:?]
at net.fabricmc.loader.FabricLoader.getEntrypointContainers(FabricLoader.java:272) [fabric-loader-0.10.8.jar:?]
at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:44) [fabric-loader-0.10.8.jar:?]
at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke(EntrypointUtils.java:36) [fabric-loader-0.10.8.jar:?]
at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:139) [fabric-loader-0.10.8.jar:?]
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27) [fabric-loader-0.10.8.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_275]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_275]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_275]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_275]
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196) [NewLaunch.jar:?]
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231) [NewLaunch.jar:?]
at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
Causes game to crash when attempting to use the storage/crafting terminals on Toms Simple Storage
[Cross posted on TSS git also]
[Render thread/FATAL]: Error executing task on Client
java.lang.NullPointerException: Cannot invoke "com.tom.storagemod.tile.TileEntityStorageTerminal.canInteractWith(net.minecraft.class_1657)" because "this.te" is null
at com.tom.storagemod.gui.ContainerStorageTerminal.method_7597(ContainerStorageTerminal.java:549) ~[tomsstorage-1.1.16.jar:?]
at net.kyrptonaught.inventorysorter.InventoryHelper.shouldDisplayBtns(InventoryHelper.java:82) ~[InventorySorter-1.8.0-1.17.jar:?]
at net.minecraft.class_465.handler$zbo000$invsort$init(class_465.java:747) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_465.method_25426(class_465.java:94) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at com.tom.storagemod.gui.GuiStorageTerminalBase.method_25426(GuiStorageTerminalBase.java:128) ~[tomsstorage-1.1.16.jar:?]
at com.tom.storagemod.gui.GuiStorageTerminal.method_25426(GuiStorageTerminal.java:23) ~[tomsstorage-1.1.16.jar:?]
at net.minecraft.class_437.method_25423(class_437.java:387) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_310.method_1507(class_310.java:984) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_3929$class_3930.method_17543(class_3929.java:65) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_3929.method_17541(class_3929.java:51) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_634.method_17587(class_634.java:985) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_3944.method_17591(class_3944.java:37) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_3944.method_11054(class_3944.java:11) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_2600.method_11072(class_2600.java:21) ~[intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_1255.method_18859(class_1255.java:151) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_4093.method_18859(class_4093.java:23) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_1255.method_16075(class_1255.java:125) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_1255.method_5383(class_1255.java:110) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_310.method_1523(class_310.java:1075) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.class_310.method_1514(class_310.java:728) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at net.minecraft.client.main.Main.main(Main.java:217) [intermediary-fabric-loader-0.11.6-1.17.1.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234) [fabric-loader-0.11.6.jar:?]
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153) [fabric-loader-0.11.6.jar:?]
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28) [fabric-loader-0.11.6.jar:?]
When sorting an inventory (chest, or player) with at least one enchanted book in it the server immediate crashes.
This is a consistent issue that I've notice since upgrading to 1.16 and was not an issue in 1.15. I've attached 3 crash reports. The first two (order of timestamp) are from attempting to sort a chest of enchanted books and the third is trying to sort a player's inventory with only one enchanted book.
What you've done is absolutely amazing and I am so thankful for the work you've put in.
crash-2020-06-25_21.54.29-server.txt
crash-2020-06-24_20.37.23-server.txt
crash-2020-06-25_21.35.41-server.txt
While working on #27 I noticed that enchanted book sorting was in fact already implemented, but wasn't working on the 1.16 build.
After some painful debugging (is there any easier way other than recompiling, replacing the file and reopening minecraft?) the culprit seems to be on line https://github.com/kyrptonaught/Inventory-Sorter/blob/1.16/src/main/java/net/kyrptonaught/inventorysorter/SortCases.java#L58. The method asString()
is not returning the formatted enchantment name, as one would expect; instead, it returns an empty string.
This could be an upstream bug (?) but I couldn't find any documentation on the net.minecraft.enchantment.*
classes. I've added a line to log the sorting key for every item and you can see on the attached log that the enchantment names are not being appended (only the blank spaces).
This is the first time I'm contributing to a Minecraft mod, so any pointers would be appreciated.
Versions:
Minecraft Log
MultiMC version: 0.6.11-1430
Minecraft folder is:
C:/MultiMC/instances/1.16.2/.minecraft
Java path is:
C:/Program Files/AdoptOpenJDK/jdk-8.0.265.01-hotspot/jre/bin/javaw.exe
Java is version 1.8.0_265, using 64-bit architecture.
Main Class:
net.fabricmc.loader.launch.knot.KnotClient
Native path:
C:/MultiMC/instances/1.16.2/natives
Traits:
traits FirstThreadOnMacOS
Libraries:
C:/MultiMC/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar
C:/MultiMC/libraries/com/mojang/patchy/1.1/patchy-1.1.jar
C:/MultiMC/libraries/oshi-project/oshi-core/1.1/oshi-core-1.1.jar
C:/MultiMC/libraries/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar
C:/MultiMC/libraries/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar
C:/MultiMC/libraries/com/ibm/icu/icu4j/66.1/icu4j-66.1.jar
C:/MultiMC/libraries/com/mojang/javabridge/1.0.22/javabridge-1.0.22.jar
C:/MultiMC/libraries/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar
C:/MultiMC/libraries/io/netty/netty-all/4.1.25.Final/netty-all-4.1.25.Final.jar
C:/MultiMC/libraries/com/google/guava/guava/21.0/guava-21.0.jar
C:/MultiMC/libraries/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar
C:/MultiMC/libraries/commons-io/commons-io/2.5/commons-io-2.5.jar
C:/MultiMC/libraries/commons-codec/commons-codec/1.10/commons-codec-1.10.jar
C:/MultiMC/libraries/com/mojang/brigadier/1.0.17/brigadier-1.0.17.jar
C:/MultiMC/libraries/com/mojang/datafixerupper/4.0.26/datafixerupper-4.0.26.jar
C:/MultiMC/libraries/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar
C:/MultiMC/libraries/com/mojang/authlib/1.6.25/authlib-1.6.25.jar
C:/MultiMC/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar
C:/MultiMC/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar
C:/MultiMC/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar
C:/MultiMC/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar
C:/MultiMC/libraries/it/unimi/dsi/fastutil/8.2.1/fastutil-8.2.1.jar
C:/MultiMC/libraries/org/apache/logging/log4j/log4j-api/2.8.1/log4j-api-2.8.1.jar
C:/MultiMC/libraries/org/apache/logging/log4j/log4j-core/2.8.1/log4j-core-2.8.1.jar
C:/MultiMC/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3.jar
C:/MultiMC/libraries/net/fabricmc/intermediary/1.16.3/intermediary-1.16.3.jar
C:/MultiMC/libraries/net/fabricmc/tiny-mappings-parser/0.2.2.14/tiny-mappings-parser-0.2.2.14.jar
C:/MultiMC/libraries/net/fabricmc/sponge-mixin/0.8.1+build.21/sponge-mixin-0.8.1+build.21.jar
C:/MultiMC/libraries/net/fabricmc/tiny-remapper/0.3.0.70/tiny-remapper-0.3.0.70.jar
C:/MultiMC/libraries/net/fabricmc/fabric-loader-sat4j/2.3.5.4/fabric-loader-sat4j-2.3.5.4.jar
C:/MultiMC/libraries/com/google/jimfs/jimfs/1.2-fabric/jimfs-1.2-fabric.jar
C:/MultiMC/libraries/org/ow2/asm/asm/9.0/asm-9.0.jar
C:/MultiMC/libraries/org/ow2/asm/asm-analysis/9.0/asm-analysis-9.0.jar
C:/MultiMC/libraries/org/ow2/asm/asm-commons/9.0/asm-commons-9.0.jar
C:/MultiMC/libraries/org/ow2/asm/asm-tree/9.0/asm-tree-9.0.jar
C:/MultiMC/libraries/org/ow2/asm/asm-util/9.0/asm-util-9.0.jar
C:/MultiMC/libraries/net/fabricmc/fabric-loader/0.10.0+build.208/fabric-loader-0.10.0+build.208.jar
C:/MultiMC/libraries/com/mojang/minecraft/1.16.3/minecraft-1.16.3-client.jar
Native libraries:
C:/MultiMC/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-natives-windows.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2-natives-windows.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-natives-windows.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-natives-windows.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-natives-windows.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2-natives-windows.jar
C:/MultiMC/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-natives-windows.jar
C:/MultiMC/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3-natives-windows.jar
Mods:
[❌] canvas-mc116-1.0.974.jar (disabled)
[❌] carpet-extra-1.16.3-1.4.11.jar (disabled)
[❌] connected-block-textures-0.1.3+1.16.jar (disabled)
[✔️] fabric-api-0.22.0+build.408-1.16
[❌] fabric-carpet-1.16.3-1.4.11+v200910.jar (disabled)
[❌] illuminations-1.1-1.16.1.jar (disabled)
[✔️] InventorySorter-1.7.3-1.16
[❌] itemscroller-fabric-1.16.3-0.15.0-dev.20200912.221805.jar (disabled)
[❌] litematica-fabric-1.16.3-0.0.0-dev.20200920.161640.jar (disabled)
[❌] lithium-fabric-mc1.16.3-0.5.6.jar (disabled)
[❌] malilib-fabric-1.16.3-0.10.0-dev.21+arne.1.jar (disabled)
[❌] minihud-fabric-1.16.3-0.19.0-dev.20200912.222204.jar (disabled)
[❌] modmenu-1.14.6+build.31.jar (disabled)
[❌] okzoomer-4.0.1+1.16.2.jar (disabled)
[❌] phosphor-fabric-mc1.16.1-0.6.0+build.7.jar (disabled)
[❌] sodium-fabric-mc1.16.3-0.1.0.jar (disabled)
[❌] tinytweaks-1.0.13.jar (disabled)
[❌] traverse-2.2.15+build.30.jar (disabled)
[❌] tweakeroo-fabric-1.16.3-0.10.0-dev.20200913.175041.jar (disabled)
Params:
--username --version MultiMC5 --gameDir C:/MultiMC/instances/1.16.2/.minecraft --assetsDir C:/MultiMC/assets --assetIndex 1.16 --uuid --accessToken --userType --versionType release
Window size: 854 x 480
Java Arguments:
[-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump, -Xms2048m, -Xmx4096m, -Duser.language=en]
Minecraft process ID: 18552
Using onesix launcher.
[04:57:36] [main/INFO]: Loading for game Minecraft 1.16.3
[04:57:37] [main/INFO]: [FabricLoader] Loading 46 mods: [email protected]+f8ac1db295, [email protected]+8724984195, [email protected], [email protected]+b50ffc7b95, [email protected]+3fa9f7c595, [email protected], [email protected]+5ce5339895, [email protected], [email protected]+build.208, [email protected]+f8ac1db295, [email protected]+f8ac1db295, [email protected]+f8ac1db295, [email protected]+045df74f95, [email protected]+f8ac1db295, [email protected]+f8ac1db295, [email protected]+f8ac1db295, [email protected]+b7f9825d95, [email protected], [email protected]+f8ac1db295, [email protected]+12a8474c95, [email protected]+f8ac1db295, [email protected]+f8ac1db295, [email protected]+730711c695, [email protected], [email protected]+f8ac1db295, [email protected]+facf3bbf95, [email protected]+eae12eb895, [email protected]+059ea86695, [email protected]+ac8e8c5995, blue_endless_jankson@+, [email protected]+c29459ab95, [email protected]+f8ac1db295, [email protected]+f8ac1db295, [email protected]+52d3083695, [email protected]+c6a8ea8995, [email protected]+74cc3b2095, [email protected]+b764ce9995, [email protected]+f8ac1db295, [email protected]+432ea18895, [email protected]+16acbe5b95, [email protected]+build.408-1.16, [email protected]+fb0d9b0e95, [email protected]+f8ac1db295, [email protected]+438f963695, [email protected]+432ea18895, [email protected]+e00ecb5f95
[04:57:37] [main/WARN]: Mod `blue_endless_jankson` (+) does not respect SemVer - comparison support is limited.
[04:57:37] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.1 Source=file:/C:/MultiMC/libraries/net/fabricmc/sponge-mixin/0.8.1+build.21/sponge-mixin-0.8.1+build.21.jar Service=Knot/Fabric Env=CLIENT
[04:57:41] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', name='PROD'
[04:57:41] [main/INFO]: Setting user: rmobis
[04:57:41] [main/INFO]: [Indigo] Registering Indigo renderer!
[04:57:41] [main/INFO]: Backend library: LWJGL version 3.2.2 build 10
[04:57:45] [main/INFO]: Narrator library for x64 successfully loaded
[04:57:45] [main/INFO]: Reloading ResourceManager: Default, Cloth Config v4, Fabric API, Fabric API Base, Fabric Biome API (v1), Fabric BlockRenderLayer Registration (v1), Fabric Containers (v0), Fabric Content Registries (v0), Fabric Crash Report Info (v1), Fabric Events Interaction (v0), Fabric Events Lifecycle (v0), Fabric Game Rule API (v1), Fabric Item API (v1), Fabric Item Groups (v0), Fabric Key Binding API (v1), Fabric Key Bindings (v0), Fabric Lifecycle Events (v1), Fabric Loot Tables (v1), Fabric Mining Levels (v0), Fabric Models (v0), Fabric Networking Block Entity (v0), Fabric Networking (v0), Fabric Object Builder API (v1), Fabric Object Builders (v0), Fabric Registry Sync (v0), Fabric Renderer API (v1), Fabric Renderer - Indigo, Fabric Renderer Registries (v1), Fabric Rendering Data Attachment (v1), Fabric Rendering Fluids (v1), Fabric Rendering (v0), Fabric Rendering (v1), Fabric Resource Loader (v0), Fabric Screen Handler API (v1), Fabric Tag Extensions (v0), Fabric Textures (v0), Fabric Tool Attribute API (v1), Fabric Loader, Inventory Sorter
[04:57:52] [main/INFO]: OpenAL initialized.
[04:57:52] [main/INFO]: Sound engine started
[04:57:52] [main/INFO]: Created: 1024x1024x4 minecraft:textures/atlas/blocks.png-atlas
[04:57:52] [main/INFO]: Created: 256x128x4 minecraft:textures/atlas/signs.png-atlas
[04:57:52] [main/INFO]: Created: 1024x512x4 minecraft:textures/atlas/banner_patterns.png-atlas
[04:57:52] [main/INFO]: Created: 1024x512x4 minecraft:textures/atlas/shield_patterns.png-atlas
[04:57:52] [main/INFO]: Created: 256x256x4 minecraft:textures/atlas/chest.png-atlas
[04:57:52] [main/INFO]: Created: 512x256x4 minecraft:textures/atlas/beds.png-atlas
[04:57:52] [main/INFO]: Created: 512x256x4 minecraft:textures/atlas/shulker_boxes.png-atlas
[04:57:53] [main/INFO]: Created: 256x256x0 minecraft:textures/atlas/particles.png-atlas
[04:57:53] [main/INFO]: Created: 256x256x0 minecraft:textures/atlas/paintings.png-atlas
[04:57:53] [main/INFO]: Created: 256x128x0 minecraft:textures/atlas/mob_effects.png-atlas
[04:57:59] [main/WARN]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
[04:57:59] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[04:57:59] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
[04:57:59] [main/WARN]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
[04:57:59] [main/WARN]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
[04:57:59] [main/INFO]: Reloading ResourceManager: Default, Fabric Tool Attribute API (v1)
[04:58:00] [main/INFO]: Loaded 7 recipes
[04:58:00] [main/INFO]: Loaded 927 advancements
[04:58:00] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', name='PROD'
[04:58:00] [Server thread/INFO]: Starting integrated minecraft server version 1.16.3
[04:58:00] [Server thread/INFO]: Generating keypair
[04:58:01] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[04:58:01] [main/INFO]: Preparing spawn area: 0%
[04:58:01] [main/INFO]: Preparing spawn area: 0%
[04:58:01] [main/INFO]: Time elapsed: 770 ms
[04:58:01] [Server thread/INFO]: Changing view distance to 8, from 10
[04:58:03] [Server thread/INFO]: rmobis[local:E:ec603f6a] logged in with entity id 78 at (9.931759692800494, 63.0, 38.98704704360832)
[04:58:03] [Server thread/INFO]: rmobis joined the game
[04:58:03] [Server thread/INFO]: Saving and pausing game...
[04:58:04] [Server thread/INFO]: Saving chunks for level 'ServerLevel[Blueland 200915]'/minecraft:overworld
[04:58:04] [main/INFO]: Loaded 592 advancements
[04:58:04] [Server thread/INFO]: Saving chunks for level 'ServerLevel[Blueland 200915]'/minecraft:the_nether
[04:58:04] [Server thread/INFO]: Saving chunks for level 'ServerLevel[Blueland 200915]'/minecraft:the_end
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 3
[04:58:12] [Server thread/INFO]: [STDOUT]: Sorting Key: enchanted_book 1
PS: I know the log says 1.16.2 at some paths, but that's because I named my instance 1.16.2
.
In the CurseForge comments you said there was a /sort command. This seems to be missing on the server-side. Does this only work if the client has this installed? If so, I think this should be fairly easy to implement on only the server.
Inventory Sorter: 1.5.0
Fabric Api: 0.3.1
Fabric Game/mappings: 1.14.4+build 9
Loader Version: 0.4.8+build.159
Java: Oracle java 8 u221
When using the sort button on a server nothing happens and this prints out to the console log. I tried getting brand new fabric files as well and I am still getting the same issue so it seems to be a problem with the mod at least on the most recent version.
This only occurs if there is more than 1 item being sorted, 1 item sorts without any errors and happens in all interfaces.
No issues in Single player using the same versions and mods and such.
[11:33:47] [Server thread/FATAL]: Error executing task on Server java.lang.NullPointerException: null at net.kyrptonaught.inventorysorter.SortableStack.getSortString(SortableStack.java:24) ~[InventorySorter-1.5.0.jar:?] at net.kyrptonaught.inventorysorter.SortableStack.compareTo(SortableStack.java:40) ~[InventorySorter-1.5.0.jar:?] at java.util.ComparableTimSort.countRunAndMakeAscending(Unknown Source) ~[?:1.8.0_221] at java.util.ComparableTimSort.sort(Unknown Source) ~[?:1.8.0_221] at java.util.Arrays.sort(Unknown Source) ~[?:1.8.0_221] at java.util.Arrays.sort(Unknown Source) ~[?:1.8.0_221] at java.util.ArrayList.sort(Unknown Source) ~[?:1.8.0_221] at java.util.Collections.sort(Unknown Source) ~[?:1.8.0_221] at net.kyrptonaught.inventorysorter.InventoryHelper.sortInv(InventoryHelper.java:26) ~[InventorySorter-1.5.0.jar:?] at net.kyrptonaught.inventorysorter.InventorySortPacket.lambda$null$0(InventorySortPacket.java:25) ~[InventorySorter-1.5.0.jar:?] at net.minecraft.class_3738.run(class_3738.java:18) ~[intermediary-server.jar:?] at net.minecraft.class_1255.method_18859(class_1255.java:144) [intermediary-server.jar:?] at net.minecraft.class_4093.method_18859(class_4093.java:23) [intermediary-server.jar:?] at net.minecraft.class_1255.method_16075(class_1255.java:118) [intermediary-server.jar:?] at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:712) [intermediary-server.jar:?] at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:706) [intermediary-server.jar:?] at net.minecraft.class_1255.method_18857(class_1255.java:127) [intermediary-server.jar:?] at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:691) [intermediary-server.jar:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:646) [intermediary-server.jar:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
When playing with the backslot mod, one of the slots interferes with the sort button (putting items in and out of that slot will trigger an inventory sort). Would it be possible to allow repositioning the button via config?
I'm pretty sure I've talked to you on discord, as I thought I had made an issue previously but see that I never made one. What I do recall is that you said the server doesn't use the config, and that only the client does. At least this is my memory lol.
Anyways, the reason I want the server to control the Blacklist is because, for example, Adorn Trading Tables can have their buy/sell items swapped, and Danks can end up removing everything above the vanilla stack limit. For AoF3 we did ship a client config with the screens we wanted disabled, and that worked, but then the config ended up default with the last update, and players can once again swap the buy/sell. But even with them having the config we ship, nothing is preventing them from removing those blacklisted inventories themselves to grief/steal.
Hi, I have this error when I try to sttart my server. Aparently, the mods do not detect fabric, but I have other mods (carpet) instaled without problems.
[20:05:53] [main/WARN]: Mod resolution failed
[20:05:53] [main/INFO]: Immediate reason: [HARD_DEP_NO_CANDIDATE inventorysorter 1.8.0-1.18 {depends fabric @ []}, ROOT_FORCELOAD_SINGLE inventorysorter 1.8.0-1.18]
[20:05:53] [main/INFO]: Reason: [HARD_DEP inventorysorter 1.8.0-1.18 {depends fabric @ []}]
[20:05:53] [main/INFO]: Fix: add [add:fabric 1 ([(-∞,∞)])], remove [], replace []
[20:05:53] [main/ERROR]: Incompatible mod set!
net.fabricmc.loader.impl.FormattedException: net.fabricmc.loader.impl.discovery.ModResolutionException: Mod resolution encountered an incompatible mod set!
A potential solution has been determined:
- Install fabric, any version.
Unmet dependency listing:
- Mod 'Inventory Sorter' (inventorysorter) 1.8.0-1.18 requires any version of fabric, which is missing!
at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:188) ~[fabric-loader-0.12.8.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:142) ~[fabric-loader-0.12.8.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:71) [fabric-loader-0.12.8.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.12.8.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66) [fabric-loader-0.12.8.jar:?]
Caused by: net.fabricmc.loader.impl.discovery.ModResolutionException: Mod resolution encountered an incompatible mod set!
A potential solution has been determined:
- Install fabric, any version.
Unmet dependency listing:
- Mod 'Inventory Sorter' (inventorysorter) 1.8.0-1.18 requires any version of fabric, which is missing!
at net.fabricmc.loader.impl.discovery.ModResolver.findCompatibleSet(ModResolver.java:183) ~[fabric-loader-0.12.8.jar:?]
at net.fabricmc.loader.impl.discovery.ModResolver.resolve(ModResolver.java:48) ~[fabric-loader-0.12.8.jar:?]
at net.fabricmc.loader.impl.FabricLoaderImpl.setup(FabricLoaderImpl.java:222) ~[fabric-loader-0.12.8.jar:?]
at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:186) ~[fabric-loader-0.12.8.jar:?]
... 8 more
Hello! Could you please help with configuring blacklist.json5 file? I don't want enchanted books to be sorted, so I added in blacklist.json5 the id of this item "minecraft:enchanted_book":
{
"blacklistedInventories": [
"minecraft:enchanted_book"
]
}
but those are still sorted. How to properly configure this file?
After 2aec657, I can't sort any chests. Only player inventory sorting works.
From what I can tell from the source, this mod will just send a packet to handle sorting on the server, making it useless on vanilla servers. Other similar mods support manually moving the items which allows them to function in multiplayer without server-side components.
If this is out of scope, perhaps some handshake can be added on server join to enable the UI buttons, so here aren't any dead buttons in the inventory screen which only serve to confuse people (like me :P).
Largebar mod uses the top row of the player inventory to extend the hotbar to 18 slots, It would be great if inventory-sorter was aware of largebar and avoided sorting the first row of the player inventory.
I'm wondering if you'd be interested in implementing sorting by enchantment. This would be specially awesome when sorting chests of enchanted books, but could also be useful for enchanted gear.
If that's a feature you'd approve, I'm willing to work on a PR. Just let me know.
AppliedEnergistics/Applied-Energistics-2#4639
It is sad they didn't report this to you, I found it there, and it is exactly what I am having.
Log-
https://gist.github.com/ProsperCraft/bdb4b565b497480e456a104b8b3780d6
Crash log-
https://gist.github.com/ProsperCraft/1bf692a2c9bf725e67f1601f01142367
Removing Inventory Sorter stops the client crash.
Pretty much the title. I disabled all ways of sorting so that only clicking the ui button should do the sorting. However, double clicking still sorts the inventory that is clicked in.
Minecraft 1.18
Fabric 0.12.8
Inventory Sorting 1.8.0-1.18
config.json:
{
// Enable 'Sort' button in inventorys
"displaySort": true,
// Middle click slot to sort inventorys
"middleClick": false,
// Double click slot to sort inventorys
"doubleClickSort": false,
// Enable second 'Sort' button in player inv
"seperateBtn": true,
// Sorting inv also sorts player inv
"sortPlayer": false,
// Method of sorting, NAME,CATEGORY,MOD
"sortType": "NAME",
// Display Sort Button Tooltip
"displayTooltip": true,
// Sort Inventory key
"keybinding": "key.keyboard.unknown",
// Should sort half of open inv highlighted by mouse
"sortMouseHighlighted": false,
"debugMode": false
}
It seems like Inventory Profiles has been abandoned, which is a shame, because it had the best inventory sorting functionality for fabric out there (works the same as Inventory Tweaks did).
This would
Don't know who has to implement this: Draylar/inmis#13
everything is fine, but it just not working neither clicking the button nor pressing p
Using Fabric 1.14.3 server if you sort a chest it breaks, if it helps the contents of the chest are as such: https://i.imgur.com/s1u99Qo.png
I have no other mods that should conflict (pretty much just optifine and optifabric and REI) and definitely none that change anything chest/inventory wise other than REI I suppose.
Reproduction steps: Pretty much open a chest and the second you click the sort button it crashes and says "The server is closed" and then crashes the server.
If you need any more info let me know and I can try to get it for you! But here is the crash report below.
java.lang.NoSuchMethodError: net.minecraft.class_1792.method_7848()Lnet/minecraft/class_2561;
at net.kyrptonaught.inventorysorter.SortableStack.getCleanName(SortableStack.java:17)
at net.kyrptonaught.inventorysorter.SortableStack.compareTo(SortableStack.java:28)
at java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:320)
at java.util.ComparableTimSort.sort(ComparableTimSort.java:188)
at java.util.Arrays.sort(Arrays.java:1312)
at java.util.Arrays.sort(Arrays.java:1506)
at java.util.ArrayList.sort(ArrayList.java:1462)
at java.util.Collections.sort(Collections.java:141)
at net.kyrptonaught.inventorysorter.InventorySorter.sortInv(InventorySorter.java:43)
at net.kyrptonaught.inventorysorter.InventorySorter.lambda$null$0(InventorySorter.java:29)
at net.minecraft.class_3738.run(class_3738.java:18)
at net.minecraft.class_1255.method_18859(class_1255.java:135)
at net.minecraft.class_4093.method_18859(class_4093.java:23)
at net.minecraft.class_1255.method_16075(class_1255.java:114)
at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:701)
at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:695)
at net.minecraft.class_1255.method_5383(class_1255.java:99)
at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:679)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:635)
at java.lang.Thread.run(Thread.java:748)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- System Details --
Details:
Minecraft Version: 1.14.3
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_171, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 4893543144 bytes (4666 MB) / 6284115968 bytes (5993 MB) up to 6284115968 bytes (5993 MB)
I can't replicate it in survival, but it probably shouldn't happen at all, regardless of gamemode.
To reproduce, move an item directly down in your inventory and sort it. Sometimes it gets duped.
I only use this mod to sort chests and other containers. I hate it when I accidentally sort my perfectly organized inventory, and I have to move everything back to their positions.
It'd be really nice if I could just completely disable inventory sorting altogether while still being able to sort containers.
MC 1.14.3
InventorySorter-1.4.0.jar
I had Display 'Sort' button on left
set to Yes before updating to InventorySorter-1.4.0.jar.
After updating to InventorySorter-1.4.0.jar, the sort button is always on the right, the config screen is set to yes, but the config file value is set to false.
I had to edit the config file and change "left_display": true
to make it work. Changing the setting in the config screen in game does nothing, and its always set to "Yes"
Building fails with the following error:
A problem occurred configuring root project 'Inventory-Sorter'.
Could not resolve all files for configuration ':modImplementation'.
Could not resolve net.kyrptonaught:kyrptconfig:1.1.6-1.16.
Required by:
project :
> Could not resolve net.kyrptonaught:kyrptconfig:1.1.6-1.16.
> Could not get resource 'https://dl.bintray.com/kyrptonaught/kyrptconfig/net/kyrptonaught/kyrptconfig/1.1.6-1.16/kyrptconfig-1.1.6-1.16.pom'.
> Could not GET 'https://dl.bintray.com/kyrptonaught/kyrptconfig/net/kyrptonaught/kyrptconfig/1.1.6-1.16/kyrptconfig-1.1.6-1.16.pom'. Received status code 403 from server: Forbidden
On my Paper servers I had a server-side sorting plugin which allowed you to sort your chests by double clicking an empty slot. Players loved it, and ever since switching to Fabric I still get asked the question when it will return.
I've installed your mod on my Fabric server, and it runs great. But most people don't want to mess around with installing Fabric and such just to sort their chests. And typing the command each time is too much work.
So can it be implemented so that players without the mod can sort their chests by just double clicking an empty inventory slot?
When typing p
(or whatever key you have selected in Controls) into the recipe book search box, it sorts the player's inventory.
Could you make it so Button 4/5 (idk the buttons on the side of my mouse) can sort inventories?
Taken from the server console (not sure if this is useful):
[08:57:50] [Server thread/FATAL]: Error executing task on Server
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:657) ~[?:1.8.0_212]
at java.util.ArrayList.get(ArrayList.java:433) ~[?:1.8.0_212]
at net.minecraft.class_1703.getInventory(class_1703.java:748) ~[intermediary-server.jar:?]
at net.kyrptonaught.inventorysorter.InventorySortPacket.lambda$registerReceivePacket$0(InventorySortPacket.java:26) ~[InventorySorter-1.7.0-1.16.jar:?]
at net.minecraft.class_3738.run(class_3738.java:18) ~[intermediary-server.jar:?]
at net.minecraft.class_1255.method_18859(class_1255.java:144) ~[intermediary-server.jar:?]
at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:763) ~[intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:154) ~[intermediary-server.jar:?]
at net.minecraft.class_1255.method_16075(class_1255.java:118) ~[intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:745) ~[intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:739) ~[intermediary-server.jar:?]
at net.minecraft.class_1255.method_18857(class_1255.java:127) ~[intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:724) ~[intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:676) ~[intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:256) ~[intermediary-server.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
The sort button is in a strange place in certain modes.
So I tried to delete it through settings, but there was no way to use it.
How to set up a blacklist A detailed method is needed.
Please add an easy-to-use method (eg mod name) or a way to find it.
the game crashes in 1.17 fabric when opening up a game.
crash-2021-06-21_23.58.27-client.txt
It would be very useful to be able to use this with vanilla servers. Is there a possibility of doing that?
Spinnery adds a way to create a crafting recipe in-game, however for some reason Minecraft's slot handler considers there to be no slots after opening and closing an REI window. Due to your hardcoded size - 36
and lack of a Math.min()
, the game crashes at this point, and Not Enough Crashes blames the other two mods.
I was "thinking out loud" on a Java discord server about the problem as I was working through it. I also have a crash report if you need/want.
Hello, I just installed last version for 1.15.2 Fabric, everything is working fine but i don't know how to change config(sort by category etc)
I have the mod installed in fabric 1.17 and the mod only works in singleplayer
how to replicate:
-get inventorysorting
-put a single item in your inventory slot
-middleclick on it
Sorting with the button sorts and correctly updates the items visually, but middle-click sorting (which I got into the habit of doing from InventoryTweaks years ago) only sorts the items "internally", with no visual change.
I'm not sure how this can happen since both methods just call sendSortPacket
but it somehow does.
In IgnoreList.java appears that you wanted to add a default blacklist of troublesome containers, but it's not being applied on new install
I really miss this feature from InventoryTweaks Forge mod, and I'm not alone who would like to have this.
I would like to be able to define a list of items (not user friendly but simple enough) or item groups/types (e.g. weapons, tools, decoration; may be based on tags?) that should be put in each cell / row / column in any inventory (player, chest, barrel, maybe modded inventories like backpacks later).
At the very least, I would like to be able to define a list of items to be put in each hotbar slot. First item in the list would take priority over second one, if first exists in inventory. If no items from the list exist in inventory, slot can be filled by any item (if inventory is full) or left empty by default. I think the list should accept namespaced ids in one form or another.
E.g. H1=item:diamond_sword,item:iron_sword
would try to put diamond sword in hotbar slot 1; then, if no diamond sword is in inventory, try to put iron sword; if not found - leave blank / fill according to sort pattern.
Same type of config should be available for other hotbar slots.
Later you could consider adding support for tags, as well as custom item groups like group:hoeaxeshovel
(see InvTweaks Tree example below). If it's possbile, common groups like tools
, weapons
, as well as more precise ones like swords
, axes
, minecarts
should be available by default (but not sure where to get the info for this from, since there are no such tags; InvTweaks provided its own default groups that were maintained manually by developer).
I think you can have something similar to groups if you add wildcard searches, e.g. item:*_sword
to find all swords, then apply descending sort by item quality/durability/etc. (higher quality should be above in the list).
Examples of my setup / use case from Inventory Tweaks are below.
Code for original Forge mod is available in:
https://github.com/skiptirengu/inventory-tweaks/tree/mc-1.15.x (possibly updated fork for 1.15)
https://github.com/reo-ar/InvTweaksRenewed (rewrite/port for 1.16)
This guy does something similar to what I propose here, but currently lacks features needed for it to work:
https://github.com/jsnimda/Inventory-Profiles
Hope this isn't too much and could be considered for inclusion in this mod (at least hotbar & simple item list part).
Readme copypasted from InvTweaks Rules file:
# SORTING RULES
# Each line you type is a new constraint you add for sorting your inventory.
# After any change, just press the sorting key to reload the settings. Some examples:
# * "D1 sword" puts any sword in row D, column 1 (see grid below)
# * "A edibleFood" fills the A row with food
# * "1 ironPickaxe" fills the 1 column with an iron pickaxe
# * "A1-C4 blocks" fills the rectangle with any blocks
# * "D LOCKED" avoids items from the hotbar to move out of it when sorting
# INVENTORY GRID
# 1 2 3 4 5 6 7 8 9
# A [A1][A2][A3][A4][A5][A6][A7][A8][A9]
# B [B1][B2][B3][B4][B5][B6][B7][B8][B9]
# C [C1][C2][C3][C4][C5][C6][C7][C8][C9]
#
# D [D1][D2][D3][D4][D5][D6][D7][D8][D9]
# AVAILABLE KEYWORDS
# Open the 'InvTweaksTree.txt' file for a list of available keywords. If an item
# is missing from the item tree (for example mod items), you can either add it
# or create a rule by ID. Examples: "D5 203", "D9 12345-13"
Example of Rules config (D = hotbar):
D1 pickaxe
D2 lightEmissive
D3 weapon
D4 hoeAxeShovel
D5 edibleFood
D6 additionalTool
D7 stones
D8 dirts
D9 misc
A9 craftingTable
B9 coal
A8 wood
B8 woodenPlank
C8 sticks
Example of custom item group definition from InvTweaks Tree file (used in Rules config):
<customprofile>
<hoeAxeShovel>
<hoe>
<goldHoe id="golden_hoe" />
<diamondHoe id="diamond_hoe" />
<ironHoe id="stone_hoe" />
<stoneHoe id="iron_hoe" />
<woodHoe id="wooden_hoe" />
</hoe>
<axe>
<goldAxe id="golden_axe" />
<diamondAxe id="diamond_axe" />
<ironAxe id="iron_axe" />
<stoneAxe id="stone_axe" />
<woodAxe id="wooden_axe" />
</axe>
<shovel>
<goldShovel id="golden_shovel" />
<diamondShovel id="diamond_shovel" />
<ironShovel id="iron_shovel" />
<stoneShovel id="stone_shovel" />
<woodShovel id="wooden_shovel" />
</shovel>
</hoeAxeShovel>
<additionalTool>
<flintAndSteel id="flint_and_steel" />
<shears id="shears" />
<fishingRod id="fishing_rod" />
<waterBucket id="water_bucket" />
<minecart id="minecart" />
<emptyBucket id="bucket" />
</additionalTool>
<misc>
<craftingTable id="crafting_table" />
<furnace id="furnace" />
</misc>
</customprofile>
My server is crashing whenever any of my players try to sort anything (inventory, chests, etc). I have a crash log, but I'm not entirely sure what is happening. It happens both with the middle mouse wheel and key shortcut, as well as the GUI button.
crash-2019-07-28_20.17.02-server.txt
Minecraft Server v1.14.4
Mod Files used:
Adorn-1.2.0+1.14.4.jar
appleskin-mc1.14-fabric-1.0.6.jar
Autofish-0.8.4-fabric-mc1.14.jar
chunk-activator-1.2.0+mc1.14.4.jar
durabilityviewer-1.14-fabric0.2.7-1.5.jar
easyexcavate-1.5.1.jar
ender_compass-2.2.1.jar
fabric-api-0.3.0+build.206.jar
fabric-language-kotlin-1.3.40+build.1.jar
FabricMagnet-1.14-1.0.1.jar
fabricmod_VoxelMap-1.9.13_for_1.14.4.jar
FenceJumper-1.14.2-1.0.7.jar
fishtraps-0.0.4.jar
Harvest-1.14-fabric-1.0.4.jar
InventorySorter-1.4.2.jar
leaf-decay-1.0.3.jar
malilib-fabric-1.14.4-0.10.0-dev.20.jar
notenoughwands-1.14-1.7.5.beta.jar
RoughlyEnoughItems-2.9.7+build.143.jar
simpleteleporters-FABRIC-1.14.1-1.1.0.jar
stockpile-1.0.9+1.14.4.jar
theoneprobe-1.14-1.4.29.beta.jar
vanilla-hammers-1.5.0.jar
vanilladeathchest-1.14.3-1.10.1.0-fabric.jar
vivatech-1.0.0-alpha.14+1.14.4.jar
woodmill-1.1.0.jar
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.