diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7f503ce..832e0c6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
## Unreleased
-- /
+- allowed changing Requester amounts and batch sizes while jobs are processing ([#37](https://github.com/AlmostReliable/merequester/issues/37))
## [1.4.3] - 2026-06-20
diff --git a/guidebook/merequester.md b/guidebook/merequester.md
index 8d990e4..6b47eca 100644
--- a/guidebook/merequester.md
+++ b/guidebook/merequester.md
@@ -61,6 +61,7 @@ drop it from recipe viewers that are supported by Applied Energistics.
The Amount to Stock field indicates how much to stock. Specify what to stock first and then enter your desired value. For non-item requests,
the field will adapt to the type. For example, showing a `B` to indicate buckets for fluid.
When the current stock falls below the specified amount, the will request more.
+Changes made while a batch is active do not affect the current job and are used when determining whether to request the next batch.
### Batch Size
@@ -69,6 +70,7 @@ The next input field specifies the batch size that will be requested once the cu
Amount to Stock field.
This can be used to put less stress on [Crafting CPU](ae2:ae2-mechanics/autocrafting.md#the-crafting-cpu)s and machines used in the craft
since the full amount will be requested at once, rather than as many individual jobs.
+Changing the batch size while a job is active does not resize that job. The new size is used for subsequent batches.
### Submit Button
@@ -107,13 +109,15 @@ system.
### Yellow - Crafting
The desired request is currently being crafted. The requester is waiting for the job to finish.
-While this status is active, the settings for the respective request inside the are locked and can't be changed.
+While this status is active, the resource slot is locked to preserve the active job. The Amount to Stock and Batch Size fields remain
+editable, and their updated values are used for subsequent batches.
### Purple - Exporting
The received all results from the current job and is trying to export them into the storage system.
This status is usually not visible. If it's active for too long, it means there is not enough space in your storage system.
+The resource slot remains locked until exporting finishes, while the Amount to Stock and Batch Size fields remain editable.
### Block Appearance
diff --git a/src/main/java/com/almostreliable/merequester/client/abstraction/AbstractRequesterScreen.java b/src/main/java/com/almostreliable/merequester/client/abstraction/AbstractRequesterScreen.java
index 2c15f4d..9e131a1 100644
--- a/src/main/java/com/almostreliable/merequester/client/abstraction/AbstractRequesterScreen.java
+++ b/src/main/java/com/almostreliable/merequester/client/abstraction/AbstractRequesterScreen.java
@@ -309,7 +309,7 @@ private RequestSlot createSlot(int index, Request request) {
(index + 1) * ROW_HEIGHT + 2
);
slot.setHideAmount(true);
- slot.setLocked(request.getClientStatus().locksRequest());
+ slot.setLocked(request.getClientStatus().locksResourceSlot());
return slot;
}
diff --git a/src/main/java/com/almostreliable/merequester/client/widgets/RequestWidget.java b/src/main/java/com/almostreliable/merequester/client/widgets/RequestWidget.java
index bfb8e71..11ac39c 100644
--- a/src/main/java/com/almostreliable/merequester/client/widgets/RequestWidget.java
+++ b/src/main/java/com/almostreliable/merequester/client/widgets/RequestWidget.java
@@ -90,13 +90,6 @@ public void applyRequest(Request request) {
statusDisplay.setStatus(status);
amountField.adjustToType(request.getKey());
batchField.adjustToType(request.getKey());
- if (status.locksRequest()) {
- amountField.setEditable(false);
- batchField.setEditable(false);
- } else {
- amountField.setEditable(true);
- batchField.setEditable(true);
- }
if (amountField.isFocused() || batchField.isFocused() || submitButton.isFocused()) return;
amountField.setLongValue(request.getAmount());
batchField.setLongValue(request.getBatch());
diff --git a/src/main/java/com/almostreliable/merequester/requester/Request.java b/src/main/java/com/almostreliable/merequester/requester/Request.java
index ebf4444..04cd59f 100644
--- a/src/main/java/com/almostreliable/merequester/requester/Request.java
+++ b/src/main/java/com/almostreliable/merequester/requester/Request.java
@@ -97,6 +97,7 @@ public void updateState(boolean state) {
}
public void updateAmount(long amount) {
+ if (amount <= 0 && clientStatus.locksResourceSlot()) return;
if (key == null || amount <= 0) {
resetSlot();
return;
diff --git a/src/main/java/com/almostreliable/merequester/requester/status/RequestStatus.java b/src/main/java/com/almostreliable/merequester/requester/status/RequestStatus.java
index a9d5d55..ec05dfc 100644
--- a/src/main/java/com/almostreliable/merequester/requester/status/RequestStatus.java
+++ b/src/main/java/com/almostreliable/merequester/requester/status/RequestStatus.java
@@ -19,7 +19,7 @@ public RequestStatus translateToClient() {
return this;
}
- public boolean locksRequest() {
+ public boolean locksResourceSlot() {
return this == LINK || this == EXPORT;
}