Some more fixes.
This commit is contained in:
@@ -51,13 +51,13 @@ public interface ICraftingPattern {
|
||||
ItemStack getOutput(NonNullList<ItemStack> took);
|
||||
|
||||
/**
|
||||
* @return the outputs
|
||||
* @return the byproducts
|
||||
*/
|
||||
NonNullList<ItemStack> getByproducts();
|
||||
|
||||
/**
|
||||
* @param took the items took per slot
|
||||
* @return the outputs based on the items took
|
||||
* @return the byproducts based on the items took
|
||||
*/
|
||||
NonNullList<ItemStack> getByproducts(NonNullList<ItemStack> took);
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@ public class CraftingPattern implements ICraftingPattern {
|
||||
|
||||
public ItemStack getOutput(NonNullList<ItemStack> took) {
|
||||
if (processing) {
|
||||
throw new IllegalStateException("Cannot get crafting outputs from processing pattern");
|
||||
throw new IllegalStateException("Cannot get crafting output from processing pattern");
|
||||
}
|
||||
|
||||
if (took.size() != inputs.size()) {
|
||||
@@ -148,13 +148,17 @@ public class CraftingPattern implements ICraftingPattern {
|
||||
|
||||
@Override
|
||||
public NonNullList<ItemStack> getByproducts() {
|
||||
if (processing) {
|
||||
throw new IllegalStateException("Cannot get byproduct outputs from processing pattern");
|
||||
}
|
||||
|
||||
return byproducts;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NonNullList<ItemStack> getByproducts(NonNullList<ItemStack> took) {
|
||||
if (processing) {
|
||||
throw new IllegalStateException("Cannot get crafting outputs from processing pattern");
|
||||
throw new IllegalStateException("Cannot get byproduct outputs from processing pattern");
|
||||
}
|
||||
|
||||
if (took.size() != inputs.size()) {
|
||||
|
||||
@@ -61,6 +61,8 @@ public class CraftingExtractor {
|
||||
}
|
||||
|
||||
status.set(i, CraftingExtractorItemStatus.EXTRACTED);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,9 +75,9 @@ public class CraftingTask implements ICraftingTask {
|
||||
|
||||
ItemStack fromSelf = results.get(possibleInput);
|
||||
if (fromSelf != null) {
|
||||
int toExtractFromSelf = fromSelf.getCount();
|
||||
int toExtractFromSelf = Math.min(possibleInput.getCount(), fromSelf.getCount());
|
||||
|
||||
results.remove(fromSelf, Math.min(possibleInput.getCount(), toExtractFromSelf));
|
||||
results.remove(possibleInput, toExtractFromSelf);
|
||||
|
||||
toExtract -= toExtractFromSelf;
|
||||
}
|
||||
@@ -106,7 +106,7 @@ public class CraftingTask implements ICraftingTask {
|
||||
this.toCraft.add(possibleInput, missing);
|
||||
|
||||
while (missing > 0) {
|
||||
this.steps.add(calculateInternal(mutatedStorage, results, subPattern));
|
||||
this.steps.add(calculateInternal(mutatedStorage, results, subPattern)); // TODO: eating from itself?
|
||||
|
||||
missing -= getQuantityPerCraft(subPattern, possibleInput);
|
||||
}
|
||||
@@ -119,10 +119,6 @@ public class CraftingTask implements ICraftingTask {
|
||||
for (ItemStack output : pattern.getOutputs()) {
|
||||
results.add(output);
|
||||
}
|
||||
|
||||
for (ItemStack byproduct : pattern.getByproducts()) {
|
||||
results.add(byproduct);
|
||||
}
|
||||
} else {
|
||||
results.add(pattern.getOutput(took));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user