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