diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingManager.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingManager.java index e6005dd92..a45d8a61b 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingManager.java @@ -49,6 +49,9 @@ public interface ICraftingManager { @Nullable ICraftingTask create(ItemStack stack, int quantity); + /** + * @return a new pattern chain list + */ ICraftingPatternChainList createPatternChainList(); /** diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPattern.java index 52317af7f..7f121ea01 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPattern.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPattern.java @@ -66,7 +66,14 @@ public interface ICraftingPattern { */ String getId(); + /** + * @param other the other pattern + * @return true if this pattern chain be in a chain with the other pattern, false otherwise + */ boolean canBeInChainWith(ICraftingPattern other); + /** + * @return the hashcode used to store the pattern chains + */ int getChainHashCode(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternChain.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternChain.java index 09c35b21b..f92b11d09 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternChain.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternChain.java @@ -1,7 +1,18 @@ package com.raoulvdberge.refinedstorage.api.autocrafting; +/** + * A crafting pattern chain, which stores equivalent patterns. + */ public interface ICraftingPatternChain { + /** + * @return the current pattern in the chain + */ ICraftingPattern current(); + /** + * Cycles the pattern in the chain. + * + * @return the cycled (and now current) pattern + */ ICraftingPattern cycle(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternChainList.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternChainList.java index 175d75bd1..cbb34908f 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternChainList.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternChainList.java @@ -1,5 +1,12 @@ package com.raoulvdberge.refinedstorage.api.autocrafting; +/** + * A list of pattern chains per pattern. + */ public interface ICraftingPatternChainList { + /** + * @param pattern the pattern + * @return a chain for the pattern + */ ICraftingPatternChain getChain(ICraftingPattern pattern); }