aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/main/java/me')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java13
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java12
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java19
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java104
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringEntry.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/RecipeScreenTypeEntry.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ReloadPluginsEntry.java13
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/SearchFilterSyntaxHighlightingEntry.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/RecipeDisplayExporter.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsEntryListWidget.java16
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java5
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/PerformanceScreen.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/entry/PerformanceEntry.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/SearchFilterSyntaxHighlightingScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/UncertainDisplayViewingScreen.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/CachedEntryListRender.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/CraftableFilterButtonWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/DelegateWidgetWithTranslate.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/DynamicErrorFreeEntryListWidget.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/InternalWidgets.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/OverflowWidget.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/PaddedCenterWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/PaddedWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/VanillaWrappedWidget.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/ButtonWidget.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/FillRectangleDrawableConsumer.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/PanelWidget.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/TextFieldWidget.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/TexturedDrawableConsumer.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/CachingEntryRenderer.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListSearchManager.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayEntry.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayHistoryWidget.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionEntryWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionRenderingDebugger.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/search/OverlaySearchField.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/transfer/MissingStacksTooltip.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java2
49 files changed, 187 insertions, 166 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
index 43204cec1..9877f9343 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
@@ -47,7 +47,6 @@ import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
import me.shedaniel.rei.api.common.util.EntryStacks;
import me.shedaniel.rei.api.common.util.FormattingUtils;
import me.shedaniel.rei.impl.ClientInternals;
-import me.shedaniel.rei.impl.VersionAdapter;
import me.shedaniel.rei.impl.client.gui.screen.CompositeDisplayViewingScreen;
import me.shedaniel.rei.impl.client.gui.screen.DefaultDisplayViewingScreen;
import me.shedaniel.rei.impl.client.view.ViewsImpl;
@@ -226,7 +225,7 @@ public class ClientHelperImpl implements ClientHelper {
madeUpCommand = og.replaceAll("\\{player_name}", Minecraft.getInstance().player.getScoreboardName()).replaceAll("\\{item_name}", identifier.getPath()).replaceAll("\\{item_identifier}", identifier.toString()).replaceAll("\\{nbt}", "").replaceAll("\\{count}", String.valueOf(cheatedStack.getCount()));
Minecraft.getInstance().player.displayClientMessage(Component.translatable("text.rei.too_long_nbt"), false);
}
- VersionAdapter.INSTANCE.sendCommand(StringUtils.removeStart(madeUpCommand, "/"));
+ Minecraft.getInstance().player.connection.sendCommand(StringUtils.removeStart(madeUpCommand, "/"));
return true;
}
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
index f69b56d9a..faa56785e 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
@@ -46,7 +46,6 @@ import me.shedaniel.clothconfig2.gui.AbstractConfigScreen;
import me.shedaniel.clothconfig2.gui.GlobalizedClothConfigScreen;
import me.shedaniel.clothconfig2.gui.entries.KeyCodeEntry;
import me.shedaniel.clothconfig2.gui.entries.TextListEntry;
-import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.client.REIRuntime;
import me.shedaniel.rei.api.client.config.ConfigManager;
import me.shedaniel.rei.api.client.config.addon.ConfigAddonRegistry;
@@ -90,6 +89,7 @@ import org.jetbrains.annotations.ApiStatus;
import java.util.*;
import java.util.function.Consumer;
+import java.util.function.Supplier;
import static me.shedaniel.autoconfig.util.Utils.getUnsafely;
import static me.shedaniel.autoconfig.util.Utils.setUnsafely;
@@ -422,7 +422,7 @@ public class ConfigManagerImpl implements ConfigManager {
ScreenHooks.addRenderableWidget(screen, new Button(screen.width - 104, 4, 100, 20, Component.translatable("text.rei.credits"), button -> {
CreditsScreen creditsScreen = new CreditsScreen(screen);
Minecraft.getInstance().setScreen(creditsScreen);
- }));
+ }, Button.NO_TOOLTIP, Supplier::get) {});
}).setSavingRunnable(() -> {
saveConfig();
EntryRegistry.getInstance().refilter();
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java
index 0fe6a4e85..85329ac9f 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java
@@ -41,6 +41,7 @@ import net.minecraft.resources.ResourceLocation;
import java.util.Collections;
import java.util.List;
+import java.util.function.Supplier;
public class ConfigAddonsScreen extends Screen {
private AddonsList rulesList;
@@ -56,9 +57,9 @@ public class ConfigAddonsScreen extends Screen {
super.init();
{
Component backText = Component.literal("↩ ").append(Component.translatable("gui.back"));
- addRenderableWidget(new Button(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20, backText, button -> {
+ addRenderableWidget(Button.builder(backText, button -> {
minecraft.setScreen(parent);
- }));
+ }).bounds(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20).build());
}
rulesList = addWidget(new AddonsList(minecraft, width, height, 30, height, BACKGROUND_LOCATION));
ConfigAddonRegistryImpl addonRegistry = (ConfigAddonRegistryImpl) ConfigAddonRegistry.getInstance();
@@ -138,12 +139,12 @@ public class ConfigAddonsScreen extends Screen {
this.addon = addon;
this.configureButton = new Button(0, 0, 20, 20, Component.nullToEmpty(null), button -> {
Minecraft.getInstance().setScreen(this.addon.createScreen(Minecraft.getInstance().screen));
- }) {
+ }, Button.NO_TOOLTIP, Supplier::get) {
@Override
protected void renderBg(PoseStack matrices, Minecraft client, int mouseX, int mouseY) {
super.renderBg(matrices, client, mouseX, mouseY);
RenderSystem.setShaderTexture(0, InternalTextures.CHEST_GUI_TEXTURE);
- blit(matrices, x + 3, y + 3, 0, 0, 14, 14);
+ blit(matrices, getX() + 3, getY() + 3, 0, 0, 14, 14);
}
};
}
@@ -171,8 +172,8 @@ public class ConfigAddonsScreen extends Screen {
client.font.drawShadow(matrices, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504);
}
}
- configureButton.x = x + entryWidth - 25;
- configureButton.y = y + 1;
+ configureButton.setX(x + entryWidth - 25);
+ configureButton.setY(y + 1);
configureButton.render(matrices, mouseX, mouseY, delta);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java
index 8062b1ea0..a1eaf5c78 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java
@@ -40,13 +40,14 @@ import org.jetbrains.annotations.ApiStatus;
import java.util.List;
import java.util.Optional;
+import java.util.function.Supplier;
@ApiStatus.Internal
public class ConfigAddonsEntry extends AbstractConfigListEntry<Unit> {
private int width;
private AbstractWidget buttonWidget = new Button(0, 0, 0, 20, Component.empty(), button -> {
Minecraft.getInstance().setScreen(new ConfigAddonsScreen(Minecraft.getInstance().screen));
- });
+ }, Button.NO_TOOLTIP, Supplier::get) {};
private List<AbstractWidget> children = ImmutableList.of(buttonWidget);
public ConfigAddonsEntry(int width) {
@@ -77,8 +78,8 @@ public class ConfigAddonsEntry extends AbstractConfigListEntry<Unit> {
Window window = Minecraft.getInstance().getWindow();
this.buttonWidget.active = REIRuntime.getInstance().getPreviousContainerScreen() != null && Minecraft.getInstance().getConnection() != null
&& Minecraft.getInstance().getConnection().getRecipeManager() != null && this.isEditable();
- this.buttonWidget.y = y;
- this.buttonWidget.x = x + entryWidth / 2 - width / 2;
+ this.buttonWidget.setY(y);
+ this.buttonWidget.setX(x + entryWidth / 2 - width / 2);
this.buttonWidget.setWidth(width);
this.buttonWidget.render(matrices, mouseX, mouseY, delta);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java
index 080bbc292..68cb9cc0c 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java
@@ -41,6 +41,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.function.BiFunction;
+import java.util.function.Supplier;
public class FilteringAddRuleScreen extends Screen {
private final FilteringEntry entry;
@@ -60,7 +61,7 @@ public class FilteringAddRuleScreen extends Screen {
addRenderableWidget(new Button(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20, backText, button -> {
minecraft.setScreen(parent);
this.parent = null;
- }));
+ }, Button.NO_TOOLTIP, Supplier::get) {});
}
rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION));
for (FilteringRule<?> rule : FilteringRule.REGISTRY.values()) {
@@ -154,7 +155,7 @@ public class FilteringAddRuleScreen extends Screen {
entry.edited = true;
Minecraft.getInstance().setScreen(this.screenFunction.apply(entry, parent));
entry.rules.add(0, rule);
- });
+ }, Button.NO_TOOLTIP, Supplier::get) {};
addButton.active = this.screenFunction != null;
}
@@ -181,8 +182,8 @@ public class FilteringAddRuleScreen extends Screen {
client.font.drawShadow(matrices, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504);
}
}
- addButton.x = x + entryWidth - 25;
- addButton.y = y + 1;
+ addButton.setX(x + entryWidth - 25);
+ addButton.setY(y + 1);
addButton.render(matrices, mouseX, mouseY, delta);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java
index 52171b53a..97715ad23 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java
@@ -41,6 +41,7 @@ import org.jetbrains.annotations.ApiStatus;
import java.util.*;
import java.util.function.Consumer;
+import java.util.function.Supplier;
@ApiStatus.Internal
public class FilteringEntry extends AbstractConfigListEntry<List<EntryStack<?>>> {
@@ -56,7 +57,7 @@ public class FilteringEntry extends AbstractConfigListEntry<List<EntryStack<?>>>
private final AbstractWidget buttonWidget = new Button(0, 0, 0, 20, Component.translatable("config.roughlyenoughitems.filteringScreen"), button -> {
filteringRulesScreen.parent = Minecraft.getInstance().screen;
Minecraft.getInstance().setScreen(filteringRulesScreen);
- });
+ }, Button.NO_TOOLTIP, Supplier::get) {};
private final List<AbstractWidget> children = ImmutableList.of(buttonWidget);
public FilteringEntry(int width, List<EntryStack<?>> configFiltered, List<FilteringRule<?>> rules, List<EntryStack<?>> defaultValue, Consumer<List<EntryStack<?>>> saveConsumer, Consumer<List<FilteringRule<?>>> rulesSaveConsumer) {
@@ -92,8 +93,8 @@ public class FilteringEntry extends AbstractConfigListEntry<List<EntryStack<?>>>
super.render(matrices, index, y, x, entryWidth, entryHeight, mouseX, mouseY, isSelected, delta);
Window window = Minecraft.getInstance().getWindow();
this.buttonWidget.active = this.isEditable();
- this.buttonWidget.y = y;
- this.buttonWidget.x = x + entryWidth / 2 - width / 2;
+ this.buttonWidget.setY(y);
+ this.buttonWidget.setX(x + entryWidth / 2 - width / 2);
this.buttonWidget.setWidth(width);
this.buttonWidget.render(matrices, mouseX, mouseY, delta);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java
index 86429e437..157c13a08 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java
@@ -72,7 +72,7 @@ public abstract class FilteringRuleOptionsScreen<T extends FilteringRule<?>> ext
addRenderableWidget(new Button(this.width - 4 - width - 10, 4, width + 10, 20, doneText, button -> {
save();
minecraft.setScreen(parent);
- }));
+ }, Button.NO_TOOLTIP, Supplier::get) {});
}
rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION));
addEntries(ruleEntry -> rulesList.addItem(ruleEntry));
@@ -200,8 +200,8 @@ public abstract class FilteringRuleOptionsScreen<T extends FilteringRule<?>> ext
@Override
public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) {
- widget.x = x + 2;
- widget.y = y + 2;
+ widget.setX(x + 2);
+ widget.setY(y + 2);
widget.render(matrices, mouseX, mouseY, delta);
}
@@ -235,7 +235,7 @@ public abstract class FilteringRuleOptionsScreen<T extends FilteringRule<?>> ext
this.widget = new Button(0, 0, 100, 20, textFunction.apply(b), button -> {
this.b = !this.b;
button.setMessage(textFunction.apply(this.b));
- });
+ }, Button.NO_TOOLTIP, Supplier::get) {};
}
public boolean getBoolean() {
@@ -244,8 +244,8 @@ public abstract class FilteringRuleOptionsScreen<T extends FilteringRule<?>> ext
@Override
public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) {
- widget.x = x + 2;
- widget.y = y;
+ widget.setX(x + 2);
+ widget.setY(y);
widget.render(matrices, mouseX, mouseY, delta);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java
index d3da37ef2..74920f783 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java
@@ -45,6 +45,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.function.BiFunction;
+import java.util.function.Supplier;
public class FilteringRulesScreen extends Screen {
private final FilteringEntry entry;
@@ -64,7 +65,7 @@ public class FilteringRulesScreen extends Screen {
addRenderableWidget(new Button(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20, backText, button -> {
minecraft.setScreen(parent);
this.parent = null;
- }));
+ }, Button.NO_TOOLTIP, Supplier::get) {});
}
{
Component addText = Component.literal(" + ");
@@ -72,7 +73,7 @@ public class FilteringRulesScreen extends Screen {
FilteringAddRuleScreen screen = new FilteringAddRuleScreen(entry);
screen.parent = this;
minecraft.setScreen(screen);
- }));
+ }, Button.NO_TOOLTIP, Supplier::get) {});
}
rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION));
for (int i = entry.rules.size() - 1; i >= 0; i--) {
@@ -186,12 +187,12 @@ public class FilteringRulesScreen extends Screen {
configureButton = new Button(0, 0, 20, 20, Component.nullToEmpty(null), button -> {
entry.edited = true;
Minecraft.getInstance().setScreen(this.screenFunction.apply(entry, Minecraft.getInstance().screen));
- }) {
+ }, Button.NO_TOOLTIP, Supplier::get) {
@Override
protected void renderBg(PoseStack matrices, Minecraft client, int mouseX, int mouseY) {
super.renderBg(matrices, client, mouseX, mouseY);
RenderSystem.setShaderTexture(0, InternalTextures.CHEST_GUI_TEXTURE);
- blit(matrices, x + 3, y + 3, 0, 0, 14, 14);
+ blit(matrices, getX() + 3, getY() + 3, 0, 0, 14, 14);
}
};
{
@@ -201,7 +202,7 @@ public class FilteringRulesScreen extends Screen {
entry.edited = true;
entry.rules.remove(rule);
screen.init(Minecraft.getInstance(), screen.width, screen.height);
- });
+ }, Button.NO_TOOLTIP, Supplier::get) {};
}
configureButton.active = this.screenFunction != null;
deleteButton.active = !(rule instanceof ManualFilteringRule);
@@ -230,11 +231,11 @@ public class FilteringRulesScreen extends Screen {
client.font.drawShadow(matrices, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504);
}
}
- configureButton.x = x + entryWidth - 25;
- configureButton.y = y + 1;
+ configureButton.setX(x + entryWidth - 25);
+ configureButton.setY(y + 1);
configureButton.render(matrices, mouseX, mouseY, delta);
- deleteButton.x = x + entryWidth - 27 - deleteButton.getWidth();
- deleteButton.y = y + 1;
+ deleteButton.setX(x + entryWidth - 27 - deleteButton.getWidth());
+ deleteButton.setY(y + 1);
deleteButton.render(matrices, mouseX, mouseY, delta);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java
index 0e37743d4..9804af2ed 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java
@@ -27,7 +27,6 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.*;
-import com.mojang.math.Matrix4f;
import me.shedaniel.clothconfig2.ClothConfigInitializer;
import me.shedaniel.clothconfig2.api.ScissorsHandler;
import me.shedaniel.clothconfig2.api.scroll.ScrollingContainer;
@@ -56,6 +55,7 @@ import net.minecraft.network.chat.Component;
import net.minecraft.util.Mth;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
+import org.joml.Matrix4f;
import java.util.ArrayList;
import java.util.Collections;
@@ -113,52 +113,62 @@ public class FilteringScreen extends Screen {
this.searchField = new OverlaySearchField(0, 0, 0, 0);
{
Component selectAllText = Component.translatable("config.roughlyenoughitems.filteredEntries.selectAll");
- this.selectAllButton = new Button(0, 0, Minecraft.getInstance().font.width(selectAllText) + 10, 20, selectAllText, button -> {
- this.points.clear();
- this.points.add(new PointPair(new Point(-Integer.MAX_VALUE / 2, -Integer.MAX_VALUE / 2), new Point(Integer.MAX_VALUE / 2, Integer.MAX_VALUE / 2)));
- });
+ this.selectAllButton = Button.builder(selectAllText, button -> {
+ this.points.clear();
+