Welcome to the OptiGUI documentation. OptiGUI enables the customization of any inventory GUIs on Fabric&Quilt, and has built-in support for OptiFine resource packs.
OptiFine resource packs
OptiGUI supports OptiFine resource packs. When loading OptiFine resources, OptiGUI internally converts them to the equivalent OptiGUI resource, then proceeds to load them.
If you want to reach a broader user base with your resource pack, and OptiFine provides all the necessary features, then create an OptiFine resource pack. However, if some features are not possible with OptiFine, scroll down for alternatives.
OptiGUI resource packs
I also found it confusing using
container=chest, as there is no way to specify whether to replace the texture of a single chest, and adding
_barrel to it was a mistake, because OptiFine ignores
_barrel as mentioned in #30.
I introduced OptiGUI-specific configuration files in OptiGUI 2.1.0-beta.1, which enables the use of more precise selectors to choose when to replace the texture. These can be found here. More selectors are planned to be added in later versions, you can check out GitHub issues to see some of them.
Hybrid resource packs
OptiGUI and OptiFine resources reside in different folders, and have different file extensions, so it is possible to create "hybrid resource packs".
If you want to use OptiGUI features, and also want to support OptiFine, then I recommend creating OptiFine-specific assets whenever possible, and if it's not possible, use OptiGUI features. These latter resources will only be available for OptiGUI users, while OptiFine users can enjoy a subset of your resource pack.
Referencing OptiFine textures from OptiGUI INI files
OptiFine assets are located in the
/assets/minecraft/optifine/gui/container/ folder (or its children).
If you have a texture at
/assets/minecraft/optifine/gui/container/shulker_boxes/purple.png, you can reference it from any OptiGUI INI file using:
Referencing OptiGUI assets from OptiFine properties
OptiGUI assets are located in the
/assets/optigui/gui/ folder (or its children).
If you have a texture at
/assets/optigui/gui/shulker_boxes/purple.png, you can reference it from any OptiFine properties file using:
Replacing inventory menu textures (typically found on servers)
WIP. Some tips can be found in #50.
Animations may be possible in the future with selectors, like
frame.denominator (non-existent at the moment), which is different from OptiFine custom animations.