Add a max crafting quantity per request cap (100)

This commit is contained in:
Raoul Van den Berge
2016-05-17 13:04:57 +02:00
parent cd5a1af0b9
commit 9de1b88274
2 changed files with 5 additions and 3 deletions

View File

@@ -6,6 +6,7 @@ import net.minecraft.client.gui.GuiTextField;
import net.minecraftforge.fml.client.FMLClientHandler; import net.minecraftforge.fml.client.FMLClientHandler;
import org.lwjgl.input.Keyboard; import org.lwjgl.input.Keyboard;
import refinedstorage.container.ContainerDummy; import refinedstorage.container.ContainerDummy;
import refinedstorage.tile.TileController;
import java.io.IOException; import java.io.IOException;
@@ -14,7 +15,6 @@ public class GuiCraftingSettings extends GuiBase {
private GuiGrid gridGui; private GuiGrid gridGui;
private int id; private int id;
private GuiButton startButton; private GuiButton startButton;
private boolean isClosed;
public GuiCraftingSettings(GuiGrid gridGui, int id) { public GuiCraftingSettings(GuiGrid gridGui, int id) {
super(new ContainerDummy(), 143, 61); super(new ContainerDummy(), 143, 61);
@@ -81,7 +81,7 @@ public class GuiCraftingSettings extends GuiBase {
private void startRequest() { private void startRequest() {
Integer quantity = Ints.tryParse(amountField.getText()); 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); gridGui.getGrid().onCraftingRequested(id, quantity);
FMLClientHandler.instance().showGuiScreen(gridGui); FMLClientHandler.instance().showGuiScreen(gridGui);

View File

@@ -66,6 +66,8 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
public static final String NBT_CRAFTING_TASKS = "CraftingTasks"; public static final String NBT_CRAFTING_TASKS = "CraftingTasks";
public static final int MAX_CRAFTING_QUANTITY_PER_REQUEST = 100;
private List<ItemGroup> itemGroups = new ArrayList<ItemGroup>(); private List<ItemGroup> itemGroups = new ArrayList<ItemGroup>();
private List<IStorage> storages = new ArrayList<IStorage>(); private List<IStorage> storages = new ArrayList<IStorage>();
private List<WirelessGridConsumer> wirelessGridConsumers = new ArrayList<WirelessGridConsumer>(); private List<WirelessGridConsumer> wirelessGridConsumers = new ArrayList<WirelessGridConsumer>();
@@ -755,7 +757,7 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
} }
public void onCraftingRequested(int id, int quantity) { 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(); ItemStack requested = itemGroups.get(id).toItemStack();
int quantityPerRequest = 0; int quantityPerRequest = 0;
CraftingPattern pattern = getPattern(requested); CraftingPattern pattern = getPattern(requested);