Update API docs

This commit is contained in:
Raoul Van den Berge
2016-09-11 01:52:55 +02:00
parent 3e40b7b772
commit cb0f8ae023
6 changed files with 27 additions and 3 deletions

View File

@@ -3,8 +3,21 @@ package refinedstorage.api;
import refinedstorage.api.autocrafting.registry.ICraftingTaskRegistry; import refinedstorage.api.autocrafting.registry.ICraftingTaskRegistry;
import refinedstorage.api.solderer.ISoldererRegistry; import refinedstorage.api.solderer.ISoldererRegistry;
import javax.annotation.Nonnull;
/**
* Represents a Refined Storage API implementation.
*/
public interface IAPI { public interface IAPI {
/**
* @return The solderer registry
*/
@Nonnull
ISoldererRegistry getSoldererRegistry(); ISoldererRegistry getSoldererRegistry();
/**
* @return The crafting task registry
*/
@Nonnull
ICraftingTaskRegistry getCraftingTaskRegistry(); ICraftingTaskRegistry getCraftingTaskRegistry();
} }

View File

@@ -19,6 +19,9 @@ public final class RefinedStorageAPI {
} }
} }
/**
* @return The Refined Storage API
*/
public static IAPI instance() { public static IAPI instance() {
return API; return API;
} }

View File

@@ -10,6 +10,7 @@ import javax.annotation.Nullable;
/** /**
* A factory that creates a crafting task from a NBT tag and crafting pattern. * 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 { public interface ICraftingTaskFactory {
/** /**

View File

@@ -1,5 +1,7 @@
package refinedstorage.api.autocrafting.registry; package refinedstorage.api.autocrafting.registry;
import javax.annotation.Nullable;
/** /**
* A registry that stores the various crafting task types. * A registry that stores the various crafting task types.
*/ */
@@ -14,12 +16,11 @@ public interface ICraftingTaskRegistry {
void addFactory(String id, ICraftingTaskFactory factory); void addFactory(String id, ICraftingTaskFactory factory);
/** /**
* Returns the factory of a crafting task type. * Returns the factory of a crafting task type id.
* 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.
* *
* @param id The id * @param id The id
* @return The factory * @return The factory
*/ */
@Nullable
ICraftingTaskFactory getFactory(String id); ICraftingTaskFactory getFactory(String id);
} }

View File

@@ -6,6 +6,8 @@ import refinedstorage.api.solderer.ISoldererRegistry;
import refinedstorage.apiimpl.autocrafting.registry.CraftingTaskRegistry; import refinedstorage.apiimpl.autocrafting.registry.CraftingTaskRegistry;
import refinedstorage.apiimpl.solderer.SoldererRegistry; import refinedstorage.apiimpl.solderer.SoldererRegistry;
import javax.annotation.Nonnull;
public class API implements IAPI { public class API implements IAPI {
public static final IAPI INSTANCE = new API(); public static final IAPI INSTANCE = new API();
@@ -13,11 +15,13 @@ public class API implements IAPI {
private ICraftingTaskRegistry craftingTaskRegistry = new CraftingTaskRegistry(); private ICraftingTaskRegistry craftingTaskRegistry = new CraftingTaskRegistry();
@Override @Override
@Nonnull
public ISoldererRegistry getSoldererRegistry() { public ISoldererRegistry getSoldererRegistry() {
return soldererRegistry; return soldererRegistry;
} }
@Override @Override
@Nonnull
public ICraftingTaskRegistry getCraftingTaskRegistry() { public ICraftingTaskRegistry getCraftingTaskRegistry() {
return craftingTaskRegistry; return craftingTaskRegistry;
} }

View File

@@ -3,6 +3,7 @@ package refinedstorage.apiimpl.autocrafting.registry;
import refinedstorage.api.autocrafting.registry.ICraftingTaskFactory; import refinedstorage.api.autocrafting.registry.ICraftingTaskFactory;
import refinedstorage.api.autocrafting.registry.ICraftingTaskRegistry; import refinedstorage.api.autocrafting.registry.ICraftingTaskRegistry;
import javax.annotation.Nullable;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@@ -15,6 +16,7 @@ public class CraftingTaskRegistry implements ICraftingTaskRegistry {
} }
@Override @Override
@Nullable
public ICraftingTaskFactory getFactory(String id) { public ICraftingTaskFactory getFactory(String id) {
return registry.get(id); return registry.get(id);
} }