Makes screen making easier for me
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-18 21:15:41 +02:00
.forgejo/workflows build cache 2026-09-18 20:36:53 +02:00
gradle/wrapper add here too 2026-07-24 09:42:09 +02:00
src/main 26.3 should work, and waveycapes supports default capelayer fallback now so removed that also 2026-09-18 20:18:53 +02:00
versions this is enough 2026-09-18 21:15:41 +02:00
.gitignore dont need this anymore 2026-07-24 11:07:35 +02:00
build.gradle.kts 26.3 should work, and waveycapes supports default capelayer fallback now so removed that also 2026-09-18 20:18:53 +02:00
gradle.properties 26.3 should work, and waveycapes supports default capelayer fallback now so removed that also 2026-09-18 20:18:53 +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 this is enough 2026-09-18 21:15:41 +02:00
stonecutter.gradle this is enough 2026-09-18 21:15:41 +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
    }
}