Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.components.Tooltip;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;
Expand Down Expand Up @@ -86,7 +87,7 @@ public void init() {
numberField.setVisible(true);
numberField.setTextColor(16777215);
numberField.setCanLoseFocus(true);
numberField.setValue("1");
numberField.setValue(Integer.toString(numberField.validateNumber(getMenu().getCraftingOptionGuiData().getAmount())));
addRenderableWidget(numberField);

scrollBar = new WidgetScrollBar(leftPos + 153, topPos + 15, 54,
Expand All @@ -108,6 +109,14 @@ public void init() {
Component.translatable("gui.integratedterminals.terminal_storage.step.next").withStyle(ChatFormatting.YELLOW),
(bb) -> calculateCraftingJob(),
true));

ButtonText backButton = new ButtonText(leftPos + 5, topPos + 33, 15, 20,
Component.translatable("gui.integratedterminals.terminal_storage.step.back"),
Component.literal("<"),
(bb) -> returnToTerminalStorage(),
true);
backButton.setTooltip(Tooltip.create(Component.translatable("gui.integratedterminals.terminal_storage.step.back")));
addRenderableWidget(backButton);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.cyclops.cyclopscore.client.gui.component.button.ButtonText;
import org.cyclops.cyclopscore.client.gui.container.ContainerScreenExtended;
import org.cyclops.cyclopscore.helper.L10NHelpers;
import org.cyclops.integratedterminals.IntegratedTerminals;
import org.cyclops.integratedterminals.Reference;
import org.cyclops.integratedterminals.api.terminalstorage.crafting.ITerminalCraftingPlan;
import org.cyclops.integratedterminals.api.terminalstorage.crafting.ITerminalCraftingPlanFlat;
Expand All @@ -17,6 +18,7 @@
import org.cyclops.integratedterminals.client.gui.container.component.GuiCraftingPlanToggler;
import org.cyclops.integratedterminals.core.client.gui.CraftingOptionGuiData;
import org.cyclops.integratedterminals.inventory.container.ContainerTerminalStorageCraftingPlanBase;
import org.cyclops.integratedterminals.network.packet.TerminalStorageIngredientOpenCraftingJobAmountGuiPacket;
import org.lwjgl.glfw.GLFW;

import javax.annotation.Nullable;
Expand Down Expand Up @@ -113,6 +115,12 @@ public void init() {

this.guiCraftingPlanToggler.init();

addRenderableWidget(new ButtonText(leftPos + 221 + 10 - 50 - 55, topPos + 198, 50, 20,
Component.translatable("gui.integratedterminals.terminal_storage.step.back"),
Component.translatable("gui.integratedterminals.terminal_storage.step.back"),
(b) -> returnToCraftingOptionAmount(),
true));

addRenderableWidget(buttonConfirm = new ButtonText(leftPos + 221 + 10 - 50, topPos + 198, 50, 20,
Component.translatable("gui.integratedterminals.terminal_storage.step.craft"),
Component.translatable("gui.integratedterminals.terminal_storage.step.craft").withStyle(ChatFormatting.YELLOW),
Expand All @@ -123,6 +131,10 @@ public void init() {

@Override
public boolean keyPressed(int typedChar, int keyCode, int modifiers) {
if (typedChar == GLFW.GLFW_KEY_ESCAPE) {
returnToCraftingOptionAmount();
return true;
}
if (this.guiCraftingPlan != null && this.guiCraftingPlan.isValid()
&& (typedChar == GLFW.GLFW_KEY_ENTER || typedChar == GLFW.GLFW_KEY_KP_ENTER)) {
buttonConfirm.onPress();
Expand All @@ -131,6 +143,20 @@ public boolean keyPressed(int typedChar, int keyCode, int modifiers) {
return super.keyPressed(typedChar, keyCode, modifiers);
}

/**
* Go back to the gui in which the crafting amount can be set.
* If no crafting option is known, the terminal itself is opened again.
*/
private void returnToCraftingOptionAmount() {
CraftingOptionGuiData data = getMenu().getCraftingOptionGuiData();
if (data.getCraftingOption() == null) {
returnToTerminalStorage();
} else {
IntegratedTerminals._instance.getPacketHandler().sendToServer(
new TerminalStorageIngredientOpenCraftingJobAmountGuiPacket(data));
}
}

private void returnToTerminalStorage() {
CraftingOptionGuiData data = getMenu().getCraftingOptionGuiData();
data.getLocation().openContainerFromClient(data);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"gui.integratedterminals.terminal_storage.craftingplan.label.failed.insufficient_crafting_interfaces": "Crafting plan - Insufficient Crafting Interfaces",
"gui.integratedterminals.terminal_storage.craftingplan.label.running": "Crafting plan - Running",
"gui.integratedterminals.terminal_storage.step.next": "Next",
"gui.integratedterminals.terminal_storage.step.back": "Back",
"gui.integratedterminals.terminal_storage.step.craft": "Craft",
"gui.integratedterminals.terminal_storage.step.crafting_plan_calculating": "Calculating crafting plan...",
"gui.integratedterminals.terminal_storage.stored": "Stored: %s",
Expand Down
Loading