diff options
Diffstat (limited to 'src/main/java')
37 files changed, 294 insertions, 518 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java index bce41cdf1..2898983b7 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java @@ -65,7 +65,7 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer { ServerSidePacketRegistry.INSTANCE.register(DELETE_ITEMS_PACKET, (packetContext, packetByteBuf) -> { ServerPlayerEntity player = (ServerPlayerEntity) packetContext.getPlayer(); if (player.getServer().getPermissionLevel(player.getGameProfile()) < player.getServer().getOpPermissionLevel()) { - player.sendMessage(new TranslatableText("text.rei.no_permission_cheat").method_27692(Formatting.RED), false); + player.sendMessage(new TranslatableText("text.rei.no_permission_cheat").formatted(Formatting.RED), false); return; } if (!player.inventory.getCursorStack().isEmpty()) @@ -74,7 +74,7 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer { ServerSidePacketRegistry.INSTANCE.register(CREATE_ITEMS_PACKET, (packetContext, packetByteBuf) -> { ServerPlayerEntity player = (ServerPlayerEntity) packetContext.getPlayer(); if (player.getServer().getPermissionLevel(player.getGameProfile()) < player.getServer().getOpPermissionLevel()) { - player.sendMessage(new TranslatableText("text.rei.no_permission_cheat").method_27692(Formatting.RED), false); + player.sendMessage(new TranslatableText("text.rei.no_permission_cheat").formatted(Formatting.RED), false); return; } ItemStack stack = packetByteBuf.readItemStack(); @@ -118,9 +118,9 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer { ServerSidePacketRegistry.INSTANCE.sendToPlayer(player, NOT_ENOUGH_ITEMS_PACKET, buf); } } catch (IllegalStateException e) { - player.sendSystemMessage(new TranslatableText(e.getMessage()).method_27692(Formatting.RED)); + player.sendSystemMessage(new TranslatableText(e.getMessage()).formatted(Formatting.RED)); } catch (Exception e) { - player.sendSystemMessage(new TranslatableText("error.rei.internal.error", e.getMessage()).method_27692(Formatting.RED)); + player.sendSystemMessage(new TranslatableText("error.rei.internal.error", e.getMessage()).formatted(Formatting.RED)); e.printStackTrace(); } } catch (Exception e) { diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java index 9ae7775d8..3d742bfbb 100644 --- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java @@ -34,9 +34,9 @@ import me.shedaniel.rei.api.widgets.Button; import me.shedaniel.rei.api.widgets.Tooltip; import me.shedaniel.rei.api.widgets.Widgets; import me.shedaniel.rei.gui.config.SearchFieldLocation; -import me.shedaniel.rei.gui.modules.GameModeMenuEntry; -import me.shedaniel.rei.gui.modules.WeatherMenuEntry; -import me.shedaniel.rei.gui.subsets.SubsetsMenu; +import me.shedaniel.rei.gui.modules.entries.GameModeMenuEntry; +import me.shedaniel.rei.gui.modules.entries.WeatherMenuEntry; +import me.shedaniel.rei.gui.modules.Menu; import me.shedaniel.rei.gui.widget.*; import me.shedaniel.rei.impl.ClientHelperImpl; import me.shedaniel.rei.impl.InternalWidgets; @@ -126,17 +126,17 @@ public class ContainerScreenOverlay extends WidgetWithBounds { private Rectangle subsetsButtonBounds; @ApiStatus.Experimental @Nullable - private SubsetsMenu subsetsMenu = null; + private Menu subsetsMenu = null; private Widget wrappedSubsetsMenu = null; @Nullable - private SubsetsMenu weatherMenu = null; + private Menu weatherMenu = null; private Widget wrappedWeatherMenu = null; private boolean renderWeatherMenu = false; private Button weatherButton = null; @Nullable - private SubsetsMenu gameModeMenu = null; + private Menu gameModeMenu = null; private Widget wrappedGameModeMenu = null; private boolean renderGameModeMenu = false; private Button gameModeButton = null; @@ -152,7 +152,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { @ApiStatus.Experimental @Nullable - public SubsetsMenu getSubsetsMenu() { + public Menu getSubsetsMenu() { return subsetsMenu; } @@ -273,7 +273,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { renderGameModeMenu = !renderWeatherMenu && (button.isFocused() || button.containsMouse(PointHelper.ofMouse()) || (wrappedGameModeMenu != null && wrappedGameModeMenu.containsMouse(PointHelper.ofMouse()))); if (tmpRender != renderGameModeMenu) { if (renderGameModeMenu) { - this.gameModeMenu = new SubsetsMenu(new Point(button.getBounds().x, button.getBounds().getMaxY()), + this.gameModeMenu = new Menu(new Point(button.getBounds().x, button.getBounds().getMaxY()), CollectionUtils.filterAndMap(Arrays.asList(GameMode.values()), mode -> mode != GameMode.NOT_SET, GameModeMenuEntry::new)); if (ConfigObject.getInstance().isLeftHandSidePanel()) this.gameModeMenu.menuStartPoint.x -= this.gameModeMenu.getBounds().width - this.gameModeButton.getBounds().width; @@ -294,7 +294,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { renderWeatherMenu = !renderGameModeMenu && (button.isFocused() || button.containsMouse(PointHelper.ofMouse()) || (wrappedWeatherMenu != null && wrappedWeatherMenu.containsMouse(PointHelper.ofMouse()))); if (tmpRender != renderWeatherMenu) { if (renderWeatherMenu) { - this.weatherMenu = new SubsetsMenu(new Point(button.getBounds().x, button.getBounds().getMaxY()), + this.weatherMenu = new Menu(new Point(button.getBounds().x, button.getBounds().getMaxY()), CollectionUtils.map(Weather.values(), WeatherMenuEntry::new)); if (ConfigObject.getInstance().isLeftHandSidePanel()) this.weatherMenu.menuStartPoint.x -= this.weatherMenu.getBounds().width - this.weatherButton.getBounds().width; @@ -319,7 +319,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { widgets.add(InternalWidgets.wrapLateRenderable(InternalWidgets.wrapTranslate(Widgets.createButton(subsetsButtonBounds, ((ClientHelperImpl) ClientHelper.getInstance()).isAprilFools.get() ? new TranslatableText("text.rei.tiny_potato") : new TranslatableText("text.rei.subsets")) .onClick(button -> { if (subsetsMenu == null) { - wrappedSubsetsMenu = InternalWidgets.wrapTranslate(InternalWidgets.wrapLateRenderable(this.subsetsMenu = SubsetsMenu.createFromRegistry(new Point(this.subsetsButtonBounds.x, this.subsetsButtonBounds.getMaxY()))), 0, 0, 400); + wrappedSubsetsMenu = InternalWidgets.wrapTranslate(InternalWidgets.wrapLateRenderable(this.subsetsMenu = Menu.createSubsetsMenuFromRegistry(new Point(this.subsetsButtonBounds.x, this.subsetsButtonBounds.getMaxY()))), 0, 0, 400); this.widgets.add(this.wrappedSubsetsMenu); } else { this.widgets.remove(this.wrappedSubsetsMenu); @@ -560,7 +560,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { public void renderTooltip(MatrixStack matrices, List<Text> lines, int mouseX, int mouseY) { if (lines.isEmpty()) return; - tooltipWidth = lines.stream().map(font::method_27525).max(Integer::compareTo).get(); + tooltipWidth = lines.stream().map(font::getWidth).max(Integer::compareTo).get(); tooltipHeight = lines.size() <= 1 ? 8 : lines.size() * 10; tooltipLines = lines; ScreenHelper.drawHoveringWidget(matrices, mouseX, mouseY, renderTooltipCallback, tooltipWidth, tooltipHeight, 0); diff --git a/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java b/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java index d5d9174cd..2f186c138 100644 --- a/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java +++ b/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java @@ -84,9 +84,9 @@ public class OverlaySearchField extends TextFieldWidget { @Override protected void renderSuggestion(MatrixStack matrices, int x, int y) { if (containsMouse(PointHelper.ofMouse()) || isFocused()) - this.font.drawWithShadow(matrices, this.font.method_27523(this.getSuggestion(), this.getWidth()), x, y, REIHelper.getInstance().isDarkThemeEnabled() ? 0xccddaa3d : 0xddeaeaea); + this.font.drawWithShadow(matrices, this.font.trimToWidth(this.getSuggestion(), this.getWidth()), x, y, REIHelper.getInstance().isDarkThemeEnabled() ? 0xccddaa3d : 0xddeaeaea); else - this.font.drawWithShadow(matrices, this.font.method_27523(this.getSuggestion(), this.getWidth()), x, y, -6250336); + this.font.drawWithShadow(matrices, this.font.trimToWidth(this.getSuggestion(), this.getWidth()), x, y, -6250336); } @Override diff --git a/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java index 0fd4f6a0c..bdf3bf4e2 100644 --- a/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java @@ -127,7 +127,7 @@ public class PreRecipeViewingScreen extends Screen { this.method_27534(matrices, this.textRenderer, this.title, this.width / 2, 20, 16777215); if (showTips) { int i = 30; - for (Text s : this.textRenderer.wrapStringToWidthAsList(new TranslatableText("text.rei.recipe_screen_type.selection.sub").method_27692(Formatting.GRAY), width - 30)) { + for (Text s : this.textRenderer.wrapLines(new TranslatableText("text.rei.recipe_screen_type.selection.sub").formatted(Formatting.GRAY), width - 30)) { this.method_27534(matrices, this.textRenderer, s, width / 2, i, -1); i += 10; } diff --git a/src/main/java/me/shedaniel/rei/gui/RecipeDisplayExporter.java b/src/main/java/me/shedaniel/rei/gui/RecipeDisplayExporter.java index 20c48d5f6..b42bd6601 100644 --- a/src/main/java/me/shedaniel/rei/gui/RecipeDisplayExporter.java +++ b/src/main/java/me/shedaniel/rei/gui/RecipeDisplayExporter.java @@ -23,26 +23,20 @@ package me.shedaniel.rei.gui; -import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; import me.shedaniel.math.Rectangle; +import me.shedaniel.rei.gui.toast.ExportRecipeIdentifierToast; import me.shedaniel.rei.gui.widget.Widget; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gl.Framebuffer; import net.minecraft.client.gui.Element; import net.minecraft.client.render.DiffuseLighting; -import net.minecraft.client.render.OverlayTexture; -import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.render.model.BakedModel; -import net.minecraft.client.render.model.json.ModelTransformation; +import net.minecraft.client.resource.language.I18n; import net.minecraft.client.texture.NativeImage; -import net.minecraft.client.texture.SpriteAtlasTexture; +import net.minecraft.client.util.Window; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; import net.minecraft.resource.ResourceImpl; import org.jetbrains.annotations.ApiStatus; -import org.lwjgl.opengl.GL11; import java.io.File; import java.io.IOException; @@ -59,6 +53,7 @@ public final class RecipeDisplayExporter extends Widget { public static void exportRecipeDisplay(Rectangle rectangle, List<Widget> widgets) { INSTANCE.exportRecipe(rectangle, widgets); + ExportRecipeIdentifierToast.addToast(I18n.translate("msg.rei.exported_recipe"), I18n.translate("msg.rei.exported_recipe.desc")); } private static File getExportFilename(File directory) { @@ -66,7 +61,7 @@ public final class RecipeDisplayExporter extends Widget { int i = 1; while (true) { - File file = new File(directory, "REI_" + string + (i == 1 ? "" : "_" + i) + ".png"); + File file = new File(directory, string + (i == 1 ? "" : "_" + i) + ".png"); if (!file.exists()) { return file; } @@ -77,134 +72,48 @@ public final class RecipeDisplayExporter extends Widget { @SuppressWarnings("deprecation") private void exportRecipe(Rectangle rectangle, List<Widget> widgets) { - MatrixStack matrices = new MatrixStack(); - Framebuffer framebuffer = new Framebuffer(rectangle.width * 8, rectangle.height * 8, true, MinecraftClient.IS_SYSTEM_MAC); - framebuffer.setClearColor(0, 0, 0, 0); - // int color = REIHelper.getInstance().isDarkThemeEnabled() ? -13750738 : -3750202; - // framebuffer.setClearColor(((color >> 16) & 0xFF) / 255f, ((color >> 8) & 0xFF) / 255f, (color & 0xFF) / 255f, ((color >> 24) & 0xFF) / 255f); - framebuffer.clear(MinecraftClient.IS_SYSTEM_MAC); RenderSystem.pushMatrix(); - // RenderSystem.clear(16640, MinecraftClient.IS_SYSTEM_MAC); + MinecraftClient client = MinecraftClient.getInstance(); + Window window = client.getWindow(); + Framebuffer framebuffer = new Framebuffer(window.getFramebufferWidth(), window.getFramebufferHeight(), false, false); framebuffer.beginWrite(true); - - // Fresh matrices - // RenderSystem.clear(256, MinecraftClient.IS_SYSTEM_MAC); - RenderSystem.matrixMode(GL11.GL_PROJECTION); - RenderSystem.pushMatrix(); + RenderSystem.viewport(0, 0, window.getFramebufferWidth(), window.getFramebufferHeight()); + RenderSystem.clear(256, MinecraftClient.IS_SYSTEM_MAC); + RenderSystem.matrixMode(5889); RenderSystem.loadIdentity(); - // RenderSystem.ortho(0.0D, rectangle.width * 8, rectangle.height * 8, 0.0D, -1, 1); - // RenderSystem.scalef(1, -1,0); - // RenderSystem.ortho(-1, 1, 1, -1, -1, 1); - // RenderSystem.ortho(-1, 1, 1, -1, -1, 1); - RenderSystem.matrixMode(GL11.GL_MODELVIEW); - RenderSystem.pushMatrix(); + RenderSystem.ortho(0.0D, (double) window.getFramebufferWidth() / window.getScaleFactor(), (double) window.getFramebufferHeight() / window.getScaleFactor(), 0.0D, 1000.0D, 3000.0D); + RenderSystem.matrixMode(5888); RenderSystem.loadIdentity(); - // RenderSystem.translatef(0.0F, 0.0F, -2000.0F); - // RenderSystem.rotatef(180, 1, 0, 0); - RenderSystem.scalef(2f / rectangle.width, -2f / rectangle.height, 0); - // RenderSystem.scalef(1f / rectangle.width, -1f / rectangle.height, 0); - // RenderSystem.translatef(10,10,0); - RenderSystem.translatef(-rectangle.x, -rectangle.y, 0); - // RenderSystem.translatef(rectangle.x, rectangle.y, 0); - RenderSystem.translatef(-rectangle.width / 2f, -rectangle.height / 2f, 0); - - // RenderSystem.enableAlphaTest(); - // RenderSystem.alphaFunc(516, 0.1F); - // RenderSystem.enableBlend(); - // RenderSystem.blendFuncSeparate(GlStateManager.SrcFactor.ONE_MINUS_DST_ALPHA, GlStateManager.DstFactor.DST_ALPHA, GlStateManager.SrcFactor.ONE, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA); - RenderSystem.enableAlphaTest(); - RenderSystem.defaultAlphaFunc(); - RenderSystem.enableBlend(); - RenderSystem.enableDepthTest(); - RenderSystem.blendFunc(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA); - RenderSystem.depthMask(false); - RenderSystem.disableCull(); - RenderSystem.pushLightingAttributes(); + RenderSystem.translatef(0.0F, 0.0F, -2000.0F); + DiffuseLighting.enableGuiDepthLighting(); + MatrixStack matrices = new MatrixStack(); for (Widget widget : widgets) { - widget.render(matrices, -1, -1, minecraft.getTickDelta()); - } - { - ItemStack stack = new ItemStack(Items.OAK_STAIRS); - final BakedModel model = minecraft.getItemRenderer().getHeldItemModel(stack, minecraft.world, minecraft.player); - minecraft.getTextureManager().bindTexture(SpriteAtlasTexture.BLOCK_ATLAS_TEX); - minecraft.getTextureManager().getTexture(SpriteAtlasTexture.BLOCK_ATLAS_TEX).setFilter(false, false); - - RenderSystem.enableRescaleNormal(); - RenderSystem.enableAlphaTest(); - RenderSystem.defaultAlphaFunc(); - RenderSystem.enableBlend(); - RenderSystem.enableDepthTest(); - RenderSystem.blendFunc(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA); - - RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); - matrices.push(); - - matrices.translate(rectangle.x + 8, rectangle.y + 8, 0); - matrices.scale(16, -16, 1F); - - boolean disableGuiLight = !model.isSideLit(); - if (disableGuiLight) { - DiffuseLighting.disableGuiDepthLighting(); - } - - VertexConsumerProvider.Immediate immediate = MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers(); - minecraft.getItemRenderer().renderItem(stack, ModelTransformation.Mode.GUI, false, matrices, immediate, 15728880, OverlayTexture.DEFAULT_UV, model); - immediate.draw(); - matrices.pop(); - - RenderSystem.enableDepthTest(); - - if (disableGuiLight) { - DiffuseLighting.enableGuiDepthLighting(); - } - - RenderSystem.disableAlphaTest(); - RenderSystem.disableRescaleNormal(); + widget.render(matrices, -1, -1, 0); } - // fillGradient(0, 0, 10, 10, -1, -1); - // fillGradient(rectangle.x, rectangle.y, rectangle.x + 10, rectangle.y + 10, -16777216, -16777216); - RenderSystem.depthMask(true); - RenderSystem.disableAlphaTest(); - RenderSystem.disableRescaleNormal(); - RenderSystem.disableDepthTest(); - // RenderSystem.disableAlphaTest(); - // RenderSystem.disableBlend(); - - // Reset matrices - RenderSystem.matrixMode(GL11.GL_PROJECTION); RenderSystem.popMatrix(); - RenderSystem.matrixMode(GL11.GL_MODELVIEW); - RenderSystem.popMatrix(); - - framebuffer.endWrite(); - RenderSystem.popMatrix(); - RenderSystem.viewport(0, 0, minecraft.getWindow().getFramebufferWidth(), minecraft.getWindow().getFramebufferHeight()); - NativeImage nativeImage = new NativeImage(rectangle.width * 8, rectangle.height * 8, false); + NativeImage nativeImage = new NativeImage(framebuffer.textureWidth, framebuffer.textureHeight, false); RenderSystem.bindTexture(framebuffer.colorAttachment); nativeImage.loadFromTextureImage(0, false); - { - int width = rectangle.width * 8; - int height = rectangle.height * 8; - for (int y = 0; y < height; ++y) { - for (int x = 0; x < width; ++x) { - if (x > 24 && x < width - 24 && y > 24 && y < height - 24) - nativeImage.setPixelRgba(x, y, nativeImage.getPixelRgba(x, y) | 255 << NativeImage.Format.RGBA.getAlphaChannelOffset()); - } + nativeImage.mirrorVertically(); + int outWidth = (int) (rectangle.width * window.getScaleFactor()); + int outHeight = (int) (rectangle.height * window.getScaleFactor()); + NativeImage strippedImage = new NativeImage(outWidth, outHeight, false); + for (int y = 0; y < outHeight; ++y) { + for (int x = 0; x < outWidth; ++x) { + strippedImage.setPixelRgba(x, y, nativeImage.getPixelRgba(x + (int) (rectangle.x * window.getScaleFactor()), y + (int) (rectangle.y * window.getScaleFactor()))); } } - - nativeImage.mirrorVertically(); ResourceImpl.RESOURCE_IO_EXECUTOR.execute(() -> { try { - File export = new File(minecraft.runDirectory, "export"); - //noinspection ResultOfMethodCallIgnored + File export = new File(minecraft.runDirectory, "rei_exports"); export.mkdirs(); - nativeImage.writeFile(getExportFilename(export)); + strippedImage.writeFile(getExportFilename(export)); } catch (IOException e) { e.printStackTrace(); } finally { nativeImage.close(); + strippedImage.close(); RenderSystem.recordRenderCall(framebuffer::delete); } }); diff --git a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java index 87c134700..cdb4eb1cc 100644 --- a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java @@ -342,7 +342,7 @@ public class RecipeViewingScreen extends Screen implements RecipeScreen { preWidgets.add(workingStationsBaseWidget = Widgets.createCategoryBase(new Rectangle(xx - 5, yy - 5, 15 + innerWidth * 16, 10 + actualHeight * 16))); preWidgets.add(Widgets.createSlotBase(new Rectangle(xx - 1, yy - 1, innerWidth * 16 + 2, actualHeight * 16 + 2))); int index = 0; - List<Text> list = Collections.singletonList(new TranslatableText("text.rei.working_station").method_27692(Formatting.YELLOW)); + List<Text> list = Collections.singletonList(new TranslatableText("text.rei.working_station").formatted(Formatting.YELLOW)); xx += (innerWidth - 1) * 16; for (List<EntryStack> workingStation : workingStations) { preWidgets.add(new WorkstationSlotWidget(xx, yy, CollectionUtils.map(workingStation, stack -> stack.copy().setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> list)))); @@ -436,12 +436,12 @@ public class RecipeViewingScreen extends Screen implements RecipeScreen { setZOffset(470); if (bounds.contains(mouseX, mouseY)) { fillGradient(matrices, bounds.x, bounds.y, bounds.getMaxX(), bounds.getMaxY(), 1744822402, 1744822402); - Text text = new TranslatableText("text.rei.release_export", export.getLocalizedName()); + Text text = new TranslatableText("text.rei.release_export", export.getLocalizedName().copy().getString()); VertexConsumerProvider.Immediate immediate = VertexConsumerProvider.immediate(Tessellator.getInstance().getBuffer()); matrices.push(); matrices.translate(0.0D, 0.0D, 480); Matrix4f matrix4f = matrices.peek().getModel(); - textRenderer.draw(text, bounds.getCenterX() - textRenderer.method_27525(text) / 2f, bounds.getCenterY() - 4.5f, 0xff000000, false, matrix4f, immediate, false, 0, 15728880); + textRenderer.draw(text, bounds.getCenterX() - textRenderer.getWidth(text) / 2f, bounds.getCenterY() - 4.5f, 0xff000000, false, matrix4f, immediate, false, 0, 15728880); immediate.draw(); matrices.pop(); } else { diff --git a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java index db505e0af..ae6d396a6 100644 --- a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java @@ -27,6 +27,7 @@ import com.google.common.collect.Lists; import com.mojang.blaze3d.systems.RenderSystem; import me.shedaniel.clothconfig2.ClothConfigInitializer; import me.shedaniel.clothconfig2.api.ScissorsHandler; +import me.shedaniel.clothconfig2.api.ScrollingContainer; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; import me.shedaniel.math.impl.PointHelper; @@ -35,7 +36,6 @@ import me.shedaniel.rei.api.widgets.Button; import me.shedaniel.rei.api.widgets.Tooltip; import me.shedaniel.rei.api.widgets.Widgets; import me.shedaniel.rei.gui.entries.RecipeEntry; -import me.shedaniel.rei.gui.widget.ScrollingContainer; import me.shedaniel.rei.gui.widget.TabWidget; import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.impl.ClientHelperImpl; @@ -171,7 +171,7 @@ public class VillagerRecipeViewingScreen extends Screen implements RecipeScreen widgets.add(Widgets.createCategoryBase(new Rectangle(xx - 5, bounds.y + bounds.height - 5, 10 + w * 16, 12 + h * 16))); widgets.add(Widgets.createSlotBase(new Rectangle(xx - 1, yy - 1, 2 + w * 16, 2 + h * 16))); int index = 0; - List<Text> list = Collections.singletonList(new TranslatableText("text.rei.working_station").method_27692(Formatting.YELLOW)); + List<Text> list = Collections.singletonList(new TranslatableText("text.rei.working_station").formatted(Formatting.YELLOW)); for (List<EntryStack> workingStation : workingStations) { widgets.add(new RecipeViewingScreen.WorkstationSlotWidget(xx, yy, CollectionUtils.map(workingStation, stack -> stack.copy().setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> list)))); index++; @@ -352,7 +352,7 @@ public class VillagerRecipeViewingScreen extends Screen implements RecipeScreen Optional.ofNullable(recipeRenderers.get(i).getTooltip(new Point(mouseX, mouseY))).ifPresent(Tooltip::queue); } } - scrolling.renderScrollBar(0, scrollBarAlpha); + scrolling.renderScrollBar(0, scrollBarAlpha, REIHelper.getInstance().isDarkThemeEnabled() ? 0.8f : 1f); ScissorsHandler.INSTANCE.removeLastScissor(); RenderSystem.popMatrix(); ScreenHelper.getLastOverlay().lateRender(matrices, mouseX, mouseY, delta); diff --git a/src/main/java/me/shedaniel/rei/gui/WarningAndErrorScreen.java b/src/main/java/me/shedaniel/rei/gui/WarningAndErrorScreen.java index 1794078e0..d45c3e24e 100644 --- a/src/main/java/me/shedaniel/rei/gui/WarningAndErrorScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/WarningAndErrorScreen.java @@ -66,13 +66,13 @@ publ |
