Skip to content

IconButtons API

API for easily adding buttons to the Icon Buttons row in the title menu and pause menu

Fabric
Loaders
Fabric
Downloads on Modrinth
2.4K
Followers on Modrinth
2
versions
3
Updated
September 19, 2026Sep 19
Published
in 2026
This is a library — other mods need it, and it adds nothing to the game by itselfRequired by 1 mods. Download it if another mod needs it.
Example Buttons · swipe

At a glance

A library: other mods need it — required by 1 mods
Runs on Fabric
For Minecraft 26.2–26.3
Client only — no need to install it on the server
Latest version — 1.0.2+mc-26.3 from September 19, 2026
License MIT — free
Where it's needed
In gamerequiredOn servernot needed

Install in the game only; not needed on the server

Game versions26.2–26.3

IconButtons API

API for easily adding buttons to the Icon Buttons row in the title menu and pause menu

preview

Implementation

1. Configure build.gradle

repositories {
    maven {
        url "https://api.modrinth.com/maven"
    }
}
dependencies {
    implementation "maven.modrinth:iconbuttonsapi:${project.iconbuttonsapi_version}+mc-${project.minecraft_version}"
}

2. Configure gradle.properties

Add the following lines to your gradle.properties file and replace the values with your target versions:

iconbuttonsapi_version=1.0.0

3. Configure fabric.mod.json

Don't forget to declare the dependency in your fabric.mod.json so Fabric Loader can verify it at runtime:

"depends": {
    ...
    "iconbuttonsapi": ">=1.0.0"
}

Usage

The main entry point of the API is the IconButtons class. It provides methods to easily add any AbstractWidget (like buttons, sliders, etc.) to the Minecraft Title Screen or Pause Menu rows.

You can register buttons to stay visible permanently or control their visibility dynamically using a BooleanSupplier.

Example


public class ExampleModClient implements ClientModInitializer {  
    public static final String MOD_ID = "iconbuttonsapi";  
    public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
    public static boolean willShow = true;

    @Override
    public void onInitializeClient() {
        Button buttonHi = Button.builder(
                Component.literal("hi"),
                b -> {
                    LOGGER.info("Hi!");
                }
        ).size(IconButtons.getButtonWidthAndHeight(), IconButtons.getButtonWidthAndHeight()).build();
        Button buttonToggleShow = Button.builder(
                Component.literal("T"),
                b -> {
                    willShow = !willShow;
                }
        ).size(IconButtons.getButtonWidthAndHeight(), IconButtons.getButtonWidthAndHeight()).build();

        IconButtons.addTitleScreenButton(buttonHi, () -> willShow);
        IconButtons.addPauseScreenButton(buttonHi, () -> willShow);

        IconButtons.addTitleScreenButton(buttonToggleShow);
        IconButtons.addPauseScreenButton(buttonToggleShow);
    }
}

Features

  • Automatic Positioning: You don't need to specify coordinates (X and Y) for your widgets. The API calculates and applies positioning automatically, arranging your buttons into a neat row.
  • Size: It is recommended to use IconButtons.getButtonWidthAndHeight() (returns 20) for the correct size to ensure your icons fit perfectly alongside vanilla icons.

FAQ

How to install IconButtons API?

Install Fabric for your Minecraft version, download IconButtons API for the same version and loader, put the file into the mods folder and launch the game with the loader profile.

Which Minecraft versions does IconButtons API support?

IconButtons API has builds for Minecraft 26.2–26.3.

Is IconButtons API needed on the server?

Client only — no need to install it on the server

License and source
MIT Licensefree to use and share with credit to the author
Original — Modrinth↗Files unchanged, verified with SHA-512Is this your mod? For rights holders

The site uses cookies: the necessary ones for sign-in and the theme, plus the Yandex Metrica and LiveInternet visit counters — they show us how the site is used. We have no advertising cookies. More