From dcefbf0a0a29787cfc6d252212654402325a4f5b Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Mon, 11 Nov 2019 16:43:41 +0100 Subject: [PATCH] Add "alternatives" button to item/fluid amount --- CHANGELOG.md | 1 + ...tainer.java => AlternativesContainer.java} | 4 +- .../container/GridContainer.java | 4 +- .../container/slot/filter/FilterSlot.java | 6 +- .../slot/filter/FluidFilterSlot.java | 6 +- .../refinedstorage/screen/AmountScreen.java | 70 ------------ .../screen/AmountSpecifyingScreen.java | 9 +- .../refinedstorage/screen/BaseScreen.java | 34 ++++-- .../screen/FluidAmountScreen.java | 40 ++++++- .../screen/ItemAmountScreen.java | 103 ++++++++++++++++++ ...ionScreen.java => AlternativesScreen.java} | 24 ++-- .../screen/grid/CraftingSettingsScreen.java | 2 +- .../assets/refinedstorage/lang/en_us.json | 4 +- ...put_configuration.png => alternatives.png} | Bin ...ing_settings.png => amount_specifying.png} | Bin .../textures/gui/amount_specifying_wide.png | Bin 0 -> 1724 bytes 16 files changed, 197 insertions(+), 110 deletions(-) rename src/main/java/com/raoulvdberge/refinedstorage/container/{InputConfigurationContainer.java => AlternativesContainer.java} (53%) delete mode 100644 src/main/java/com/raoulvdberge/refinedstorage/screen/AmountScreen.java create mode 100644 src/main/java/com/raoulvdberge/refinedstorage/screen/ItemAmountScreen.java rename src/main/java/com/raoulvdberge/refinedstorage/screen/grid/{InputConfigurationScreen.java => AlternativesScreen.java} (92%) rename src/main/resources/assets/refinedstorage/textures/gui/{input_configuration.png => alternatives.png} (100%) rename src/main/resources/assets/refinedstorage/textures/gui/{crafting_settings.png => amount_specifying.png} (100%) mode change 100755 => 100644 create mode 100644 src/main/resources/assets/refinedstorage/textures/gui/amount_specifying_wide.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 89af1b562..0c6135a4c 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - The Pattern Grid now switches automatically between crafting pattern and processing pattern mode when re-inserting an existing Pattern (raoulvdberge) - Removed migration code for the development builds that were released on Discord (not on CurseForge). If you used the development builds and never used version 1.7 before, first switch to 1.7, open your world, modify a storage disk, and then upgrade to 1.7.1 (raoulvdberge) - Grids now do not sort if you interact with it while holding shift (Darkere) +- Fixed Pattern Grid causing world hanging on load (raoulvdberge) ### 1.7 NOTE: This is an alpha release. Bugs may happen. Remember to take backups. diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/InputConfigurationContainer.java b/src/main/java/com/raoulvdberge/refinedstorage/container/AlternativesContainer.java similarity index 53% rename from src/main/java/com/raoulvdberge/refinedstorage/container/InputConfigurationContainer.java rename to src/main/java/com/raoulvdberge/refinedstorage/container/AlternativesContainer.java index a392089aa..6f8963cb1 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/InputConfigurationContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/AlternativesContainer.java @@ -2,8 +2,8 @@ package com.raoulvdberge.refinedstorage.container; import net.minecraft.entity.player.PlayerEntity; -public class InputConfigurationContainer extends BaseContainer { - public InputConfigurationContainer(PlayerEntity player) { +public class AlternativesContainer extends BaseContainer { + public AlternativesContainer(PlayerEntity player) { super(null, null, player, 0); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/GridContainer.java b/src/main/java/com/raoulvdberge/refinedstorage/container/GridContainer.java index c4ce21e94..8ce3e35cc 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/GridContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/GridContainer.java @@ -171,12 +171,12 @@ public class GridContainer extends BaseContainer implements ICraftingGridListene for (int i = 0; i < 9 * 2; ++i) { int itemFilterSlotConfig = FilterSlot.FILTER_ALLOW_SIZE; if (i < 9) { - itemFilterSlotConfig |= FilterSlot.FILTER_ALLOW_INPUT_CONFIGURATION; + itemFilterSlotConfig |= FilterSlot.FILTER_ALLOW_ALTERNATIVES; } int fluidFilterSlotConfig = FluidFilterSlot.FILTER_ALLOW_SIZE; if (i < 9) { - fluidFilterSlotConfig |= FluidFilterSlot.FILTER_ALLOW_INPUT_CONFIGURATION; + fluidFilterSlotConfig |= FluidFilterSlot.FILTER_ALLOW_ALTERNATIVES; } addSlot(new FilterSlot(((GridNetworkNode) grid).getProcessingMatrix(), i, x, y, itemFilterSlotConfig).setEnableHandler(() -> ((GridNetworkNode) grid).isProcessingPattern() && ((GridNetworkNode) grid).getType() == IType.ITEMS)); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/slot/filter/FilterSlot.java b/src/main/java/com/raoulvdberge/refinedstorage/container/slot/filter/FilterSlot.java index 4b738791e..3db3843c1 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/slot/filter/FilterSlot.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/slot/filter/FilterSlot.java @@ -10,7 +10,7 @@ import javax.annotation.Nonnull; public class FilterSlot extends BaseSlot { public static final int FILTER_ALLOW_SIZE = 1; public static final int FILTER_ALLOW_BLOCKS = 2; - public static final int FILTER_ALLOW_INPUT_CONFIGURATION = 4; + public static final int FILTER_ALLOW_ALTERNATIVES = 4; private int flags; @@ -54,7 +54,7 @@ public class FilterSlot extends BaseSlot { return (flags & FILTER_ALLOW_BLOCKS) == FILTER_ALLOW_BLOCKS; } - public boolean isInputConfigurationAllowed() { - return (flags & FILTER_ALLOW_INPUT_CONFIGURATION) == FILTER_ALLOW_INPUT_CONFIGURATION; + public boolean isAlternativesAllowed() { + return (flags & FILTER_ALLOW_ALTERNATIVES) == FILTER_ALLOW_ALTERNATIVES; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/slot/filter/FluidFilterSlot.java b/src/main/java/com/raoulvdberge/refinedstorage/container/slot/filter/FluidFilterSlot.java index 6caa4e5a8..3694e3f5f 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/slot/filter/FluidFilterSlot.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/slot/filter/FluidFilterSlot.java @@ -10,7 +10,7 @@ import javax.annotation.Nonnull; public class FluidFilterSlot extends BaseSlot { public static final int FILTER_ALLOW_SIZE = 1; - public static final int FILTER_ALLOW_INPUT_CONFIGURATION = 2; + public static final int FILTER_ALLOW_ALTERNATIVES = 2; private int flags; private FluidInventory fluidInventory; @@ -39,8 +39,8 @@ public class FluidFilterSlot extends BaseSlot { return (flags & FILTER_ALLOW_SIZE) == FILTER_ALLOW_SIZE; } - public boolean isInputConfigurationAllowed() { - return (flags & FILTER_ALLOW_INPUT_CONFIGURATION) == FILTER_ALLOW_INPUT_CONFIGURATION; + public boolean isAlternativesAllowed() { + return (flags & FILTER_ALLOW_ALTERNATIVES) == FILTER_ALLOW_ALTERNATIVES; } public FluidInventory getFluidInventory() { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/AmountScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/AmountScreen.java deleted file mode 100644 index 0f6823dfd..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/AmountScreen.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.raoulvdberge.refinedstorage.screen; - -import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.container.AmountContainer; -import com.raoulvdberge.refinedstorage.network.SetFilterSlotMessage; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.text.TranslationTextComponent; -import net.minecraftforge.items.ItemHandlerHelper; - -public class AmountScreen extends AmountSpecifyingScreen { - private int containerSlot; - private ItemStack stack; - private int maxAmount; - - public AmountScreen(BaseScreen parent, PlayerEntity player, int containerSlot, ItemStack stack, int maxAmount) { - super(parent, new AmountContainer(player, stack), 172, 99, player.inventory, new TranslationTextComponent("gui.refinedstorage.item_amount")); - - this.containerSlot = containerSlot; - this.stack = stack; - this.maxAmount = maxAmount; - } - - @Override - protected int getDefaultAmount() { - return stack.getCount(); - } - - @Override - protected boolean canAmountGoNegative() { - return false; - } - - @Override - protected int getMaxAmount() { - return maxAmount; - } - - @Override - protected String getOkButtonText() { - return I18n.format("misc.refinedstorage.set"); - } - - @Override - protected String getTexture() { - return "gui/crafting_settings.png"; - } - - @Override - protected int[] getIncrements() { - return new int[]{ - 1, 10, 64, - -1, -10, -64 - }; - } - - @Override - protected void onOkButtonPressed(boolean shiftDown) { - try { - int amount = Integer.parseInt(amountField.getText()); - - RS.NETWORK_HANDLER.sendToServer(new SetFilterSlotMessage(containerSlot, ItemHandlerHelper.copyStackWithSize(stack, amount))); - - close(); - } catch (NumberFormatException e) { - // NO OP - } - } -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/AmountSpecifyingScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/AmountSpecifyingScreen.java index 9750e2f04..c0256f2db 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/AmountSpecifyingScreen.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/AmountSpecifyingScreen.java @@ -15,6 +15,7 @@ public abstract class AmountSpecifyingScreen extends BaseSc protected TextFieldWidget amountField; protected Button okButton; + protected Button cancelButton; public AmountSpecifyingScreen(BaseScreen parent, T container, int width, int height, PlayerInventory playerInventory, ITextComponent title) { super(container, width, height, playerInventory, title); @@ -42,12 +43,16 @@ public abstract class AmountSpecifyingScreen extends BaseSc return Pair.of(114, 33); } + protected int getOkCancelButtonWidth() { + return 50; + } + @Override public void onPostInit(int x, int y) { Pair pos = getOkCancelPos(); - okButton = addButton(x + pos.getLeft(), y + pos.getRight(), 50, 20, getOkButtonText(), true, true, btn -> onOkButtonPressed(hasShiftDown())); - addButton(x + pos.getLeft(), y + pos.getRight() + 24, 50, 20, I18n.format("gui.cancel"), true, true, btn -> close()); + okButton = addButton(x + pos.getLeft(), y + pos.getRight(), getOkCancelButtonWidth(), 20, getOkButtonText(), true, true, btn -> onOkButtonPressed(hasShiftDown())); + cancelButton = addButton(x + pos.getLeft(), y + pos.getRight() + 24, getOkCancelButtonWidth(), 20, I18n.format("gui.cancel"), true, true, btn -> close()); amountField = new TextFieldWidget(font, x + getAmountPos().getLeft(), y + getAmountPos().getRight(), 69 - 6, font.FONT_HEIGHT, ""); amountField.setEnableBackgroundDrawing(false); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/BaseScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/BaseScreen.java index b90f3996e..d72d3d0bf 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/BaseScreen.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/BaseScreen.java @@ -7,7 +7,7 @@ import com.raoulvdberge.refinedstorage.container.slot.filter.FilterSlot; import com.raoulvdberge.refinedstorage.container.slot.filter.FluidFilterSlot; import com.raoulvdberge.refinedstorage.integration.craftingtweaks.CraftingTweaksIntegration; import com.raoulvdberge.refinedstorage.render.FluidRenderer; -import com.raoulvdberge.refinedstorage.screen.grid.InputConfigurationScreen; +import com.raoulvdberge.refinedstorage.screen.grid.AlternativesScreen; import com.raoulvdberge.refinedstorage.screen.widget.CheckBoxWidget; import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.SideButton; import com.raoulvdberge.refinedstorage.util.RenderUtils; @@ -176,21 +176,28 @@ public abstract class BaseScreen extends ContainerScreen if (valid && slot instanceof FilterSlot && slot.isEnabled() && ((FilterSlot) slot).isSizeAllowed()) { if (!slot.getStack().isEmpty()) { - if (((FilterSlot) slot).isInputConfigurationAllowed() && hasControlDown()) { - minecraft.displayGuiScreen(new InputConfigurationScreen( + if (((FilterSlot) slot).isAlternativesAllowed() && hasControlDown()) { + minecraft.displayGuiScreen(new AlternativesScreen( this, minecraft.player, - new TranslationTextComponent("gui.refinedstorage.input_configuration"), + new TranslationTextComponent("gui.refinedstorage.alternatives"), slot.getStack(), slot.getSlotIndex() )); } else { - minecraft.displayGuiScreen(new AmountScreen( + minecraft.displayGuiScreen(new ItemAmountScreen( this, minecraft.player, slot.slotNumber, slot.getStack(), - slot.getSlotStackLimit() + slot.getSlotStackLimit(), + parent -> new AlternativesScreen( + parent, + minecraft.player, + new TranslationTextComponent("gui.refinedstorage.alternatives"), + slot.getStack(), + slot.getSlotIndex() + ) )); } } @@ -198,11 +205,11 @@ public abstract class BaseScreen extends ContainerScreen FluidStack stack = ((FluidFilterSlot) slot).getFluidInventory().getFluid(slot.getSlotIndex()); if (!stack.isEmpty()) { - if (((FluidFilterSlot) slot).isInputConfigurationAllowed() && hasControlDown()) { - minecraft.displayGuiScreen(new InputConfigurationScreen( + if (((FluidFilterSlot) slot).isAlternativesAllowed() && hasControlDown()) { + minecraft.displayGuiScreen(new AlternativesScreen( this, minecraft.player, - new TranslationTextComponent("gui.refinedstorage.input_configuration"), + new TranslationTextComponent("gui.refinedstorage.alternatives"), stack, slot.getSlotIndex() )); @@ -212,7 +219,14 @@ public abstract class BaseScreen extends ContainerScreen minecraft.player, slot.slotNumber, stack, - ((FluidFilterSlot) slot).getFluidInventory().getMaxAmount() + ((FluidFilterSlot) slot).getFluidInventory().getMaxAmount(), + parent -> new AlternativesScreen( + this, + minecraft.player, + new TranslationTextComponent("gui.refinedstorage.alternatives"), + stack, + slot.getSlotIndex() + ) )); } } else { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/FluidAmountScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/FluidAmountScreen.java index 1e6ac6b10..f3b11d8a3 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/FluidAmountScreen.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/FluidAmountScreen.java @@ -4,22 +4,56 @@ import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.container.FluidAmountContainer; import com.raoulvdberge.refinedstorage.network.SetFluidFilterSlotMessage; import com.raoulvdberge.refinedstorage.util.StackUtils; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.text.TranslationTextComponent; import net.minecraftforge.fluids.FluidStack; +import org.apache.commons.lang3.tuple.Pair; +import javax.annotation.Nullable; +import java.util.function.Function; + +// TODO here too public class FluidAmountScreen extends AmountSpecifyingScreen { private int containerSlot; private FluidStack stack; private int maxAmount; + @Nullable + private Function alternativesScreenFactory; - public FluidAmountScreen(BaseScreen parent, PlayerEntity player, int containerSlot, FluidStack stack, int maxAmount) { - super(parent, new FluidAmountContainer(player, stack), 172, 99, player.inventory, new TranslationTextComponent("gui.refinedstorage.fluid_amount")); + public FluidAmountScreen(BaseScreen parent, PlayerEntity player, int containerSlot, FluidStack stack, int maxAmount, @Nullable Function alternativesScreenFactory) { + super(parent, new FluidAmountContainer(player, stack), alternativesScreenFactory != null ? 194 : 172, 99, player.inventory, new TranslationTextComponent("gui.refinedstorage.fluid_amount")); this.containerSlot = containerSlot; this.stack = stack; this.maxAmount = maxAmount; + this.alternativesScreenFactory = alternativesScreenFactory; + } + + @Override + protected int getOkCancelButtonWidth() { + return alternativesScreenFactory != null ? 75 : super.getOkCancelButtonWidth(); + } + + @Override + public void onPostInit(int x, int y) { + super.onPostInit(x, y); + + if (alternativesScreenFactory != null) { + addButton(x + 114, cancelButton.y + 24, getOkCancelButtonWidth(), 20, I18n.format("gui.refinedstorage.alternatives"), true, true, btn -> { + minecraft.displayGuiScreen(alternativesScreenFactory.apply(this)); + }); + } + } + + @Override + protected Pair getOkCancelPos() { + if (alternativesScreenFactory == null) { + return super.getOkCancelPos(); + } + + return Pair.of(114, 22); } @Override @@ -44,7 +78,7 @@ public class FluidAmountScreen extends AmountSpecifyingScreen { + private int containerSlot; + private ItemStack stack; + private int maxAmount; + @Nullable + private Function alternativesScreenFactory; + + public ItemAmountScreen(BaseScreen parent, PlayerEntity player, int containerSlot, ItemStack stack, int maxAmount, @Nullable Function alternativesScreenFactory) { + super(parent, new AmountContainer(player, stack), alternativesScreenFactory != null ? 194 : 172, 99, player.inventory, new TranslationTextComponent("gui.refinedstorage.item_amount")); + + this.containerSlot = containerSlot; + this.stack = stack; + this.maxAmount = maxAmount; + this.alternativesScreenFactory = alternativesScreenFactory; + } + + @Override + protected int getOkCancelButtonWidth() { + return alternativesScreenFactory != null ? 75 : super.getOkCancelButtonWidth(); + } + + @Override + public void onPostInit(int x, int y) { + super.onPostInit(x, y); + + if (alternativesScreenFactory != null) { + addButton(x + 114, cancelButton.y + 24, getOkCancelButtonWidth(), 20, I18n.format("gui.refinedstorage.alternatives"), true, true, btn -> { + minecraft.displayGuiScreen(alternativesScreenFactory.apply(this)); + }); + } + } + + @Override + protected Pair getOkCancelPos() { + if (alternativesScreenFactory == null) { + return super.getOkCancelPos(); + } + + return Pair.of(114, 22); + } + + @Override + protected int getDefaultAmount() { + return stack.getCount(); + } + + @Override + protected boolean canAmountGoNegative() { + return false; + } + + @Override + protected int getMaxAmount() { + return maxAmount; + } + + @Override + protected String getOkButtonText() { + return I18n.format("misc.refinedstorage.set"); + } + + @Override + protected String getTexture() { + return alternativesScreenFactory != null ? "gui/amount_specifying_wide.png" : "gui/amount_specifying.png"; + } + + @Override + protected int[] getIncrements() { + return new int[]{ + 1, 10, 64, + -1, -10, -64 + }; + } + + @Override + protected void onOkButtonPressed(boolean shiftDown) { + try { + int amount = Integer.parseInt(amountField.getText()); + + RS.NETWORK_HANDLER.sendToServer(new SetFilterSlotMessage(containerSlot, ItemHandlerHelper.copyStackWithSize(stack, amount))); + + close(); + } catch (NumberFormatException e) { + // NO OP + } + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/InputConfigurationScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/AlternativesScreen.java similarity index 92% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/InputConfigurationScreen.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/AlternativesScreen.java index 739dc35a2..d0e24c214 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/InputConfigurationScreen.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/AlternativesScreen.java @@ -1,7 +1,7 @@ package com.raoulvdberge.refinedstorage.screen.grid; import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.container.InputConfigurationContainer; +import com.raoulvdberge.refinedstorage.container.AlternativesContainer; import com.raoulvdberge.refinedstorage.render.FluidRenderer; import com.raoulvdberge.refinedstorage.screen.BaseScreen; import com.raoulvdberge.refinedstorage.screen.widget.CheckBoxWidget; @@ -31,7 +31,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -public class InputConfigurationScreen extends BaseScreen { +public class AlternativesScreen extends BaseScreen { private final Screen parent; private final ScrollbarWidget scrollbar; @@ -42,14 +42,14 @@ public class InputConfigurationScreen extends BaseScreen { private ItemStack item; private FluidStack fluid; - private InputConfigurationScreen(Screen parent, PlayerEntity player, ITextComponent title) { - super(new InputConfigurationContainer(player), 175, 143, null, title); + private AlternativesScreen(Screen parent, PlayerEntity player, ITextComponent title) { + super(new AlternativesContainer(player), 175, 143, null, title); this.parent = parent; this.scrollbar = new ScrollbarWidget(this, 155, 20, 12, 89); } - public InputConfigurationScreen(Screen parent, PlayerEntity player, ITextComponent title, ItemStack item, int slot) { + public AlternativesScreen(Screen parent, PlayerEntity player, ITextComponent title, ItemStack item, int slot) { this(parent, player, title); this.type = IType.ITEMS; @@ -58,7 +58,7 @@ public class InputConfigurationScreen extends BaseScreen { this.fluid = null; } - public InputConfigurationScreen(Screen parent, PlayerEntity player, ITextComponent title, FluidStack fluid, int slot) { + public AlternativesScreen(Screen parent, PlayerEntity player, ITextComponent title, FluidStack fluid, int slot) { this(parent, player, title); this.type = IType.FLUIDS; @@ -69,9 +69,6 @@ public class InputConfigurationScreen extends BaseScreen { @Override public void onPostInit(int x, int y) { - Button apply = addButton(x + 7, y + 114, 50, 20, I18n.format("gui.refinedstorage.input_configuration.apply"), true, true, btn -> apply()); - addButton(x + apply.getWidth() + 7 + 4, y + 114, 50, 20, I18n.format("gui.cancel"), true, true, btn -> close()); - lines.clear(); if (item != null) { @@ -135,6 +132,9 @@ public class InputConfigurationScreen extends BaseScreen { yy += 18; } } + + Button apply = addButton(x + 7, y + 114, 50, 20, I18n.format("gui.refinedstorage.alternatives.apply"), lines.size() > 1, true, btn -> apply()); + addButton(x + apply.getWidth() + 7 + 4, y + 114, 50, 20, I18n.format("gui.cancel"), true, true, btn -> close()); } @Override @@ -153,7 +153,7 @@ public class InputConfigurationScreen extends BaseScreen { @Override public void renderBackground(int x, int y, int mouseX, int mouseY) { - bindTexture(RS.ID, "gui/input_configuration.png"); + bindTexture(RS.ID, "gui/alternatives.png"); blit(x, y, 0, 0, xSize, ySize); @@ -345,7 +345,7 @@ public class InputConfigurationScreen extends BaseScreen { public void renderTooltip(int x, int y, int mx, int my) { for (ItemStack item : items) { if (RenderUtils.inBounds(x + 3, y, 16, 16, mx, my)) { - InputConfigurationScreen.this.renderTooltip(item, mx, my, RenderUtils.getTooltipFromItem(item)); + AlternativesScreen.this.renderTooltip(item, mx, my, RenderUtils.getTooltipFromItem(item)); } x += 17; @@ -375,7 +375,7 @@ public class InputConfigurationScreen extends BaseScreen { public void renderTooltip(int x, int y, int mx, int my) { for (FluidStack fluid : fluids) { if (RenderUtils.inBounds(x + 3, y, 16, 16, mx, my)) { - InputConfigurationScreen.this.renderTooltip(mx, my, fluid.getDisplayName().getFormattedText()); + AlternativesScreen.this.renderTooltip(mx, my, fluid.getDisplayName().getFormattedText()); } x += 17; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/CraftingSettingsScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/CraftingSettingsScreen.java index 3e479446f..333e502e7 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/CraftingSettingsScreen.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/CraftingSettingsScreen.java @@ -28,7 +28,7 @@ public class CraftingSettingsScreen extends AmountSpecifyingScreen38$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&di49pAxJ|V6^adUI?(9qEC?(Sp9j{X1tA1E>kMnhnPgh10{aTQRmDGBlm z1}6TI3>bpHv#SE5owL9rvY3H^?=T269?xHq!oa{}>FMGaQW5v|?m;hYM+w%4h8Mrr zKlylUiuTE6)$4u)hjOqdzFD%rb;m@R=aoM1?!2|=??0K#EwlOk|Bw5$Kd^qV+kQJY z_yOaANM&w?28JCclNeb992n-9Zen2KXqc@d=D@(nLcHXGuMGL?cYQuk`ZuuQclWyb zl~7X{7`AKw`lo6y)UbWW)$f0q9{iSPJ-~cj6li+ERFrx znT!SZQB?epXITG##e>Gzzh*P+j{v#JR}AD}rUz>#vH~4^CuJkhDg}mfQjutq3hX;# z847ItB=6`Q*st$5>*l+39h;8uI}@@YChwYJF%bw#naW#Wt~$(697!E0dN2S literal 0 HcmV?d00001