Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
SkyBlock Item List + Enhanced Storage Compatibility
A simple mod to integrate Enhanced Storage with SkyBlock Item List. This mod does two things:
- Implement a Item List plugin to add exclusion zones with Enhanced Storage's screen.
- Shift Enhanced Storage's UI down to prevent it from overlapping with Item List's pagination controls.
"Frequently" Asked Questions
Do I need both SkyBlock Item List and Enhanced Storage installed?
Yes, this mod depends on both of these mods, as it patches Enhanced Storage and implements a plugin for SkyBlock Item List. Your game will run fine if you do not have both of these mods installed, but the mod will disable itself at launch when it detects either of the mentioned mods are missing.
Why create an entirely seperate mod just for this?
My original plan was to make a pull request to the Enhanced Storage GitHub repository. I unfortunately had to scratch the plan for reasons explained below.
Short answer: Enhanced Storage's source code is... well, let's just say "peculiar". Attempting to contribute on it was unpleasant and not worth the effort to me, and I have concluded that my best course of action is to just create a seperate mod for this.
Long (technical) answer:
Enhanced Storage already has some integrations done with other mods (namely Reliable Recipe Viewer and Skyblocker). Naturally, I wanted to follow a similar code pattern to follow the maintainer's conventions.
However, these aforementioned integrations were done via reflection in order to keep the mods being integrated a soft dependency (which, by the way, is unnecessary as there are much saner methods to achieve this).
In order to create a plugin for SkyBlock Item List, you need to create a class implementing their Plugin interface in their API and add a skyblock-item-list entrypoint in your mod's fabric.mod.json.
With this in mind, this situation left me with three options if I wanted to make a pull request to Enhanced Storage:
-
Follow Enhanced Storage's maintainer's way of making integrations and use reflection. This would require the use of a
Proxyto implement thePlugininterface from SkyBlock Item List, which is very much overkill for this use case. This would also require to somehow signal Item List to apply the plugin without adding an entrypoint in the mod's metadata file, as I would assume the maintainer would want to avoid this. For obvious reasons, I did not choose this option. -
Forgo SkyBlock Item List's plugin API system and directly register the exclusion zones via reflection. I did not want to do this as it is a very hacky solution, and it would be more susceptible to incompatibilities should SkyBlock Item List ever decide to update their internal exclusion zone registration system.
-
Ignore the maintainer's conventions and actually add SkyBlock Item List as a dependency (which would still be considered a soft dependency). This is very poor practice when it comes to contributing to a project, so I couldn't pick this option out of principle.
With none of these options being satisfactory to me, I attempted to contact the maintainer via the Discord server provided in the mod homepage. However, the server's structure was an absolute visual mess, and I did not want to engage in it. This has thus led me into creating this mod.
Why didn't you create another storage overlay mod instead?
I did not want to commit into starting a project with such a substantial feature yet, especially considering there's already a mod that does this (mostly) fine. Maybe in the future.
Will you allow this mod to be implemented directly into Enhanced Storage?
Sure, provided that the implementation complies with the GPL-3.0, which is what this project is licensed under.
The maintainer or contributors of Enhanced Storage are also free to contact me in order to work this out, whether that'd be through direct messages or a mutual server on Discord, or on a different discussion platform.
Why is the name of this mod such a mouthful?
Yes.


