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