ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("meitnerium")
.executes(context -> {
MinecraftClient.getInstance().setScreen(new MenuScreen());
context.getSource().sendFeedback(Text.literal("uhh"));
return 1;
}
)));
MenuScreen:
public class MenuScreen extends Screen {
private final List<ButtonWidget> buttons = Lists.<ButtonWidget>newArrayList();
@Nullable
private ButtonWidget titleScreenButton;
protected MenuScreen() {
super(Text.of("Meitnerium | beta"));
}
@Override
protected void init(){
var btn = new ButtonWidget.Builder(Text.of("idk"), buttonWidget -> {
}).dimensions(100, 100, 100, 100).build();
this.buttons.add(btn);
this.addDrawableChild(btn);
System.out.println("rompompom");
}
@Override
public void renderBackground(DrawContext context, int mouseX, int mouseY, float delta) {
fillBackgroundGradient(context, this.width, this.height);
}
static void fillBackgroundGradient(DrawContext context, int width, int height) {
context.fillGradient(0, 0, width, height, 1615855616, -1602211792);
}
@Override
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
System.out.println("RENDER");
super.render(context, mouseX, mouseY, delta);
}
@Override
public boolean shouldPause() {
return false;
}
}
In logs i can see that my screen only inits
[14:50:06] [Render thread/INFO] (Minecraft) Loaded 60 advancements
[14:50:10] [Render thread/INFO] (Minecraft) [STDOUT]: rompompom
[14:50:10] [Render thread/INFO] (Minecraft) [System] [CHAT] uhh