diff --git a/src/main/java/refinedstorage/gui/GuiCraftingSettings.java b/src/main/java/refinedstorage/gui/GuiCraftingSettings.java index 3fb9dd258..f63a4052b 100755 --- a/src/main/java/refinedstorage/gui/GuiCraftingSettings.java +++ b/src/main/java/refinedstorage/gui/GuiCraftingSettings.java @@ -6,6 +6,7 @@ import net.minecraft.client.gui.GuiTextField; import net.minecraftforge.fml.client.FMLClientHandler; import org.lwjgl.input.Keyboard; import refinedstorage.container.ContainerDummy; +import refinedstorage.tile.TileController; import java.io.IOException; @@ -14,7 +15,6 @@ public class GuiCraftingSettings extends GuiBase { private GuiGrid gridGui; private int id; private GuiButton startButton; - private boolean isClosed; public GuiCraftingSettings(GuiGrid gridGui, int id) { super(new ContainerDummy(), 143, 61); @@ -81,7 +81,7 @@ public class GuiCraftingSettings extends GuiBase { private void startRequest() { Integer quantity = Ints.tryParse(amountField.getText()); - if (quantity != null && quantity > 0) { + if (quantity != null && quantity > 0 && quantity <= TileController.MAX_CRAFTING_QUANTITY_PER_REQUEST) { gridGui.getGrid().onCraftingRequested(id, quantity); FMLClientHandler.instance().showGuiScreen(gridGui); diff --git a/src/main/java/refinedstorage/tile/TileController.java b/src/main/java/refinedstorage/tile/TileController.java index 1ae872e24..8120e638d 100755 --- a/src/main/java/refinedstorage/tile/TileController.java +++ b/src/main/java/refinedstorage/tile/TileController.java @@ -66,6 +66,8 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr public static final String NBT_CRAFTING_TASKS = "CraftingTasks"; + public static final int MAX_CRAFTING_QUANTITY_PER_REQUEST = 100; + private List itemGroups = new ArrayList(); private List storages = new ArrayList(); private List wirelessGridConsumers = new ArrayList(); @@ -755,7 +757,7 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr } public void onCraftingRequested(int id, int quantity) { - if (id >= 0 && id < itemGroups.size() && quantity > 0) { + if (id >= 0 && id < itemGroups.size() && quantity > 0 && quantity <= MAX_CRAFTING_QUANTITY_PER_REQUEST) { ItemStack requested = itemGroups.get(id).toItemStack(); int quantityPerRequest = 0; CraftingPattern pattern = getPattern(requested);