From 114574bff36bfb16ca37ee5b88c5c7849f652c16 Mon Sep 17 00:00:00 2001 From: Frank Bauer Date: Sat, 31 Jul 2021 10:32:23 +0200 Subject: [PATCH] Added class to help with simple GridLayouts --- src/main/java/ru/bclib/gui/GridLayout.java | 122 ++++++++++++++++++ .../bclib/gui/screens/ConfirmFixScreen.java | 74 +++-------- 2 files changed, 140 insertions(+), 56 deletions(-) create mode 100644 src/main/java/ru/bclib/gui/GridLayout.java diff --git a/src/main/java/ru/bclib/gui/GridLayout.java b/src/main/java/ru/bclib/gui/GridLayout.java new file mode 100644 index 00000000..bc4b2976 --- /dev/null +++ b/src/main/java/ru/bclib/gui/GridLayout.java @@ -0,0 +1,122 @@ +package ru.bclib.gui; + +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.components.Button; +import net.minecraft.client.gui.components.Button.OnPress; +import net.minecraft.client.gui.components.MultiLineLabel; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.function.Consumer; + +public class GridLayout { + class LablePos { + final MultiLineLabel label; + final int top; + + LablePos(MultiLineLabel label, int top){ + this.label = label; + this.top = top; + } + } + + class ButtonPos { + final int height; + final int width; + final float alpha; + final Component component; + final Button.OnPress onPress; + + ButtonPos(float alpha, int width, int height, Component component, OnPress onPress) { + this.height = height; + this.width = width; + this.alpha = alpha; + this.component = component; + this.onPress = onPress; + } + } + public final int width; + @NotNull + private final Font font; + private final Consumer