diff --git a/src/main/java/refinedstorage/api/IAPI.java b/src/main/java/refinedstorage/api/IAPI.java index 1114e41b8..0b6e4385a 100755 --- a/src/main/java/refinedstorage/api/IAPI.java +++ b/src/main/java/refinedstorage/api/IAPI.java @@ -3,8 +3,21 @@ package refinedstorage.api; import refinedstorage.api.autocrafting.registry.ICraftingTaskRegistry; import refinedstorage.api.solderer.ISoldererRegistry; +import javax.annotation.Nonnull; + +/** + * Represents a Refined Storage API implementation. + */ public interface IAPI { + /** + * @return The solderer registry + */ + @Nonnull ISoldererRegistry getSoldererRegistry(); + /** + * @return The crafting task registry + */ + @Nonnull ICraftingTaskRegistry getCraftingTaskRegistry(); } diff --git a/src/main/java/refinedstorage/api/RefinedStorageAPI.java b/src/main/java/refinedstorage/api/RefinedStorageAPI.java index 8bfcd7003..5d4b1517b 100755 --- a/src/main/java/refinedstorage/api/RefinedStorageAPI.java +++ b/src/main/java/refinedstorage/api/RefinedStorageAPI.java @@ -19,6 +19,9 @@ public final class RefinedStorageAPI { } } + /** + * @return The Refined Storage API + */ public static IAPI instance() { return API; } diff --git a/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskFactory.java b/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskFactory.java index 3f4244d20..30a3cdf4f 100755 --- a/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskFactory.java +++ b/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskFactory.java @@ -10,6 +10,7 @@ import javax.annotation.Nullable; /** * A factory that creates a crafting task from a NBT tag and crafting pattern. + * Register this factory to create your own custom crafting tasks. */ public interface ICraftingTaskFactory { /** diff --git a/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskRegistry.java b/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskRegistry.java index 5890b22ba..b0bbacf34 100755 --- a/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskRegistry.java +++ b/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskRegistry.java @@ -1,5 +1,7 @@ package refinedstorage.api.autocrafting.registry; +import javax.annotation.Nullable; + /** * A registry that stores the various crafting task types. */ @@ -14,12 +16,11 @@ public interface ICraftingTaskRegistry { void addFactory(String id, ICraftingTaskFactory factory); /** - * Returns the factory of a crafting task type. - * This is used when reading the storage network from disk to get a factory in order to create a crafting task. - * It is also used for creating crafting tasks on demand when the player requests it. + * Returns the factory of a crafting task type id. * * @param id The id * @return The factory */ + @Nullable ICraftingTaskFactory getFactory(String id); } diff --git a/src/main/java/refinedstorage/apiimpl/API.java b/src/main/java/refinedstorage/apiimpl/API.java index 5296a78c7..4f79d9a73 100755 --- a/src/main/java/refinedstorage/apiimpl/API.java +++ b/src/main/java/refinedstorage/apiimpl/API.java @@ -6,6 +6,8 @@ import refinedstorage.api.solderer.ISoldererRegistry; import refinedstorage.apiimpl.autocrafting.registry.CraftingTaskRegistry; import refinedstorage.apiimpl.solderer.SoldererRegistry; +import javax.annotation.Nonnull; + public class API implements IAPI { public static final IAPI INSTANCE = new API(); @@ -13,11 +15,13 @@ public class API implements IAPI { private ICraftingTaskRegistry craftingTaskRegistry = new CraftingTaskRegistry(); @Override + @Nonnull public ISoldererRegistry getSoldererRegistry() { return soldererRegistry; } @Override + @Nonnull public ICraftingTaskRegistry getCraftingTaskRegistry() { return craftingTaskRegistry; } diff --git a/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskRegistry.java b/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskRegistry.java index 520423c16..7f83ef266 100755 --- a/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskRegistry.java +++ b/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskRegistry.java @@ -3,6 +3,7 @@ package refinedstorage.apiimpl.autocrafting.registry; import refinedstorage.api.autocrafting.registry.ICraftingTaskFactory; import refinedstorage.api.autocrafting.registry.ICraftingTaskRegistry; +import javax.annotation.Nullable; import java.util.HashMap; import java.util.Map; @@ -15,6 +16,7 @@ public class CraftingTaskRegistry implements ICraftingTaskRegistry { } @Override + @Nullable public ICraftingTaskFactory getFactory(String id) { return registry.get(id); }