ScreenAPI

让模组开发者的界面制作更简单

ScreenAPI

Time

我在尝试让滚动中的数学运算成立时感到非常沮丧

build.gradle

repositories {
    maven { url "https://api.modrinth.com/maven" }
}

dependencies {
   implementation "maven.modrinth:screenapi:${project.screenapi_version}"
}

API 用法

package me.you.yourprojectwhichusesscreens.screens;

import hu.jgj52.screenapi.screen.BetterScreen;
import net.minecraft.client.gui.Font;
import net.minecraft.client.gui.GuiGraphicsExtractor;
import net.minecraft.client.gui.components.StringWidget;
import net.minecraft.network.chat.Component;

public class YourScreen extends BetterScreen {
    @Override
    protected int getScrollSpeed() {
        return 10;
    }

    @Override
    public void render(GuiGraphicsExtractor guiGraphics, int mouseX, int mouseY, float partialTick) {
        // 就像 yarn 中的 render 方法一样
        StringWidget stringWidget = getWidget("widget id", StringWidget.class); // 如果不是 StringWidget 则返回 null
    }

    @Override
    protected void createWidgets(Font font) {
        widget(new StringWidget(
                10,
                20,
                font.width("cat"),
                font.lineHeight,
                Component.literal("cat"),
                font
        ), "widget id"); // 使用 widget id,之后可以在 render 等方法中通过 getWidget() 获取该 widget
    }
}