CotiiUI Lib
The side panel UI library behind CubOsu!, QuickTime Events, Customlights and General Cotii_Art Mods!.
You only need it if another mod asks for it. It adds nothing to the game by itself: install it next to the mods that use it.
Supported Versions
| Loader |
Minecraft |
| Fabric |
1.20.1 · 1.20.4 · 1.21.1 · 1.21.4 · 1.21.5 · 1.21.8 · 1.21.11 · 26.2 · 26.3 |
| NeoForge |
1.20.1 · 1.20.4 · 1.21.1 · 1.21.4 · 1.21.5 · 1.21.8 · 1.21.11 · 26.2 · 26.3 |
| Forge |
1.20.1 · 1.20.4 |
Works with Sodium, and on 26.x with both OpenGL and Vulkan.
What It Gives Mods
- A sliding side panel that stays out of the way of the game, so changes are previewed live.
- Collapsible sections, sliders, toggles, buttons, text fields, dropdowns with previews and a colour picker.
- Pop-up windows, tooltips and a status line.
- Themes:
PINK RED PURPLE BLUE GREEN
- English and Spanish texts, and any other language a mod adds.
- One set of drawing and input methods that works the same on every Minecraft version and loader.
For Developers
Depend on com.cotii:cotiiui-<loader>:1.0.8+<minecraft> and nest it in your jar.
public final class MyPanel extends UiPanel {
@Override
protected String title() {
return "My mod";
}
@Override
protected int layout(int y) {
header(y, "General");
y += 12;
toggle("enabled", LEFT, y, INNER, "Enabled", () -> enabled, value -> enabled = value);
return y + ROW;
}
}
CotiiUI.applyTheme(Theme.BLUE);
CotiiUI.registerTranslations("mymod", MyMod.class.getClassLoader());
CotiiUI.openPanel(Component.literal("My mod"), new MyPanel());
Translations are read from assets/<namespace>/i18n/<language>.json, keyed by the English text.
Other helpers:
Draw — rectangles, gradients, lines, rings, arcs, discs, stars and frames
Gfx — drawing text and textures the same way on every version
BaseScreen — one set of mouse and keyboard methods for every version
DynamicImage — textures created at runtime