Makes screen making easier for me
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
JGJ52 e61911cd43 i forgot this
im not making a version for this tho
2026-08-04 21:17:10 +02:00
.forgejo/workflows i do wanna spam modrinth 2026-07-27 19:27:22 +02:00
gradle/wrapper add here too 2026-07-24 09:42:09 +02:00
src/main i forgot this 2026-08-04 21:17:10 +02:00
versions fix the 1.21.11 issue 2026-07-27 16:00:51 +02:00
.gitignore dont need this anymore 2026-07-24 11:07:35 +02:00
build.gradle.kts easier 2026-07-27 17:25:20 +02:00
gradle.properties fix a bug in scroll 2026-08-01 15:30:01 +02:00
gradlew add here too 2026-07-24 09:42:09 +02:00
gradlew.bat add here too 2026-07-24 09:42:09 +02:00
LICENSE Update LICENSE 2026-07-25 23:11:05 +02:00
README.md readme 2026-06-16 13:21:05 +02:00
settings.gradle.kts fix the 1.21.11 issue 2026-07-27 16:00:51 +02:00
stonecutter.gradle more vscreen 2026-07-23 18:44:44 +02:00

ScreenAPI

Time

i got so upset trying to make the math mathing in scroll

build.gradle

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

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

API usage

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) {
        // just like render method in yarn
        StringWidget stringWidget = getWidget("widget id", StringWidget.class); // will return null if its not StringWidget
    }

    @Override
    protected void createWidgets(Font font) {
        widget(new StringWidget(
                10,
                20,
                font.width("cat"),
                font.lineHeight,
                Component.literal("cat"),
                font
        ), "widget id"); // with widget id you can later get that widget using getWidget(), just like in render
    }
}