Some more fixes.

This commit is contained in:
raoulvdberge
2018-05-29 11:15:04 +02:00
parent 26eb514800
commit 29b8e762ed
4 changed files with 13 additions and 11 deletions

View File

@@ -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);

View File

@@ -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()) {

View File

@@ -61,6 +61,8 @@ public class CraftingExtractor {
}
status.set(i, CraftingExtractorItemStatus.EXTRACTED);
return;
}
}
}

View File

@@ -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));