From a35425108d9813f64779b519fedd4744a7eb6072 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sun, 28 May 2023 04:09:32 +0800 Subject: Update to 1.20-pre6 --- .../rei/RoughlyEnoughItemsCoreClient.java | 6 -- .../rei/impl/client/config/ConfigManagerImpl.java | 4 +- .../client/config/addon/ConfigAddonsScreen.java | 30 +++++----- .../client/config/entries/ConfigAddonsEntry.java | 13 ++-- .../config/entries/FilteringAddRuleScreen.java | 28 +++++---- .../config/entries/FilteringCategoriesEntry.java | 15 ++--- .../config/entries/FilteringCategoriesScreen.java | 34 +++++------ .../impl/client/config/entries/FilteringEntry.java | 11 ++-- .../config/entries/FilteringRuleOptionsScreen.java | 38 ++++++------ .../config/entries/FilteringRulesScreen.java | 41 ++++++------- .../client/config/entries/FilteringScreen.java | 56 ++++++++++-------- .../config/entries/NoFilteringCategoriesEntry.java | 16 ++--- .../client/config/entries/NoFilteringEntry.java | 12 ++-- .../config/entries/RecipeScreenTypeEntry.java | 12 ++-- .../client/config/entries/ReloadPluginsEntry.java | 17 +++--- .../SearchFilterSyntaxHighlightingEntry.java | 16 ++--- .../impl/client/config/entries/TitleTextEntry.java | 16 ++--- .../filtering/rules/SearchFilteringRuleType.java | 6 +- .../entry/type/types/RenderingEntryDefinition.java | 6 +- .../rei/impl/client/gui/RecipeDisplayExporter.java | 5 +- .../rei/impl/client/gui/ScreenOverlayImpl.java | 53 +++++++++-------- .../client/gui/credits/CreditsEntryListWidget.java | 24 ++++---- .../rei/impl/client/gui/credits/CreditsScreen.java | 12 ++-- .../client/gui/dragging/CurrentDraggingStack.java | 28 ++++----- .../client/gui/error/ErrorsEntryListWidget.java | 47 +++++++-------- .../rei/impl/client/gui/error/ErrorsScreen.java | 12 ++-- .../rei/impl/client/gui/modules/Menu.java | 12 ++-- .../rei/impl/client/gui/modules/MenuHolder.java | 9 +-- .../client/gui/modules/entries/EmptyMenuEntry.java | 4 +- .../gui/modules/entries/SeparatorMenuEntry.java | 6 +- .../client/gui/modules/entries/SubMenuEntry.java | 18 +++--- .../client/gui/modules/entries/TextMenuEntry.java | 6 +- .../gui/modules/entries/ToggleMenuEntry.java | 18 +++--- .../client/gui/performance/PerformanceScreen.java | 15 +++-- .../gui/performance/entry/PerformanceEntry.java | 8 +-- .../performance/entry/PerformanceEntryImpl.java | 8 +-- .../performance/entry/SubCategoryListEntry.java | 13 ++-- .../gui/screen/AbstractDisplayViewingScreen.java | 15 +++-- .../gui/screen/CompositeDisplayViewingScreen.java | 23 ++++---- .../client/gui/screen/ConfigReloadingScreen.java | 14 ++--- .../gui/screen/DefaultDisplayViewingScreen.java | 56 +++++++++--------- .../SearchFilterSyntaxHighlightingScreen.java | 16 +++-- .../gui/screen/UncertainDisplayViewingScreen.java | 52 ++++++++-------- .../client/gui/screen/WarningAndErrorScreen.java | 33 +++++------ .../gui/toast/CopyRecipeIdentifierToast.java | 13 ++-- .../gui/toast/ExportRecipeIdentifierToast.java | 13 ++-- .../gui/widget/BatchedEntryRendererManager.java | 55 +++++++++-------- .../client/gui/widget/CachedEntryListRender.java | 5 +- .../impl/client/gui/widget/ConfigButtonWidget.java | 13 ++-- .../gui/widget/CraftableFilterButtonWidget.java | 10 ++-- .../gui/widget/DefaultDisplayChoosePageWidget.java | 18 +++--- .../gui/widget/DelegateWidgetWithTranslate.java | 12 ++-- .../client/gui/widget/DisplayCompositeWidget.java | 16 ++--- .../client/gui/widget/DisplayTooltipComponent.java | 15 +++-- .../client/gui/widget/DisplayedEntryWidget.java | 10 ++-- .../widget/DynamicErrorFreeEntryListWidget.java | 61 ++++++++++--------- .../impl/client/gui/widget/EntryHighlighter.java | 33 +++++------ .../rei/impl/client/gui/widget/EntryWidget.java | 52 ++++++++-------- .../impl/client/gui/widget/InternalWidgets.java | 8 +-- .../rei/impl/client/gui/widget/MergedWidget.java | 7 +-- .../rei/impl/client/gui/widget/NoOpWidget.java | 4 +- .../rei/impl/client/gui/widget/OverflowWidget.java | 10 ++-- .../client/gui/widget/RendererWrappedWidget.java | 16 +---- .../impl/client/gui/widget/TabContainerWidget.java | 34 +++++------ .../rei/impl/client/gui/widget/TabWidget.java | 18 +++--- .../client/gui/widget/VanillaWrappedWidget.java | 14 ++--- .../client/gui/widget/basewidgets/ArrowWidget.java | 19 +++--- .../gui/widget/basewidgets/BurningFireWidget.java | 19 +++--- .../gui/widget/basewidgets/ButtonWidget.java | 49 ++++++++------- .../gui/widget/basewidgets/DrawableWidget.java | 6 +- .../basewidgets/FillRectangleDrawableConsumer.java | 11 ++-- .../client/gui/widget/basewidgets/LabelWidget.java | 36 +++++------ .../client/gui/widget/basewidgets/PanelWidget.java | 34 +++++------ .../gui/widget/basewidgets/TextFieldWidget.java | 46 ++++++++------- .../basewidgets/TexturedDrawableConsumer.java | 6 +- .../gui/widget/entrylist/CachingEntryRenderer.java | 35 +++++------ .../entrylist/CollapsedEntriesBorderRenderer.java | 21 ++++--- .../widget/entrylist/CollapsedEntriesTooltip.java | 17 +++--- .../gui/widget/entrylist/EntryListStackEntry.java | 28 ++++----- .../gui/widget/entrylist/EntryListWidget.java | 20 +++---- .../widget/entrylist/PaginatedEntryListWidget.java | 48 +++++++-------- .../widget/entrylist/ScrolledEntryListWidget.java | 16 ++--- .../gui/widget/favorites/FavoritesListWidget.java | 24 ++++---- .../gui/widget/favorites/history/DisplayEntry.java | 42 ++++++------- .../favorites/history/DisplayHistoryWidget.java | 42 +++++++------ .../panel/FadingFavoritesPanelButton.java | 10 ++-- .../gui/widget/favorites/panel/FavoritesPanel.java | 14 ++--- .../panel/FavoritesTogglePanelButton.java | 7 ++- .../panel/rows/FavoritesPanelEmptyRow.java | 4 +- .../panel/rows/FavoritesPanelEntriesRow.java | 5 +- .../favorites/panel/rows/FavoritesPanelRow.java | 4 +- .../panel/rows/FavoritesPanelSectionRow.java | 6 +- .../panel/rows/FavoritesPanelSeparatorRow.java | 6 +- .../gui/widget/favorites/trash/TrashWidget.java | 16 ++--- .../impl/client/gui/widget/hint/HintWidget.java | 42 ++++++------- .../gui/widget/region/EntryStacksRegionWidget.java | 8 +-- .../gui/widget/region/RegionEntryWidget.java | 7 ++- .../gui/widget/region/RegionRenderingDebugger.java | 17 +++--- .../gui/widget/search/OverlaySearchField.java | 69 ++++++++++------------ .../impl/client/transfer/MissingStacksTooltip.java | 15 +++-- .../rei/impl/common/entry/AbstractEntryStack.java | 22 +------ .../entry/type/types/EmptyEntryDefinition.java | 4 +- .../rei/impl/common/transfer/InputSlotCrafter.java | 2 +- .../plugin/client/entry/FluidEntryDefinition.java | 25 ++++---- .../plugin/client/entry/ItemEntryDefinition.java | 50 ++++++++-------- .../client/runtime/DefaultClientRuntimePlugin.java | 11 ++-- 106 files changed, 1069 insertions(+), 1115 deletions(-) (limited to 'runtime/src/main/java') diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java index b2d326148..388683000 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java @@ -430,13 +430,7 @@ public class RoughlyEnoughItemsCoreClient { return; rendered[0] = 2; resetFocused(screen); - PoseStack poseStack = RenderSystem.getModelViewStack(); - poseStack.pushPose(); - poseStack.translate(-screen.leftPos, -screen.topPos, 0.0); - RenderSystem.applyModelViewMatrix(); ((ScreenOverlayImpl) getOverlay()).lateRender(matrices, mouseX, mouseY, delta); - poseStack.popPose(); - RenderSystem.applyModelViewMatrix(); resetFocused(screen); }); ClientGuiEvent.RENDER_POST.register((screen, matrices, mouseX, mouseY, delta) -> { 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 1786bbaee..52914743e 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 @@ -27,7 +27,6 @@ import com.google.common.collect.Lists; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.mojang.blaze3d.platform.InputConstants; -import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.brigadier.exceptions.CommandSyntaxException; import dev.architectury.hooks.client.screen.ScreenHooks; import me.shedaniel.autoconfig.AutoConfig; @@ -75,6 +74,7 @@ import net.fabricmc.api.Environment; import net.minecraft.ChatFormatting; import net.minecraft.ResourceLocationException; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.narration.NarratableEntry; @@ -384,7 +384,7 @@ public class ConfigManagerImpl implements ConfigManager { public void save() { } - public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { } public List children() { 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 c98745dcd..2e7139459 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 @@ -23,14 +23,13 @@ package me.shedaniel.rei.impl.client.config.addon; -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget; import me.shedaniel.rei.api.client.config.addon.ConfigAddon; import me.shedaniel.rei.api.client.config.addon.ConfigAddonRegistry; import me.shedaniel.rei.impl.client.gui.InternalTextures; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ComponentPath; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.narration.NarratableEntry; @@ -72,10 +71,10 @@ public class ConfigAddonsScreen extends Screen { } @Override - public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - this.rulesList.render(matrices, mouseX, mouseY, delta); - super.render(matrices, mouseX, mouseY, delta); - this.font.drawShadow(matrices, this.title.getVisualOrderText(), this.width / 2.0F - this.font.width(this.title) / 2.0F, 12.0F, -1); + public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { + this.rulesList.render(graphics, mouseX, mouseY, delta); + super.render(graphics, mouseX, mouseY, delta); + graphics.drawString(this.font, this.title.getVisualOrderText(), (int) (this.width / 2.0F - this.font.width(this.title) / 2.0F), 12, -1); } public static class AddonsList extends DynamicElementListWidget { @@ -129,25 +128,24 @@ public class ConfigAddonsScreen extends Screen { Minecraft.getInstance().setScreen(this.addon.createScreen(Minecraft.getInstance().screen)); }, Supplier::get) { @Override - public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - super.render(matrices, mouseX, mouseY, delta); - RenderSystem.setShaderTexture(0, InternalTextures.CHEST_GUI_TEXTURE); - blit(matrices, getX() + 3, getY() + 3, 0, 0, 14, 14); + public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { + super.render(graphics, mouseX, mouseY, delta); + graphics.blit(InternalTextures.CHEST_GUI_TEXTURE, getX() + 3, getY() + 3, 0, 0, 14, 14); } }; } @Override - public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { Minecraft client = Minecraft.getInstance(); { Component title = addon.getName(); int i = client.font.width(title); if (i > entryWidth - 28) { FormattedText titleTrimmed = FormattedText.composite(client.font.substrByWidth(title, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); - client.font.drawShadow(matrices, Language.getInstance().getVisualOrder(titleTrimmed), x + 2, y + 1, 16777215); + graphics.drawString(client.font, Language.getInstance().getVisualOrder(titleTrimmed), x + 2, y + 1, 16777215); } else { - client.font.drawShadow(matrices, title.getVisualOrderText(), x + 2, y + 1, 16777215); + graphics.drawString(client.font, title.getVisualOrderText(), x + 2, y + 1, 16777215); } } { @@ -155,14 +153,14 @@ public class ConfigAddonsScreen extends Screen { int i = client.font.width(subtitle); if (i > entryWidth - 28) { FormattedText subtitleTrimmed = FormattedText.composite(client.font.substrByWidth(subtitle, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); - client.font.drawShadow(matrices, Language.getInstance().getVisualOrder(subtitleTrimmed), x + 2, y + 12, 8421504); + graphics.drawString(client.font, Language.getInstance().getVisualOrder(subtitleTrimmed), x + 2, y + 12, 8421504); } else { - client.font.drawShadow(matrices, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504); + graphics.drawString(client.font, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504); } } configureButton.setX(x + entryWidth - 25); configureButton.setY(y + 1); - configureButton.render(matrices, mouseX, mouseY, delta); + configureButton.render(graphics, mouseX, mouseY, delta); } @Override 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 6513cd8c3..37b15dc14 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 @@ -25,11 +25,11 @@ package me.shedaniel.rei.impl.client.config.entries; import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.platform.Window; -import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.api.AbstractConfigListEntry; import me.shedaniel.rei.api.client.REIRuntime; import me.shedaniel.rei.impl.client.config.addon.ConfigAddonsScreen; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; @@ -47,14 +47,15 @@ public class ConfigAddonsEntry extends AbstractConfigListEntry { private int width; private AbstractWidget buttonWidget = new Button(0, 0, 0, 20, Component.empty(), button -> { Minecraft.getInstance().setScreen(new ConfigAddonsScreen(Minecraft.getInstance().screen)); - }, Supplier::get) {}; + }, Supplier::get) { + }; private List children = ImmutableList.of(buttonWidget); public ConfigAddonsEntry(int width) { super(Component.empty(), false); this.width = width; this.buttonWidget.setMessage(REIRuntime.getInstance().getPreviousContainerScreen() != null && Minecraft.getInstance().getConnection() != null - && Minecraft.getInstance().getConnection().getRecipeManager() != null ? Component.translatable("text.rei.addons") + && Minecraft.getInstance().getConnection().getRecipeManager() != null ? Component.translatable("text.rei.addons") : Component.translatable("config.roughlyenoughitems.filteredEntries.loadWorldFirst")); } @@ -73,15 +74,15 @@ public class ConfigAddonsEntry extends AbstractConfigListEntry { } @Override - public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isSelected, float delta) { - super.render(matrices, index, y, x, entryWidth, entryHeight, mouseX, mouseY, isSelected, delta); + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isSelected, float delta) { + super.render(graphics, index, y, x, entryWidth, entryHeight, mouseX, mouseY, isSelected, delta); 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.setY(y); this.buttonWidget.setX(x + entryWidth / 2 - width / 2); this.buttonWidget.setWidth(width); - this.buttonWidget.render(matrices, mouseX, mouseY, delta); + this.buttonWidget.render(graphics, mouseX, mouseY, delta); } @Override 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 36bd45546..46dd3aae5 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 @@ -23,12 +23,12 @@ package me.shedaniel.rei.impl.client.config.entries; -import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget; import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; import me.shedaniel.rei.api.client.entry.filtering.FilteringRuleType; import me.shedaniel.rei.api.client.entry.filtering.FilteringRuleTypeRegistry; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.narration.NarratableEntry; @@ -62,7 +62,8 @@ 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; - }, Supplier::get) {}); + }, Supplier::get) { + }); } rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); for (FilteringRuleType rule : FilteringRuleTypeRegistry.getInstance()) { @@ -73,10 +74,10 @@ public class FilteringAddRuleScreen extends Screen { } @Override - public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - this.rulesList.render(matrices, mouseX, mouseY, delta); - super.render(matrices, mouseX, mouseY, delta); - this.font.drawShadow(matrices, this.title.getVisualOrderText(), this.width / 2.0F - this.font.width(this.title) / 2.0F, 12.0F, -1); + public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { + this.rulesList.render(graphics, mouseX, mouseY, delta); + super.render(graphics, mouseX, mouseY, delta); + graphics.drawString(this.font, this.title.getVisualOrderText(), (int) (this.width / 2.0F - this.font.width(this.title) / 2.0F), 12, -1); } public static class RulesList extends DynamicElementListWidget { @@ -135,21 +136,22 @@ public class FilteringAddRuleScreen extends Screen { entry.edited = true; Minecraft.getInstance().setScreen(this.screenFunction.apply(parent)); entry.rules.add(0, rule); - }, Supplier::get) {}; + }, Supplier::get) { + }; addButton.active = this.screenFunction != null; } @Override - public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { Minecraft client = Minecraft.getInstance(); { Component title = ((FilteringRuleType>) getRule().getType()).getTitle(getRule()); int i = client.font.width(title); if (i > entryWidth - 28) { FormattedText titleTrimmed = FormattedText.composite(client.font.substrByWidth(title, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); - client.font.drawShadow(matrices, Language.getInstance().getVisualOrder(titleTrimmed), x + 2, y + 1, 16777215); + graphics.drawString(client.font, Language.getInstance().getVisualOrder(titleTrimmed), x + 2, y + 1, 16777215); } else { - client.font.drawShadow(matrices, title.getVisualOrderText(), x + 2, y + 1, 16777215); + graphics.drawString(client.font, title.getVisualOrderText(), x + 2, y + 1, 16777215); } } { @@ -157,14 +159,14 @@ public class FilteringAddRuleScreen extends Screen { int i = client.font.width(subtitle); if (i > entryWidth - 28) { FormattedText subtitleTrimmed = FormattedText.composite(client.font.substrByWidth(subtitle, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); - client.font.drawShadow(matrices, Language.getInstance().getVisualOrder(subtitleTrimmed), x + 2, y + 12, 8421504); + graphics.drawString(client.font, Language.getInstance().getVisualOrder(subtitleTrimmed), x + 2, y + 12, 8421504); } else { - client.font.drawShadow(matrices, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504); + graphics.drawString(client.font, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504); } } addButton.setX(x + entryWidth - 25); addButton.setY(y + 1); - addButton.render(matrices, mouseX, mouseY, delta); + addButton.render(graphics, mouseX, mouseY, delta); } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesEntry.java index 15f03ab17..37180dbaf 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesEntry.java @@ -25,10 +25,10 @@ package me.shedaniel.rei.impl.client.config.entries; import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.platform.Window; -import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.api.AbstractConfigListEntry; import me.shedaniel.rei.api.common.category.CategoryIdentifier; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; @@ -52,7 +52,8 @@ public class FilteringCategoriesEntry extends AbstractConfigListEntry { filteringScreen.parent = Minecraft.getInstance().screen; Minecraft.getInstance().setScreen(filteringScreen); - }, Supplier::get) {}; + }, Supplier::get) { + }; private final List children = ImmutableList.of(buttonWidget); public FilteringCategoriesEntry(Component fieldName, Map, Boolean> configFiltered, Map, Boolean> defaultValue, Consumer, Boolean>> saveConsumer) { @@ -79,21 +80,21 @@ public class FilteringCategoriesEntry extends AbstractConfigListEntry { @@ -165,25 +165,25 @@ public class FilteringCategoriesScreen extends Screen { } @Override - public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { if (y + entryHeight < 0 || y > height) { return; } Minecraft client = Minecraft.getInstance(); - matrices.pushPose(); - matrices.translate(0, 0, 100); - configuration.getCategory().getIcon().render(matrices, new Rectangle(x + 2, y + 5, 16, 16), mouseY, mouseY, delta); - matrices.popPose(); + graphics.pose().pushPose(); + graphics.pose().translate(0, 0, 100); + configuration.getCategory().getIcon().render(graphics, new Rectangle(x + 2, y + 5, 16, 16), mouseY, mouseY, delta); + graphics.pose().popPose(); int xPos = x + 22; { Component title = configuration.getCategory().getTitle(); int i = client.font.width(title); if (i > entryWidth - 28) { FormattedText titleTrimmed = FormattedText.composite(client.font.substrByWidth(title, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); - client.font.drawShadow(matrices, Language.getInstance().getVisualOrder(titleTrimmed), x + 2, y + 1, 16777215); + graphics.drawString(client.font, Language.getInstance().getVisualOrder(titleTrimmed), x + 2, y + 1, 16777215); } else { - client.font.drawShadow(matrices, title.getVisualOrderText(), xPos, y + 1, 16777215); + graphics.drawString(client.font, title.getVisualOrderText(), xPos, y + 1, 16777215); } } { @@ -192,9 +192,9 @@ public class FilteringCategoriesScreen extends Screen { int i = client.font.width(subtitle); if (i > entryWidth - 28) { FormattedText subtitleTrimmed = FormattedText.composite(client.font.substrByWidth(subtitle, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); - client.font.drawShadow(matrices, Language.getInstance().getVisualOrder(subtitleTrimmed), x + 2, y + 12, 8421504); + graphics.drawString(client.font, Language.getInstance().getVisualOrder(subtitleTrimmed), x + 2, y + 12, 8421504); } else { - client.font.drawShadow(matrices, subtitle.getVisualOrderText(), xPos, y + 12, 8421504); + graphics.drawString(client.font, subtitle.getVisualOrderText(), xPos, y + 12, 8421504); } } { @@ -203,14 +203,14 @@ public class FilteringCategoriesScreen extends Screen { int i = client.font.width(id); if (i > entryWidth - 28) { FormattedText idTrimmed = FormattedText.composite(client.font.substrByWidth(id, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); - client.font.drawShadow(matrices, Language.getInstance().getVisualOrder(idTrimmed), x + 2, y + 22, 8421504); + graphics.drawString(client.font, Language.getInstance().getVisualOrder(idTrimmed), x + 2, y + 22, 8421504); } else { - client.font.drawShadow(matrices, id.getVisualOrderText(), xPos, y + 22, 8421504); + graphics.drawString(client.font, id.getVisualOrderText(), xPos, y + 22, 8421504); } } toggleButton.setX(x + entryWidth - 6 - toggleButton.getWidth()); toggleButton.setY(y + 5); - toggleButton.render(matrices, mouseX, mouseY, delta); + toggleButton.render(graphics, mouseX, mouseY, delta); } @Override 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 80c158ee5..79b32ebd0 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 @@ -26,12 +26,12 @@ package me.shedaniel.rei.impl.client.config.entries; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.mojang.blaze3d.platform.Window; -import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.api.AbstractConfigListEntry; import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.util.EntryStacks; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; @@ -57,7 +57,8 @@ public class FilteringEntry extends AbstractConfigListEntry>> 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); - }, Supplier::get) {}; + }, Supplier::get) { + }; private final List children = ImmutableList.of(buttonWidget); public FilteringEntry(int width, List> configFiltered, List> rules, List> defaultValue, Consumer>> saveConsumer, Consumer>> rulesSaveConsumer) { @@ -89,14 +90,14 @@ public class FilteringEntry extends AbstractConfigListEntry>> } @Override - public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isSelected, float delta) { - super.render(matrices, index, y, x, entryWidth, entryHeight, mouseX, mouseY, isSelected, delta); + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isSelected, float delta) { + super.render(graphics, index, y, x, entryWidth, entryHeight, mouseX, mouseY, isSelected, delta); Window window = Minecraft.getInstance().getWindow(); this.buttonWidget.active = this.isEditable(); this.buttonWidget.setY(y); this.buttonWidget.setX(x + entryWidth / 2 - width / 2); this.buttonWidget.setWidth(width); - this.buttonWidget.render(matrices, mouseX, mouseY, delta); + this.buttonWidget.render(graphics, mouseX, mouseY, delta); } @Override 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 bde57a088..fc91c1a04 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 @@ -24,12 +24,12 @@ package me.shedaniel.rei.impl.client.config.entries; import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ComponentPath; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.EditBox; import net.minecraft.client.gui.components.events.GuiEventListener; @@ -73,7 +73,8 @@ public abstract class FilteringRuleOptionsScreen> ext addRenderableWidget(new Button(this.width - 4 - width - 10, 4, width + 10, 20, doneText, button -> { save(); minecraft.setScreen(parent); - }, Supplier::get) {}); + }, Supplier::get) { + }); } rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); addEntries(ruleEntry -> rulesList.addItem(ruleEntry)); @@ -94,10 +95,10 @@ public abstract class FilteringRuleOptionsScreen> ext } @Override - public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - this.rulesList.render(matrices, mouseX, mouseY, delta); - super.render(matrices, mouseX, mouseY, delta); - this.font.drawShadow(matrices, this.title.getVisualOrderText(), this.width / 2.0F - this.font.width(this.title) / 2.0F, 12.0F, -1); + public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { + this.rulesList.render(graphics, mouseX, mouseY, delta); + super.render(graphics, mouseX, mouseY, delta); + graphics.drawString(this.font, this.title.getVisualOrderText(), (int) (this.width / 2.0F - this.font.width(this.title) / 2.0F), 12, -1); } public static class RulesList extends DynamicElementListWidget { @@ -142,8 +143,8 @@ public abstract class FilteringRuleOptionsScreen> 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) { - Minecraft.getInstance().font.drawShadow(matrices, text, x + 5, y, -1); + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { + graphics.drawString(Minecraft.getInstance().font, text, x + 5, y, -1); } @Override @@ -171,7 +172,7 @@ public abstract class FilteringRuleOptionsScreen> 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) { + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { } @Override @@ -200,10 +201,10 @@ public abstract class FilteringRuleOptionsScreen> 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) { + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { widget.setX(x + 2); widget.setY(y + 2); - widget.render(matrices, mouseX, mouseY, delta); + widget.render(graphics, mouseX, mouseY, delta); } @Override @@ -236,7 +237,8 @@ public abstract class FilteringRuleOptionsScreen> ext this.widget = new Button(0, 0, 100, 20, textFunction.apply(b), button -> { this.b = !this.b; button.setMessage(textFunction.apply(this.b)); - }, Supplier::get) {}; + }, Supplier::get) { + }; } public boolean getBoolean() { @@ -244,10 +246,10 @@ public abstract class FilteringRuleOptionsScreen> 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) { + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { widget.setX(x + 2); widget.setY(y); - widget.render(matrices, mouseX, mouseY, delta); + widget.render(graphics, mouseX, mouseY, delta); } @Override @@ -289,15 +291,15 @@ public abstract class FilteringRuleOptionsScreen> 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) { + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { RenderSystem.setShaderTexture(0, CONFIG_TEX); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); this.widget.rectangle.x = x + 3; this.widget.rectangle.y = y; this.widget.rectangle.width = entryWidth - 6; this.widget.rectangle.height = 24; - this.blit(matrices, x + 3, y + 5, 24, (this.widget.rectangle.contains(mouseX, mouseY) ? 18 : 0) + (this.expanded ? 9 : 0), 9, 9); - Minecraft.getInstance().font.drawShadow(matrices, this.name.get().getVisualOrderText(), (float) x + 3 + 15, (float) (y + 6), this.widget.rectangle.contains(mouseX, mouseY) ? -1638890 : -1); + graphics.blit(CONFIG_TEX, x + 3, y + 5, 24, (this.widget.rectangle.contains(mouseX, mouseY) ? 18 : 0) + (this.expanded ? 9 : 0), 9, 9); + graphics.drawString(Minecraft.getInstance().font, this.name.get().getVisualOrderText(), x + 3 + 15, y + 6, this.widget.rectangle.contains(mouseX, mouseY) ? -1638890 : -1); for (RuleEntry performanceEntry : this.rules) { performanceEntry.setParent(this.getParent()); @@ -309,7 +311,7 @@ public abstract class FilteringRuleOptionsScreen> ext RuleEntry entry; for (Iterator iterator = this.rules.iterator(); iterator.hasNext(); yy += entry.getItemHeight()) { entry = iterator.next(); - entry.render(matrices, -1, yy, x + 3 + 15, entryWidth - 15 - 3, entry.getItemHeight(), mouseX, mouseY, isHovered && this.getFocused() == entry, delta); + entry.render(graphics, -1, yy, x + 3 + 15, entryWidth - 15 - 3, entry.getItemHeight(), mouseX, mouseY, isHovered && this.getFocused() == entry, 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 d3275419c..e6e920f64 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 @@ -24,8 +24,6 @@ package me.shedaniel.rei.impl.client.config.entries; import com.google.common.base.Suppliers; -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; @@ -41,6 +39,7 @@ import me.shedaniel.rei.impl.client.gui.widget.EntryWidget; import me.shedaniel.rei.impl.common.entry.type.FilteringLogic; import me.shedaniel.rei.impl.common.util.HashedEntryStackWrapper; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.narration.NarratableEntry; @@ -76,7 +75,8 @@ 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; - }, Supplier::get) {}); + }, Supplier::get) { + }); } { Component addText = Component.literal(" + "); @@ -84,7 +84,8 @@ public class FilteringRulesScreen extends Screen { FilteringAddRuleScreen screen = new FilteringAddRuleScreen(entry); screen.parent = this; minecraft.setScreen(screen); - }, Supplier::get) {}); + }, Supplier::get) { + }); } rulesList = addWidget(new RulesList(minecraft, width, height, 30, height, BACKGROUND_LOCATION)); for (int i = entry.rules.size() - 1; i >= 0; i--) { @@ -100,10 +101,10 @@ public class FilteringRulesScreen extends Screen { } @Override - public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - this.rulesList.render(matrices, mouseX, mouseY, delta); - super.render(matrices, mouseX, mouseY, delta); - this.font.drawShadow(matrices, this.title.getVisualOrderText(), this.width / 2.0F - this.font.width(this.title) / 2.0F, 12.0F, -1); + public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { + this.rulesList.render(graphics, mouseX, mouseY, delta); + super.render(graphics, mouseX, mouseY, delta); + graphics.drawString(this.font, this.title.getVisualOrderText(), (int) (this.width / 2.0F - this.font.width(this.title) / 2.0F), 12, -1); } public static class RulesList extends DynamicElementListWidget { @@ -179,10 +180,9 @@ public class FilteringRulesScreen extends Screen { Minecraft.getInstance().setScreen(this.screenFunction.apply(Minecraft.getInstance().screen)); }, Supplier::get) { @Override - public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - super.render(matrices, mouseX, mouseY, delta); - RenderSystem.setShaderTexture(0, InternalTextures.CHEST_GUI_TEXTURE); - blit(matrices, getX() + 3, getY() + 3, 0, 0, 14, 14); + public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { + super.render(graphics, mouseX, mouseY, delta); + graphics.blit(InternalTextures.CHEST_GUI_TEXTURE, getX() + 3, getY() + 3, 0, 0, 14, 14); } }; { @@ -192,23 +192,24 @@ public class FilteringRulesScreen extends Screen { entry.edited = true; entry.rules.remove(rule); screen.init(Minecraft.getInstance(), screen.width, screen.height); - }, Supplier::get) {}; + }, Supplier::get) { + }; } configureButton.active = this.screenFunction != null; deleteButton.active = !rule.getType().isSingular(); } @Override - public void render(PoseStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { + public void render(GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isHovered, float delta) { Minecraft client = Minecraft.getInstance(); { Component title = ((FilteringRuleType>) getRule().getType()).getTitle(getRule()); int i = client.font.width(title); if (i > entryWidth - 28) { FormattedText titleTrimmed = FormattedText.composite(client.font.substrByWidth(title, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); - client.font.drawShadow(matrices, Language.getInstance().getVisualOrder(titleTrimmed), x + 2, y + 1, 16777215); + graphics.drawString(client.font, Language.getInstance().getVisualOrder(titleTrimmed), x + 2, y + 1, 16777215); } else { - client.font.drawShadow(matrices, title.getVisualOrderText(), x + 2, y + 1, 16777215); + graphics.drawString(client.font, title.getVisualOrderText(), x + 2, y + 1, 16777215); } } { @@ -216,17 +217,17 @@ public class FilteringRulesScreen extends Screen { int i = client.font.width(subtitle); if (i > entryWidth - 28) { FormattedText subtitleTrimmed = FormattedText.composite(client.font.substrByWidth(subtitle, entryWidth - 28 - client.font.width("...")), FormattedText.of("...")); - client.font.drawShadow(matrices, Language.getInstance().getVisualOrder(subtitleTrimmed), x + 2, y + 12, 8421504); + graphics.drawString(client.font, Language.getInstance().getVisualOrder(subtitleTrimmed), x + 2, y + 12, 8421504); } else { - client.font.drawShadow(matrices, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504); + graphics.drawString(client.font, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504); } } configureButton.setX(x + entryWidth - 25); configureButton.setY(y + 1); - configureButton.render(matrices, mouseX, mouseY, delta); + configureButton.render(graphics, mouseX, mouseY, delta); deleteButton.setX(x + entryWidth - 27 - deleteButton.getWidth()); deleteButton.setY(y + 1); - deleteButton.render(matrices, mouseX, mouseY, delta); + deleteButton.render(graphics, mouseX, mouseY, delta); } @Override 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 477fb0d00..b10232ac5 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 @@ -26,7 +26,10 @@ package me.shedaniel.rei.impl.client.config.entries; 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.blaze3d.vertex.BufferBuilder; +import com.mojang.blaze3d.vertex.DefaultVertexFormat; +import com.mojang.blaze3d.vertex.Tesselator; +import com.mojang.blaze3d.vertex.VertexFormat; import me.shedaniel.clothconfig2.ClothConfigInitializer; import me.shedaniel.clothconfig2.api.ScissorsHandler; import me.shedaniel.clothconfig2.api.scroll.ScrollingContainer; @@ -47,6 +50,7 @@ import me.shedaniel.rei.impl.client.gui.widget.EntryWidget; import me.shedaniel.rei.impl.client.gui.widget.search.OverlaySearchField; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.screens.Screen; @@ -202,11 +206,11 @@ public class FilteringScreen extends Screen { this.searchField.setResponder(this::updateSearch); } - protected void renderHoleBackground(PoseStack matrices, int y1, int y2, int tint, int alpha1, int alpha2) { + protected void renderHoleBackground(GuiGraphics graphics, int y1, int y2, int tint, int alpha1, int alpha2) { Tesselator tesselator = Tesselator.getInstance(); BufferBuilder buffer = tesselator.getBuilder(); RenderSystem.setShaderTexture(0, BACKGROUND_LOCATION); - Matrix4f matrix = matrices.last().pose(); + Matrix4f matrix = graphics.pose().last().pose(); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); float float_1 = 32.0F; RenderSystem.setShader(GameRenderer::getPositionTexColorShader); @@ -219,8 +223,8 @@ public class FilteringScreen extends Screen { } @Override - public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - renderHoleBackground(matrices, 0, height, 32, 255, 255); + public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { + renderHoleBackground(graphics, 0, height, 32, 255, 255); updateSelectionCache(); Rectangle bounds = getBounds(); tooltip = null; @@ -243,17 +247,17 @@ public class FilteringScreen extends Screen { manager.add(entry); nextIndex++; } - manager.render(matrices, mouseX, mouseY, delta); + manager.render(graphics, mouseX, mouseY, delta); updatePosition(delta); - scrolling.renderScrollBar(0, 1.0F, REIRuntime.getInstance().isDarkThemeEnabled() ? 0.8F : 1F); - matrices.pushPose(); - matrices.translate(0, 0, 300); - this.searchField.laterRender(matrices, mouseX, mouseY, delta); - this.selectAllButton.render(matrices, mouseX, mouseY, delta); - this.selectNoneButton.render(matrices, mouseX, mouseY, delta); - this.hideButton.render(matrices, mouseX, mouseY, delta); - this.showButton.render(matrices, mouseX, mouseY, delta); - matrices.popPose(); + scrolling.renderScrollBar(graphics, 0, 1.0F, REIRuntime.getInstance().isDarkThemeEnabled() ? 0.8F : 1F); + graphics.pose().pushPose(); + graphics.pose().translate(0, 0, 300); + this.searchField.laterRender(graphics, mouseX, mouseY, delta); + this.selectAllButton.render(graphics, mouseX, mouseY, delta); + this.selectNoneButton.render(graphics, mouseX, mouseY, delta); + this.hideButton.render(graphics, mouseX, mouseY, delta); + this.showButton.render(graphics, mouseX, mouseY, delta); + graphics.pose().popPose(); ScissorsHandler.INSTANCE.removeLastScissor(); Tesselator tesselator = Tesselator.getInstance(); @@ -261,7 +265,7 @@ public class FilteringScreen extends Screen { RenderSystem.enableBlend(); RenderSystem.blendFuncSeparate(770, 771, 0, 1); RenderSystem.setShader(GameRenderer::getPositionTexColorShader); - Matrix4f matrix = matrices.last().pose(); + Matrix4f matrix = graphics.pose().last().pose(); buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); buffer.vertex(matrix, 0, bounds.y + 4, 0.0F).uv(0.0F, 1.0F).color(0, 0, 0, 0).endVertex(); buffer.vertex(matrix, width, bounds.y + 4, 0.0F).uv(1.0F, 1.0F).color(0, 0, 0, 0).endVertex(); @@ -269,17 +273,17 @@ public class FilteringScreen extends Screen { buffer.vertex(matrix, 0, bounds.y, 0.0F).uv(0.0F, 0.0F).color(0, 0, 0, 255).endVertex(); tesselator.end(); RenderSystem.disableBlend(); - renderHoleBackground(matrices, 0, bounds.y, 64, 255, 255); + renderHoleBackground(graphics, 0, bounds.y, 64, 255, 255); - this.backButton.render(matrices, mouseX, mouseY, delta); + this.backButton.render(graphics, mouseX, mouseY, delta); if (tooltip != null) { - ((ScreenOverlayImpl) REIRuntime.getInstance().getOverlay().get()).renderTooltip(matrices, tooltip); + ((ScreenOverlayImpl) REIRuntime.getInstance().getOverlay().get()).renderTooltip(graphics, tooltip); } - this.font.drawShadow(matrices, this.title.getVisualOrderText(), this.width / 2.0F - this.font.width(this.title) / 2.0F, 12.0F, -1); + graphics.drawString(this.font, this.title.getVisualOrderText(), (int) (this.width / 2.0F - this.font.width(this.title) / 2.0F), 12, -1); Component hint = Component.translatable("config.roughlyenoughitems.filteringRulesScreen.hint").withStyle(ChatFormatting.YELLOW); - this.font.drawShadow(matrices, hint, this.width - this.font.width(hint) - 15, 12.0F, -1); + graphics.drawString(this.font, hint, this.width - this.font.width(hint) - 15, 12, -1); } private Predicate getSelection() { @@ -470,11 +474,11 @@ public class FilteringScreen extends Screen { } @Override - protected void drawExtra(PoseStack matrices, int mouseX, int mouseY, float delta) { + protected void drawExtra(GuiGraphics graphics, int mouseX, int mouseY, float delta) { if (isSelected()) { Rectangle bounds = getBounds(); RenderSystem.disableDepthTest(); - fillGradient(matrices, bounds.x, bounds.y, bounds.getMaxX(), bounds.getMaxY(), 0x896b70fa, 0x896b70fa); + graphics.fillGradient(bounds.x, bounds.y, bounds.getMaxX(), bounds.getMaxY(), 0x896b70fa, 0x896b70fa); RenderSystem.enableDepthTest(); } } @@ -492,17 +496,17 @@ public class FilteringScreen extends Screen { } @Override - protected void drawBackground(PoseStack matrices, int mouseX, int mouseY, float delta) { + protected void drawBackground(GuiGraphics graphics, int mouseX, int mouseY, float delta) { if (isFiltered()) { Rectangle bounds = getBounds(); RenderSystem.disableDepthTest(); - fillGradient(matrices, bounds.x, bounds.y, bounds.getMaxX(), bounds.getMaxY(), 0xffff0000, 0xffff0000); + graphics.fillGradient(bounds.x, bounds.y, bounds.getMaxX(), bounds.getMaxY(), 0xffff0000, 0xffff0000); RenderSystem.enableDepthTest(); } } @Override - protected void queueTooltip(PoseStack matrices, int mouseX, int mouseY, float delta) { + protected void queueTooltip(GuiGraphics graphics, int mouseX, int mouseY, float delta) { if (searchField.containsMouse(mouseX, mouseY)) return; Tooltip tooltip = getCurrentTooltip(TooltipContext.of(new Point(mouseX, mouseY))); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringCategoriesEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringCategoriesEntry.java index 9fdb5848d..3fbc3f954 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringCategoriesEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringCategoriesEntry.java @@ -25,10 +25,10 @@ package me.shedaniel.rei.impl.client.config.entries; import com.google.common.collect.ImmutableList; import com.mojang.blaze3d.platform.Window; -import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.clothconfig2.api.AbstractConfigListEntry; import me.shedaniel.rei.api.common.category.CategoryIdentifier; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; @@ -47,7 +47,9 @@ public class NoFilteringCategoriesEntry extends AbstractConfigListEntry, Boolean>> saveConsumer; private Map, Boolean> defaultValue; private Map, Boolean> configFiltered; - private final AbstractWidget buttonWidget = new Button(0, 0, 150, 20, Component.translatable("config.roughlyenoughitems.filteredEntries.loadWorldFirst"), button -> {}, Supplier::get) {}; + private final AbstractWidget buttonWidget = new Button(0, 0, 150, 20, Component.translatable("config.roughlyenoughitems.filteredEntries.loadWorldFirst"), button -> { + }, Supplier::get) { + }; private final List children = ImmutableList.of(buttonWidget); public NoFilteringCategoriesEntry(Component fieldName, Map, Boolean> configFiltered, Map, Boolean> defaultValue, Consumer, Boolean>> saveConsumer) { @@ -73,22 +75,22 @@ public class NoFilteringCategoriesEntry extends AbstractConfigListEntry