IconButtons API

IconButtons API

用于在标题菜单和暂停菜单的图标按钮行中轻松添加按钮的API

IconButtons API

用于在标题菜单和暂停菜单的图标按钮行中轻松添加按钮的 API

预览图

集成方法

1. 配置 build.gradle

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

2. 配置 gradle.properties

在 gradle.properties 文件中添加以下行,并将值替换为目标版本:

iconbuttonsapi_version=1.0.0

3. 配置 fabric.mod.json

不要忘记在 fabric.mod.json 中声明依赖,以便 Fabric Loader 在运行时验证:

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

使用方法

API 的主要入口点是 IconButtons 类。它提供了方法,可以轻松地将任何 AbstractWidget(如按钮、滑块等)添加到 Minecraft 标题屏幕或暂停菜单的行中。

您可以注册按钮使其永久可见,或使用 BooleanSupplier 动态控制其可见性。

示例

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);
    }
}

功能

  • 自动定位:您无需为部件指定坐标(X 和 Y)。API 会自动计算并应用定位,将您的按钮排列成整齐的行。
  • 尺寸:建议使用 IconButtons.getButtonWidthAndHeight()(返回 20)来获取正确的尺寸,以确保您的图标与原版图标完美匹配。