diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-02-16 17:52:40 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-02-16 17:52:40 +0800 |
| commit | 2e0e576b64545cb45a0ab3e0d0fe81cfb7a61307 (patch) | |
| tree | 33ab48fd72c49fa1b2a78c05b29de67da7ab6064 /src/main/java/me/shedaniel/rei/gui/widget | |
| parent | 074a627663e0150e23d47a87486afb852dd2cfdd (diff) | |
| download | RoughlyEnoughItems-2.3.0.17.tar.gz RoughlyEnoughItems-2.3.0.17.tar.bz2 RoughlyEnoughItems-2.3.0.17.zip | |
Same as v2.3 in Fabricv2.3.0.17
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/widget')
7 files changed, 76 insertions, 250 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java index 99e36f0c9..d8443c8ad 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java @@ -8,6 +8,7 @@ import net.minecraft.client.renderer.GlStateManager; import net.minecraft.init.SoundEvents; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.MathHelper; +import net.minecraft.util.text.ITextComponent; import java.awt.*; import java.util.ArrayList; @@ -16,32 +17,30 @@ import java.util.List; public abstract class ButtonWidget extends Gui implements IWidget { protected static final ResourceLocation WIDGET_TEX = new ResourceLocation("textures/gui/widgets.png"); - public int x; - public int y; public String text; public boolean enabled; public boolean visible; - protected int width; - protected int height; protected boolean hovered; private boolean pressed; private Rectangle bounds; - public ButtonWidget(Rectangle rectangle, String text) { - this(rectangle.x, rectangle.y, rectangle.width, rectangle.height, text); + public ButtonWidget(Rectangle rectangle, ITextComponent text) { + this(rectangle, text.getFormattedText()); } - public ButtonWidget(int x, int y, int width, int height, String text) { - this.width = 200; - this.height = 20; + public ButtonWidget(Rectangle rectangle, String text) { + this.bounds = rectangle; this.enabled = true; this.visible = true; - this.x = x; - this.y = y; - this.width = width; - this.height = height; this.text = text; - this.bounds = new Rectangle(x, this.y, this.width, this.height); + } + + public ButtonWidget(int x, int y, int width, int height, String text) { + this(new Rectangle(x, y, width, height), text); + } + + public ButtonWidget(int x, int y, int width, int height, ITextComponent text) { + this(new Rectangle(x, y, width, height), text); } public Rectangle getBounds() { @@ -66,8 +65,8 @@ public abstract class ButtonWidget extends Gui implements IWidget { @Override public void draw(int mouseX, int mouseY, float partialTicks) { - if (this.visible) { + int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height; Minecraft minecraftClient_1 = Minecraft.getInstance(); FontRenderer fontRenderer_1 = minecraftClient_1.fontRenderer; minecraftClient_1.getTextureManager().bindTexture(WIDGET_TEX); @@ -78,18 +77,18 @@ public abstract class ButtonWidget extends Gui implements IWidget { GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); //Four Corners - this.drawTexturedModalRect(this.x, this.y, 0, 46 + textureOffset * 20, 4, 4); - this.drawTexturedModalRect(this.x + this.width - 4, this.y, 196, 46 + textureOffset * 20, 4, 4); - this.drawTexturedModalRect(this.x, this.y + this.height - 4, 0, 62 + textureOffset * 20, 4, 4); - this.drawTexturedModalRect(this.x + this.width - 4, this.y + this.height - 4, 196, 62 + textureOffset * 20, 4, 4); + this.drawTexturedModalRect(x, y, 0, 46 + textureOffset * 20, 4, 4); + this.drawTexturedModalRect(x + width - 4, y, 196, 46 + textureOffset * 20, 4, 4); + this.drawTexturedModalRect(x, y + height - 4, 0, 62 + textureOffset * 20, 4, 4); + this.drawTexturedModalRect(x + width - 4, y + height - 4, 196, 62 + textureOffset * 20, 4, 4); //Sides - this.drawTexturedModalRect(this.x + 4, this.y, 4, 46 + textureOffset * 20, this.width - 8, 4); - this.drawTexturedModalRect(this.x + 4, this.y + this.height - 4, 4, 62 + textureOffset * 20, this.width - 8, 4); + this.drawTexturedModalRect(x + 4, y, 4, 46 + textureOffset * 20, width - 8, 4); + this.drawTexturedModalRect(x + 4, y + height - 4, 4, 62 + textureOffset * 20, width - 8, 4); - for(int i = this.y + 4; i < this.y + this.height - 4; i += 4) { - this.drawTexturedModalRect(this.x, i, 0, 50 + textureOffset * 20, this.width / 2, MathHelper.clamp(this.y + this.height - 4 - i, 0, 4)); - this.drawTexturedModalRect(this.x + this.width / 2, i, 200 - this.width / 2, 50 + textureOffset * 20, this.width / 2, MathHelper.clamp(this.y + this.height - 4 - i, 0, 4)); + for(int i = y + 4; i < y + height - 4; i += 4) { + this.drawTexturedModalRect(x, i, 0, 50 + textureOffset * 20, width / 2, MathHelper.clamp(y + height - 4 - i, 0, 4)); + this.drawTexturedModalRect(x + width / 2, i, 200 - width / 2, 50 + textureOffset * 20, width / 2, MathHelper.clamp(y + height - 4 - i, 0, 4)); } int colour = 14737632; @@ -99,7 +98,7 @@ public abstract class ButtonWidget extends Gui implements IWidget { colour = 16777120; } - this.drawCenteredString(fontRenderer_1, this.text, this.x + this.width / 2, this.y + (this.height - 8) / 2, colour); + this.drawCenteredString(fontRenderer_1, this.text, x + width / 2, y + (height - 8) / 2, colour); } } diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java deleted file mode 100644 index 9519a949a..000000000 --- a/src/main/java/me/shedaniel/rei/gui/widget/ConfigWidget.java +++ /dev/null @@ -1,177 +0,0 @@ -package me.shedaniel.rei.gui.widget; - -import com.google.common.collect.Lists; -import me.shedaniel.rei.client.ConfigHelper; -import me.shedaniel.rei.client.REIItemListOrdering; -import net.minecraft.client.MainWindow; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.gui.IGuiEventListener; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.resources.I18n; - -import java.io.IOException; -import java.util.Arrays; -import java.util.List; - -public class ConfigWidget extends GuiScreen { - - private List<IWidget> widgets; - private GuiScreen parent; - - public ConfigWidget(GuiScreen parent) { - this.parent = parent; - this.widgets = Lists.newArrayList(); - } - - @Override - public boolean keyPressed(int int_1, int int_2, int int_3) { - if (int_1 == 256 && this.allowCloseWithEscape()) { - Minecraft.getInstance().displayGuiScreen(parent); - return true; - } else { - return super.keyPressed(int_1, int_2, int_3); - } - } - - @Override - protected void initGui() { - super.initGui(); - widgets.clear(); - MainWindow window = Minecraft.getInstance().mainWindow; - widgets.add(new ButtonWidget(window.getScaledWidth() / 2 - 20, 30, 40, 20, "") { - @Override - public void onPressed(int button, double mouseX, double mouseY) { - if (button == 0) - ConfigHelper.getInstance().setSideSearchField(!ConfigHelper.getInstance().sideSearchField()); - try { - ConfigHelper.getInstance().saveConfig(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void draw(int mouseX, int mouseY, float partialTicks) { - text = getTrueFalseText(ConfigHelper.getInstance().sideSearchField()); - String t = I18n.format("text.rei.side_searchbox"); - int width = fontRenderer.getStringWidth(t); - fontRenderer.drawStringWithShadow(t, this.x - width - 10, this.y + (this.height - 8) / 2, -1); - super.draw(mouseX, mouseY, partialTicks); - } - }); - widgets.add(new ButtonWidget(window.getScaledWidth() / 2 - 20, 60, 40, 20, "") { - @Override - public void onPressed(int button, double mouseX, double mouseY) { - if (button == 0) - ConfigHelper.getInstance().setShowCraftableOnlyButton(!ConfigHelper.getInstance().showCraftableOnlyButton()); - try { - ConfigHelper.getInstance().saveConfig(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void draw(int mouseX, int mouseY, float partialTicks) { - text = getTrueFalseText(ConfigHelper.getInstance().showCraftableOnlyButton()); - String t = I18n.format("text.rei.enable_craftable_only"); - int width = fontRenderer.getStringWidth(t); - fontRenderer.drawStringWithShadow(t, this.x - width - 10, this.y + (this.height - 8) / 2, -1); - super.draw(mouseX, mouseY, partialTicks); - } - }); - widgets.add(new ButtonWidget(window.getScaledWidth() / 2 - 90, 90, 150, 20, "") { - @Override - public void onPressed(int button, double mouseX, double mouseY) { - int index = Arrays.asList(REIItemListOrdering.values()).indexOf(ConfigHelper.getInstance().getItemListOrdering()) + 1; - if (index >= REIItemListOrdering.values().length) { - index = 0; - ConfigHelper.getInstance().setAscending(!ConfigHelper.getInstance().isAscending()); - } - ConfigHelper.getInstance().setItemListOrdering(REIItemListOrdering.values()[index]); - try { - ConfigHelper.getInstance().saveConfig(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void draw(int int_1, int int_2, float float_1) { - RenderHelper.disableStandardItemLighting(); - this.text = I18n.format("text.rei.list_ordering_button", I18n.format(ConfigHelper.getInstance().getItemListOrdering().getNameTranslationKey()), I18n.format(ConfigHelper.getInstance().isAscending() ? "ordering.rei.ascending" : "ordering.rei.descending")); - String t = I18n.format("text.rei.list_ordering") + ": "; - fontRenderer.drawStringWithShadow(t, parent.width / 2 - 95 - Minecraft.getInstance().fontRenderer.getStringWidth(t), 90 + 6, -1); - super.draw(int_1, int_2, float_1); - } - }); - widgets.add(new ButtonWidget(window.getScaledWidth() / 2 - 20, 120, 40, 20, "") { - @Override - public void onPressed(int button, double mouseX, double mouseY) { - if (button == 0) - ConfigHelper.getInstance().setMirrorItemPanel(!ConfigHelper.getInstance().isMirrorItemPanel()); - try { - ConfigHelper.getInstance().saveConfig(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void draw(int mouseX, int mouseY, float partialTicks) { - text = getTrueFalseText(ConfigHelper.getInstance().isMirrorItemPanel()); - String t = I18n.format("text.rei.mirror_rei"); - int width = fontRenderer.getStringWidth(t); - fontRenderer.drawStringWithShadow(t, this.x - width - 10, this.y + (this.height - 8) / 2, -1); - super.draw(mouseX, mouseY, partialTicks); - } - }); - widgets.add(new ButtonWidget(window.getScaledWidth() / 2 - 20, 150, 40, 20, "") { - @Override - public void onPressed(int button, double mouseX, double mouseY) { - if (button == 0) - ConfigHelper.getInstance().setCheckUpdates(!ConfigHelper.getInstance().checkUpdates()); - try { - ConfigHelper.getInstance().saveConfig(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void draw(int mouseX, int mouseY, float partialTicks) { - text = getTrueFalseText(ConfigHelper.getInstance().checkUpdates()); - String t = I18n.format("text.rei.check_updates"); - int width = fontRenderer.getStringWidth(t); - fontRenderer.drawStringWithShadow(t, this.x - width - 10, this.y + (this.height - 8) / 2, -1); - super.draw(mouseX, mouseY, partialTicks); - } - }); - } - - private String getTrueFalseText(boolean showCraftableOnlyButton) { - return String.format("%s%b", showCraftableOnlyButton ? "§a" : "§c", showCraftableOnlyButton); - } - - @Override - public void render(int int_1, int int_2, float float_1) { - drawWorldBackground(0); - super.render(int_1, int_2, float_1); - widgets.forEach(widget -> { - RenderHelper.disableStandardItemLighting(); - widget.draw(int_1, int_2, float_1); - }); - } - - @Override - public boolean doesGuiPauseGame() { - return false; - } - - @Override - public List<? extends IGuiEventListener> getChildren() { - return widgets; - } - -} diff --git a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java index 93086e661..b90a6db6b 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java @@ -21,13 +21,12 @@ public abstract class CraftableToggleButtonWidget extends ButtonWidget { private ItemRenderer itemRenderer; public CraftableToggleButtonWidget(Rectangle rectangle) { - this(rectangle.x, rectangle.y, rectangle.width, rectangle.height); + super(rectangle, ""); this.itemRenderer = Minecraft.getInstance().getItemRenderer(); } public CraftableToggleButtonWidget(int x, int y, int width, int height) { - super(x, y, width, height, ""); - this.itemRenderer = Minecraft.getInstance().getItemRenderer(); + this(new Rectangle(x, y, width, height)); } @Override @@ -36,13 +35,13 @@ public abstract class CraftableToggleButtonWidget extends ButtonWidget { RenderHelper.enableGUIStandardItemLighting(); this.itemRenderer.zLevel = 0.0F; - this.itemRenderer.renderItemAndEffectIntoGUI(new ItemStack(Blocks.CRAFTING_TABLE), x + 2, y + 2); + this.itemRenderer.renderItemAndEffectIntoGUI(new ItemStack(Blocks.CRAFTING_TABLE), getBounds().x + 2, getBounds().y + 2); this.itemRenderer.zLevel = 0.0F; RenderHelper.disableStandardItemLighting(); Minecraft.getInstance().getTextureManager().bindTexture(CHEST_GUI_TEXTURE); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.zLevel = 100f; - this.drawTexturedModalRect(x, y, (56 + (ConfigHelper.getInstance().craftableOnly() ? 0 : 20)), 202, 20, 20); + this.drawTexturedModalRect(getBounds().x, getBounds().y, (56 + (ConfigHelper.getInstance().craftableOnly() ? 0 : 20)), 202, 20, 20); this.zLevel = 0f; if (getBounds().contains(mouseX, mouseY)) drawTooltip(); diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java index a413add52..ceb989881 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java @@ -7,11 +7,9 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.gui.Gui; import net.minecraft.client.resources.I18n; -import net.minecraft.client.util.ITooltipFlag; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.util.math.MathHelper; -import net.minecraft.util.text.ITextComponent; import org.apache.commons.lang3.StringUtils; import java.awt.*; @@ -22,7 +20,7 @@ import java.util.stream.Stream; public class ItemListOverlay extends Gui implements IWidget { - private List<IWidget> widgets = new ArrayList<>(); + private List<IWidget> widgets; private int width, height, page; private Rectangle rectangle, listArea; private List<ItemStack> currentDisplayed; @@ -46,16 +44,10 @@ public class ItemListOverlay extends Gui implements IWidget { GuiHelper.getLastOverlay().addTooltip(new QueuedTooltip(ClientHelper.getMouseLocation(), Arrays.asList(I18n.format("text.rei.delete_items")))); } - public void updateList(int page, String searchTerm) { - updateList(rectangle, page, searchTerm); - } - public void updateList(Rectangle bounds, int page, String searchTerm) { this.rectangle = bounds; - if (ClientHelper.getItemList().isEmpty()) - RoughlyEnoughItemsCore.getClientHelper().clientLoaded(); - currentDisplayed = processSearchTerm(searchTerm, ClientHelper.getItemList(), GuiHelper.inventoryStacks); - this.widgets.clear(); + currentDisplayed = processSearchTerm(searchTerm, RoughlyEnoughItemsCore.getItemRegisterer().getItemList(), GuiHelper.inventoryStacks); + this.widgets = Lists.newLinkedList(); this.page = page; calculateListSize(rectangle); double startX = rectangle.getCenterX() - width * 9; @@ -90,8 +82,7 @@ public class ItemListOverlay extends Gui implements IWidget { return false; } }; - if (this.rectangle.contains(slotWidget.getBounds())) - widgets.add(slotWidget); + widgets.add(slotWidget); } } @@ -154,9 +145,9 @@ public class ItemListOverlay extends Gui implements IWidget { private boolean filterItem(ItemStack itemStack, List<SearchArgument> arguments) { String mod = ClientHelper.getModFromItemStack(itemStack); - List<String> toolTipsList = getStackTooltip(itemStack); + List<String> toolTipsList = Minecraft.getInstance().currentScreen.getItemToolTip(itemStack); String toolTipsMixed = toolTipsList.stream().skip(1).collect(Collectors.joining()).toLowerCase(); - String allMixed = Stream.of(itemStack.getDisplayName().getString(), toolTipsMixed).collect(Collectors.joining()).toLowerCase(); + String allMixed = Stream.of(itemStack.getDisplayName().getFormattedText(), toolTipsMixed).collect(Collectors.joining()).toLowerCase(); for(SearchArgument searchArgument : arguments.stream().filter(searchArgument -> !searchArgument.isInclude()).collect(Collectors.toList())) { if (searchArgument.getArgumentType().equals(SearchArgument.ArgumentType.MOD)) if (mod.toLowerCase().contains(searchArgument.getText().toLowerCase())) @@ -182,11 +173,6 @@ public class ItemListOverlay extends Gui implements IWidget { return true; } - private List<String> getStackTooltip(ItemStack itemStack) { - Minecraft client = Minecraft.getInstance(); - return itemStack.getTooltip(client.player, client.gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL).stream().map(ITextComponent::getFormattedText).collect(Collectors.toList()); - } - private void calculateListSize(Rectangle rect) { int xOffset = 0, yOffset = 0; this.width = 0; @@ -207,19 +193,20 @@ public class ItemListOverlay extends Gui implements IWidget { @Override public boolean mouseClicked(double double_1, double double_2, int int_1) { - EntityPlayerSP player = Minecraft.getInstance().player; - if (rectangle.contains(double_1, double_2)) + if (rectangle.contains(double_1, double_2)) { + EntityPlayerSP player = Minecraft.getInstance().player; if (ClientHelper.isCheating() && !player.inventory.getItemStack().isEmpty() && Minecraft.getInstance().isSingleplayer()) { ClientHelper.sendDeletePacket(); return true; } - if (!player.inventory.getItemStack().isEmpty() && Minecraft.getInstance().isSingleplayer()) - return false; - if (onMouseClick(int_1, double_1, double_2)) - return true; - for(IWidget widget : getListeners()) - if (widget.mouseClicked(double_1, double_2, int_1)) + if (!player.inventory.getItemStack().isEmpty() && Minecraft.getInstance().isSingleplayer()) + return false; + if (onMouseClick(int_1, double_1, double_2)) return true; + for(IWidget widget : getListeners()) + if (widget.mouseClicked(double_1, double_2, int_1)) + return true; + } return false; } diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java index 127341a39..656c44d15 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java @@ -5,6 +5,7 @@ import me.shedaniel.rei.client.ClientHelper; import me.shedaniel.rei.client.GuiHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; +import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.init.Items; @@ -23,7 +24,7 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget { private static final ResourceLocation RECIPE_GUI = new ResourceLocation("roughlyenoughitems", "textures/gui/recipecontainer.png"); private List<ItemStack> itemList = new LinkedList<>(); - private boolean drawBackground, showToolTips, clickToMoreRecipes; + private boolean drawBackground, showToolTips, clickToMoreRecipes, drawHighlightedBackground; private int x, y; public ItemSlotWidget(int x, int y, ItemStack itemStack, boolean drawBackground, boolean showToolTips) { @@ -37,6 +38,7 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget { this.x = x; this.y = y; this.clickToMoreRecipes = false; + this.drawHighlightedBackground = true; } public ItemSlotWidget(int x, int y, List<ItemStack> itemList, boolean drawBackground, boolean showToolTips, boolean clickToMoreRecipes) { @@ -44,6 +46,10 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget { this.clickToMoreRecipes = clickToMoreRecipes; } + public void setDrawHighlightedBackground(boolean drawHighlightedBackground) { + this.drawHighlightedBackground = drawHighlightedBackground; + } + public boolean isDrawBackground() { return drawBackground; } @@ -60,15 +66,24 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget { Minecraft.getInstance().getTextureManager().bindTexture(RECIPE_GUI); drawTexturedModalRect(this.x - 1, this.y - 1, 0, 222, 18, 18); } - if (itemStack.isEmpty()) - return; - RenderHelper.enableGUIStandardItemLighting(); - ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); - itemRenderer.zLevel = 200.0F; - itemRenderer.renderItemAndEffectIntoGUI(itemStack, x, y); - itemRenderer.renderItemOverlayIntoGUI(Minecraft.getInstance().fontRenderer, itemStack, x, y, getItemCountOverlay(itemStack)); - itemRenderer.zLevel = 0.0F; - if (isHighlighted(mouseX, mouseY) && showToolTips) + if (drawHighlightedBackground && isHighlighted(mouseX, mouseY)) { + GlStateManager.disableLighting(); + GlStateManager.disableDepthTest(); + GlStateManager.colorMask(true, true, true, false); + drawGradientRect(x, y, x + 16, y + 16, -2130706433, -2130706433); + GlStateManager.colorMask(true, true, true, true); + GlStateManager.enableLighting(); + GlStateManager.enableDepthTest(); + } + if (!itemStack.isEmpty()) { + RenderHelper.enableGUIStandardItemLighting(); + ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); + itemRenderer.zLevel = 200.0F; + itemRenderer.renderItemAndEffectIntoGUI(itemStack, x, y); + itemRenderer.renderItemOverlayIntoGUI(Minecraft.getInstance().fontRenderer, itemStack, x, y, getItemCountOverlay(itemStack)); + itemRenderer.zLevel = 0.0F; + } + if (!itemStack.isEmpty() && isHighlighted(mouseX, mouseY) && showToolTips) drawToolTip(itemStack); } @@ -82,7 +97,7 @@ public class ItemSlotWidget extends Gui implements HighlightableWidget { Minecraft mc = Minecraft.getInstance(); List<String> toolTip = Lists.newArrayList(); try { - toolTip = GuiHelper.getLastOverlay().getItemToolTip(itemStack).stream().filter(s -> !s.equals(modString)).collect(Collectors.toList()); + toolTip = Minecraft.getInstance().currentScreen.getItemToolTip(itemStack).stream().filter(s -> !s.equals(modString)).collect(Collectors.toList()); } catch (Exception e) { toolTip.add(itemStack.getDisplayName().getFormattedText()); } diff --git a/src/main/java/me/shedaniel/rei/gui/widget/RecipeViewingWidgetGui.java b/src/main/java/me/shedaniel/rei/gui/widget/RecipeViewingWidgetGui.java index 22bc5d03c..5ecd7fe8c 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/RecipeViewingWidgetGui.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/RecipeViewingWidgetGui.java @@ -19,6 +19,7 @@ import net.minecraft.client.renderer.RenderHelper; import net.minecraft.init.SoundEvents; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.MathHelper; +import net.minecraft.util.text.TextComponentTranslation; import java.awt.*; import java.util.ArrayList; @@ -70,6 +71,7 @@ public class RecipeViewingWidgetGui extends GuiScreen { public boolean keyPressed(int int_1, int int_2, int int_3) { if ((int_1 == 256 || mc.gameSettings.keyBindInventory.matchesKey(int_1, int_2)) && this.allowCloseWithEscape()) { Minecraft.getInstance().displayGuiScreen(GuiHelper.getLastGuiContainer()); + GuiHelper.getLastOverlay().onInitialized(); return true; } for(IGuiEventListener listener : children) @@ -90,7 +92,7 @@ public class RecipeViewingWidgetGui extends GuiScreen { this.widgets.clear(); this.bounds = new Rectangle(window.getScaledWidth() / 2 - guiWidth / 2, window.getScaledHeight() / 2 - guiHeight / 2, guiWidth, guiHeight); - widgets.add(categoryBack = new ButtonWidget((int) bounds.getX() + 5, (int) bounds.getY() + 5, 12, 12, "<") { + widgets.add(categoryBack = new ButtonWidget((int) bounds.getX() + 5, (int) bounds.getY() + 5, 12, 12, new TextComponentTranslation("text.rei.left_arrow")) { @Override public void onPressed(int button, double mouseX, double mouseY) { int currentCategoryIndex = categories.indexOf(selectedCategory); @@ -102,7 +104,7 @@ public class RecipeViewingWidgetGui extends GuiScreen { RecipeViewingWidgetGui.this.initGui(); } }); - widgets.add(categoryNext = new ButtonWidget((int) bounds.getX() + 159, (int) bounds.getY() + 5, 12, 12, ">") { + widgets.add(categoryNext = new ButtonWidget((int) bounds.getX() + 159, (int) bounds.getY() + 5, 12, 12, new TextComponentTranslation("text.rei.right_arrow")) { @Override public void onPressed(int button, double mouseX, double mouseY) { int currentCategoryIndex = categories.indexOf(selectedCategory); @@ -117,7 +119,7 @@ public class RecipeViewingWidgetGui extends GuiScreen { categoryBack.enabled = categories.size() > 1; categoryNext.enabled = categories.size() > 1; - widgets.add(recipeBack = new ButtonWidget((int) bounds.getX() + 5, (int) bounds.getY() + 21, 12, 12, "<") { + widgets.add(recipeBack = new ButtonWidget((int) bounds.getX() + 5, (int) bounds.getY() + 21, 12, 12, new TextComponentTranslation("text.rei.left_arrow")) { @Override public void onPressed(int button, double mouseX, double mouseY) { page--; @@ -126,7 +128,7 @@ public class RecipeViewingWidgetGui extends GuiScreen { RecipeViewingWidgetGui.this.initGui(); } }); - widgets.add(recipeNext = new ButtonWidget((int) bounds.getX() + 159, (int) bounds.getY() + 21, 12, 12, ">") { + widgets.add(recipeNext = new ButtonWidget((int) bounds.getX() + 159, (int) bounds.getY() + 21, 12, 12, new TextComponentTranslation("text.rei.right_arrow")) { @Override public void onPressed(int button, double mouseX, double mouseY) { page++; diff --git a/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java index aefca5018..de77b8592 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java @@ -25,6 +25,7 @@ public class SpeedCraftingButtonWidget extends ButtonWidget { @Override public void onPressed(int button, double mouseX, double mouseY) { Minecraft.getInstance().displayGuiScreen(GuiHelper.getLastGuiContainer()); + GuiHelper.getLastOverlay().onInitialized(); functional.performAutoCraft(GuiHelper.getLastGuiContainer(), displaySupplier.get()); } |
