]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/client/gui/AbstractControl.java
Get 1.17.1 building
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / gui / AbstractControl.java
1 package com.irtimaled.bbor.client.gui;
2
3 import net.minecraft.client.MinecraftClient;
4 import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
5 import net.minecraft.client.gui.widget.ClickableWidget;
6 import net.minecraft.client.util.math.MatrixStack;
7 import net.minecraft.text.LiteralText;
8
9 import java.awt.*;
10
11 abstract class AbstractControl extends ClickableWidget implements IControl {
12     private static final int PADDING = 4;
13     protected final MinecraftClient minecraft;
14
15     AbstractControl(int x, int y, int width, String name) {
16         super(x, y, width, 20, new LiteralText(name));
17         this.minecraft = MinecraftClient.getInstance();
18     }
19
20     @Override
21     public void render(MatrixStack matrixStack, int mouseX, int mouseY) {
22         super.render(matrixStack, mouseX, mouseY, 0f);
23     }
24
25     public void setX(int x) {
26         super.x = x;
27     }
28
29     public void setY(int y) {
30         super.y = y;
31     }
32
33     public int getControlHeight() {
34         return this.height + PADDING;
35     }
36
37     public int getControlWidth() {
38         return this.width + PADDING;
39     }
40
41     @Override
42     protected void renderBackground(MatrixStack matrixStack, MinecraftClient minecraft, int mouseX, int mouseY) {
43         if (active) renderBackground(matrixStack, mouseX, mouseY);
44     }
45
46     protected void renderBackground(MatrixStack matrixStack, int mouseX, int mouseY) {
47     }
48
49     @Override
50     public boolean isVisible() {
51         return this.visible;
52     }
53
54     public void filter(String lowerValue) {
55         String lowerString = this.getMessage().asString().toLowerCase();
56         this.visible = lowerValue.equals("") ||
57                 lowerString.startsWith(lowerValue) ||
58                 lowerString.contains(" " + lowerValue);
59     }
60
61     void drawRectangle(MatrixStack matrixStack, int left, int top, int right, int bottom, Color color) {
62         fill(matrixStack, left, top, right, bottom, color.getRGB());
63     }
64
65     @Override
66     public void clearFocus() {
67         this.setFocused(false);
68     }
69
70     @Override
71     public void appendNarrations(NarrationMessageBuilder builder) {
72     }
73 }