Improved API docs and code formatting

This commit is contained in:
raoulvdberge
2017-04-25 22:00:13 +02:00
parent 82b59fdfcd
commit 9494d3f07e
42 changed files with 151 additions and 102 deletions

View File

@@ -7,13 +7,13 @@ import net.minecraftforge.fml.common.eventhandler.Event;
import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.ItemHandlerHelper;
/** /**
* Event fired upon completion of an auto crafting task * Event fired upon completion of an auto crafting task.
*/ */
public class AutoCraftingEvent extends Event { public class EventAutocraftingComplete extends Event {
private ItemStack crafted; private ItemStack crafted;
private INetworkMaster network; private INetworkMaster network;
private AutoCraftingEvent(INetworkMaster network, ItemStack crafted) { private EventAutocraftingComplete(INetworkMaster network, ItemStack crafted) {
this.crafted = crafted; this.crafted = crafted;
this.network = network; this.network = network;
} }
@@ -27,7 +27,7 @@ public class AutoCraftingEvent extends Event {
} }
public static void fire(INetworkMaster network, ItemStack crafted) { public static void fire(INetworkMaster network, ItemStack crafted) {
MinecraftForge.EVENT_BUS.post(new AutoCraftingEvent(network, crafted)); MinecraftForge.EVENT_BUS.post(new EventAutocraftingComplete(network, crafted));
} }
public static void fire(INetworkMaster network, ItemStack crafted, int quantity) { public static void fire(INetworkMaster network, ItemStack crafted, int quantity) {

View File

@@ -10,6 +10,9 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.List; import java.util.List;
/**
* The crafting manager handles the storing, updating, adding and deleting of crafting tasks in a network.
*/
public interface ICraftingManager { public interface ICraftingManager {
/** /**
* @return the crafting tasks in this network, do NOT modify this list * @return the crafting tasks in this network, do NOT modify this list
@@ -33,10 +36,10 @@ public interface ICraftingManager {
/** /**
* Creates a crafting task. * Creates a crafting task.
* *
* @param stack the stack to create a task for * @param stack the stack to create a task for
* @param pattern the pattern * @param pattern the pattern
* @param quantity the quantity * @param quantity the quantity
* @param automated whether this crafting task is created in an automated way * @param automated whether this crafting task is created in an automated way
* @return the crafting task * @return the crafting task
*/ */
ICraftingTask create(@Nullable ItemStack stack, ICraftingPattern pattern, int quantity, boolean automated); ICraftingTask create(@Nullable ItemStack stack, ICraftingPattern pattern, int quantity, boolean automated);
@@ -57,7 +60,7 @@ public interface ICraftingManager {
* *
* @param stack the stack * @param stack the stack
* @param toSchedule the amount of tasks to schedule * @param toSchedule the amount of tasks to schedule
* @param compare the compare value to find patterns * @param compare the compare value to find patterns, see {@link IComparer}
* @return the crafting task created, or null if no task is created * @return the crafting task created, or null if no task is created
*/ */
@Nullable @Nullable
@@ -198,9 +201,19 @@ public interface ICraftingManager {
*/ */
boolean hasPattern(ItemStack stack, int flags); boolean hasPattern(ItemStack stack, int flags);
/**
* Updates the tasks in this manager.
*/
void update(); void update();
/**
* @param tag the tag to read from
*/
void readFromNBT(NBTTagCompound tag); void readFromNBT(NBTTagCompound tag);
/**
* @param tag the tag to write to
* @return the written tag
*/
NBTTagCompound writeToNBT(NBTTagCompound tag); NBTTagCompound writeToNBT(NBTTagCompound tag);
} }

View File

@@ -36,7 +36,7 @@ public interface ICraftingPattern {
boolean isOredict(); boolean isOredict();
/** /**
* @return true if the crafting pattern may block crafting step * @return true if the crafting pattern may block other crafting tasks that are the same, false otherwise
*/ */
boolean isBlocking(); boolean isBlocking();
@@ -74,7 +74,7 @@ public interface ICraftingPattern {
List<ItemStack> getByproducts(); List<ItemStack> getByproducts();
/** /**
* @return the id of the factory that creates a crafting task for this pattern, as defined in the registry * @return the id of the factory that creates a crafting task for this pattern, as defined in the {@link com.raoulvdberge.refinedstorage.api.autocrafting.registry.ICraftingTaskRegistry}
*/ */
String getId(); String getId();
@@ -111,7 +111,7 @@ public interface ICraftingPattern {
* Used to balance out {@link com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingStep}s over alike {@link ICraftingPattern}s * Used to balance out {@link com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingStep}s over alike {@link ICraftingPattern}s
* *
* @param pattern the {@link ICraftingPattern} to compare against * @param pattern the {@link ICraftingPattern} to compare against
* @return true if the patterns are alike * @return true if the patterns are alike, false otherwise
*/ */
boolean alike(ICraftingPattern pattern); boolean alike(ICraftingPattern pattern);
} }

View File

@@ -3,28 +3,28 @@ package com.raoulvdberge.refinedstorage.api.autocrafting;
import java.util.Collection; import java.util.Collection;
/** /**
* Represents a chain of {@link ICraftingPattern}s, used to balance crafts over those patterns * Represents a chain of {@link ICraftingPattern}s, used to balance crafts over those patterns.
*/ */
public interface ICraftingPatternChain extends Collection<ICraftingPattern> { public interface ICraftingPatternChain extends Collection<ICraftingPattern> {
/** /**
* Check whether a pattern belongs in the chain * Check whether a pattern belongs in the chain.
* *
* @param compare the {@link ICraftingPattern} to check * @param compare the {@link ICraftingPattern} to check
* @return true if the chains {@link #getPrototype()} is {@link ICraftingPattern#alike(ICraftingPattern)} * @return true if the chains {@link #getPrototype()} is {@link ICraftingPattern#alike(ICraftingPattern)}, false otherwise
*/ */
default boolean isValidForChain(ICraftingPattern compare) { default boolean isValidForChain(ICraftingPattern compare) {
return getPrototype() == compare || getPrototype().alike(compare); return getPrototype() == compare || getPrototype().alike(compare);
} }
/** /**
* Cycles the list and returns use you the pattern that was used the longest time ago * Cycles the list and returns use you the pattern that was used the longest time ago.
* *
* @return an {@link ICraftingPattern} * @return an {@link ICraftingPattern}
*/ */
ICraftingPattern cycle(); ICraftingPattern cycle();
/** /**
* The prototype used for this {@link ICraftingPatternChain} * The prototype used for this {@link ICraftingPatternChain}.
* *
* @return an {@link ICraftingPattern} that represents all patterns in the chain * @return an {@link ICraftingPattern} that represents all patterns in the chain
*/ */

View File

@@ -7,11 +7,11 @@ import net.minecraftforge.items.IItemHandler;
import java.util.List; import java.util.List;
/** /**
* Represents the container where a crafting pattern is in. * Represents a network node that contains crafting patterns.
*/ */
public interface ICraftingPatternContainer { public interface ICraftingPatternContainer {
/** /**
* @return the amount of speed upgrades in the container. * @return the amount of speed upgrades in the container
*/ */
int getSpeedUpdateCount(); int getSpeedUpdateCount();
@@ -36,12 +36,12 @@ public interface ICraftingPatternContainer {
BlockPos getPosition(); BlockPos getPosition();
/** /**
* @return whether this container is blocked * @return true if this container is blocked, false otherwise
*/ */
boolean isBlocked(); boolean isBlocked();
/** /**
* @param blocked whether the container is blocked * @param blocked whether the container should be blocked
*/ */
void setBlocked(boolean blocked); void setBlocked(boolean blocked);
} }

View File

@@ -5,6 +5,8 @@ import io.netty.buffer.ByteBuf;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
import javax.annotation.Nullable;
/** /**
* Represents a crafting monitor element. * Represents a crafting monitor element.
*/ */
@@ -23,7 +25,7 @@ public interface ICraftingMonitorElement {
boolean canDrawSelection(); boolean canDrawSelection();
/** /**
* Returns the position where the corresponding task is in the crafting task list. * Returns the position of the corresponding task in the crafting task list.
* Used for cancelling tasks. * Used for cancelling tasks.
* *
* @return the id, or -1 if no task is associated with this element * @return the id, or -1 if no task is associated with this element
@@ -40,6 +42,7 @@ public interface ICraftingMonitorElement {
/** /**
* @return the tooltip of this element, or null for no tooltip * @return the tooltip of this element, or null for no tooltip
*/ */
@Nullable
default String getTooltip() { default String getTooltip() {
return null; return null;
} }
@@ -55,7 +58,7 @@ public interface ICraftingMonitorElement {
* Merge an element into the current element. * Merge an element into the current element.
* *
* @param element the element to merged with the current one * @param element the element to merged with the current one
* @return true if merge was successful * @return true if merge was successful, false otherwise
*/ */
boolean merge(ICraftingMonitorElement element); boolean merge(ICraftingMonitorElement element);

View File

@@ -6,7 +6,7 @@ import javax.annotation.Nullable;
import java.util.function.Function; import java.util.function.Function;
/** /**
* This registry holds factories for crafting monitor elements (for deserialization from the network). * This registry holds factories for crafting monitor elements (for serialization and deserialization over the network).
*/ */
public interface ICraftingMonitorElementRegistry { public interface ICraftingMonitorElementRegistry {
/** /**

View File

@@ -40,7 +40,7 @@ public interface ICraftingPreviewElement<T> {
boolean hasMissing(); boolean hasMissing();
/** /**
* @param buf byte buf to write to * @param buf buffer to write to
*/ */
void writeToByteBuf(ByteBuf buf); void writeToByteBuf(ByteBuf buf);

View File

@@ -6,7 +6,7 @@ import javax.annotation.Nullable;
import java.util.function.Function; import java.util.function.Function;
/** /**
* This registry holds factories for crafting preview elements (for deserialization from the network). * This registry holds factories for crafting preview elements (for serialization and deserialization over the network).
*/ */
public interface ICraftingPreviewElementRegistry { public interface ICraftingPreviewElementRegistry {
/** /**

View File

@@ -19,7 +19,7 @@ public interface ICraftingTaskFactory {
* Returns a crafting task for a given NBT tag and pattern. * Returns a crafting task for a given NBT tag and pattern.
* *
* @param network the network * @param network the network
* @param stack the stack to create task for * @param stack the stack to create a task for
* @param pattern the pattern * @param pattern the pattern
* @param quantity the quantity * @param quantity the quantity
* @param automated whether this crafting task is created in an automated way * @param automated whether this crafting task is created in an automated way
@@ -33,7 +33,7 @@ public interface ICraftingTaskFactory {
* Returns a crafting task for a given NBT tag and pattern. * Returns a crafting task for a given NBT tag and pattern.
* *
* @param network the network * @param network the network
* @param stack the stack to create task for * @param stack the stack to create a task for
* @param patternChain the pattern chain * @param patternChain the pattern chain
* @param quantity the quantity * @param quantity the quantity
* @param automated whether this crafting task is created in an automated way * @param automated whether this crafting task is created in an automated way

View File

@@ -10,7 +10,7 @@ import java.util.Deque;
import java.util.List; import java.util.List;
/** /**
* Represents a step in a crafting task that. * Represents a step in a crafting task.
*/ */
public interface ICraftingStep { public interface ICraftingStep {
/** /**
@@ -19,7 +19,7 @@ public interface ICraftingStep {
ICraftingPattern getPattern(); ICraftingPattern getPattern();
/** /**
* @return the stacks to insert, no null entries * @return the stacks to insert
*/ */
List<ItemStack> getToInsert(); List<ItemStack> getToInsert();
@@ -82,8 +82,8 @@ public interface ICraftingStep {
int getReceivedOutput(ItemStack stack); int getReceivedOutput(ItemStack stack);
/** /**
* The {@link ItemStack} given to it will be changed and contain the remainder * The {@link ItemStack} given to it will be changed and contain the remainder.
* The return value will only be true if the stack size is zero * The return value will only be true if the stack size is zero.
* *
* @param stack the stack that was inserted in the storage system * @param stack the stack that was inserted in the storage system
* @return true if this item belonged to the processable item and was fully used, false otherwise * @return true if this item belonged to the processable item and was fully used, false otherwise

View File

@@ -28,11 +28,6 @@ public interface ICraftingTask {
*/ */
void calculate(); void calculate();
/**
* Called when this task is cancelled.
*/
void onCancelled();
/** /**
* Updates this task. Gets called every few ticks, depending on the speed of the pattern container. * Updates this task. Gets called every few ticks, depending on the speed of the pattern container.
* {@link ICraftingTask#calculate()} must be run before this! * {@link ICraftingTask#calculate()} must be run before this!
@@ -42,6 +37,11 @@ public interface ICraftingTask {
*/ */
boolean update(Map<ICraftingPatternContainer, Integer> usedContainers); boolean update(Map<ICraftingPatternContainer, Integer> usedContainers);
/**
* Called when this task is cancelled.
*/
void onCancelled();
/** /**
* Reschedule the task. This does a recalculation and restart of the task. * Reschedule the task. This does a recalculation and restart of the task.
*/ */
@@ -94,9 +94,11 @@ public interface ICraftingTask {
List<ICraftingMonitorElement> getCraftingMonitorElements(); List<ICraftingMonitorElement> getCraftingMonitorElements();
/** /**
* @return the crafting pattern corresponding to this task * {@link ICraftingTask#calculate()} must be run before this!
*
* @return get a list of {@link ICraftingPreviewElement}s
*/ */
ICraftingPattern getPattern(); List<ICraftingPreviewElement> getPreviewStacks();
/** /**
* {@link ICraftingTask#calculate()} must be run before this! * {@link ICraftingTask#calculate()} must be run before this!
@@ -106,15 +108,20 @@ public interface ICraftingTask {
List<ICraftingStep> getSteps(); List<ICraftingStep> getSteps();
/** /**
* Used to check if the crafting task has recursive elements (eg. block needs 9 ingots, ingots are crafted by a block) * @return the crafting pattern corresponding to this task
*/
ICraftingPattern getPattern();
/**
* Used to check if the crafting task has recursive elements (eg. block needs 9 ingots, ingots are crafted by a block).
* {@link ICraftingTask#calculate()} must be run before this! * {@link ICraftingTask#calculate()} must be run before this!
* *
* @return true if no recursion was found * @return true if no recursion was found, false otherwise
*/ */
boolean isValid(); boolean isValid();
/** /**
* @return whether the task is finished * @return true if the task is finished, false otherwise
*/ */
boolean isFinished(); boolean isFinished();
@@ -124,14 +131,10 @@ public interface ICraftingTask {
IStackList<ItemStack> getMissing(); IStackList<ItemStack> getMissing();
/** /**
* {@link ICraftingTask#calculate()} must be run before this! * Returns whether the crafting task is created in an automated way.
* For example: through the Crafting Upgrade or the "Trigger task with redstone signal" option in the crafter.
* *
* @return get a list of {@link ICraftingPreviewElement}s * @return true if this crafting task is created in an automated way, false otherwise
*/
List<ICraftingPreviewElement> getPreviewStacks();
/**
* @return whether this crafting task is created in an automated way (through a Crafting Upgrade or the "Trigger task with redstone signal" option in the Crafter) for example
*/ */
boolean isAutomated(); boolean isAutomated();
} }

View File

@@ -32,7 +32,7 @@ public interface INetworkMaster {
BlockPos getPosition(); BlockPos getPosition();
/** /**
* @return if this network is able to run (usually corresponds to the redstone configuration) * @return true if this network is able to run (usually corresponds to the redstone configuration), false otherwise
*/ */
boolean canRun(); boolean canRun();

View File

@@ -19,7 +19,7 @@ public interface IItemGridHandler {
* *
* @param player the player that is attempting the extraction * @param player the player that is attempting the extraction
* @param hash the hash of the item we're trying to extract, see {@link IRSAPI#getItemStackHashCode(ItemStack)} * @param hash the hash of the item we're trying to extract, see {@link IRSAPI#getItemStackHashCode(ItemStack)}
* @param flags how we are extracting * @param flags how we are extracting, see the flags in {@link IItemGridHandler}
*/ */
void onExtract(EntityPlayerMP player, int hash, int flags); void onExtract(EntityPlayerMP player, int hash, int flags);
@@ -46,7 +46,7 @@ public interface IItemGridHandler {
* *
* @param hash the item stack hash * @param hash the item stack hash
* @param quantity the amount of that item that we need a preview for * @param quantity the amount of that item that we need a preview for
* @param noPreview whether the preview should show * @param noPreview true if the crafting preview window shouldn't be shown, false otherwise
*/ */
void onCraftingPreviewRequested(EntityPlayerMP player, int hash, int quantity, boolean noPreview); void onCraftingPreviewRequested(EntityPlayerMP player, int hash, int quantity, boolean noPreview);
@@ -55,15 +55,15 @@ public interface IItemGridHandler {
* *
* @param player the player that is requesting the crafting * @param player the player that is requesting the crafting
* @param stack the {@link ItemStack} to request a craft for * @param stack the {@link ItemStack} to request a craft for
* @param quantity the amount of that item that has to be crafted * @param quantity the amount of the item that has to be crafted
*/ */
void onCraftingRequested(EntityPlayerMP player, ItemStack stack, int quantity); void onCraftingRequested(EntityPlayerMP player, ItemStack stack, int quantity);
/** /**
* Called when a player wants to cancel a crafting task. * Called when a player wants to cancel a crafting task.
* *
* @param player the player that requested the cance * @param player the player that requested the cancel
* @param id the task id, or -1 to cancel all tasks * @param id the task id, or -1 to cancel all tasks that are in the network currently
*/ */
void onCraftingCancelRequested(EntityPlayerMP player, int id); void onCraftingCancelRequested(EntityPlayerMP player, int id);
} }

View File

@@ -6,7 +6,9 @@ import net.minecraft.util.EnumHand;
import net.minecraft.world.World; import net.minecraft.world.World;
/** /**
* Represents a network item. * Represents a network item (an item that is connected to the network somehow).
* You do not implement this on the item itself, use an {@link INetworkItemProvider} for that.
* This is an object used separately from the actual item, since this stores the player that is using it.
*/ */
public interface INetworkItem { public interface INetworkItem {
/** /**
@@ -21,7 +23,7 @@ public interface INetworkItem {
* @param player the player * @param player the player
* @param controllerWorld the world where the controller is in * @param controllerWorld the world where the controller is in
* @param hand the hand * @param hand the hand
* @return whether the network item can be opened * @return true if the network item can be opened, false otherwise
*/ */
boolean onOpen(INetworkMaster network, EntityPlayer player, World controllerWorld, EnumHand hand); boolean onOpen(INetworkMaster network, EntityPlayer player, World controllerWorld, EnumHand hand);
} }

View File

@@ -7,7 +7,8 @@ import net.minecraft.world.World;
import javax.annotation.Nullable; import javax.annotation.Nullable;
/** /**
* Handles network items. * This is the handler for network items of a network.
* It stores which player is currently using what network item.
*/ */
public interface INetworkItemHandler { public interface INetworkItemHandler {
/** /**

View File

@@ -3,8 +3,10 @@ package com.raoulvdberge.refinedstorage.api.network.item;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import javax.annotation.Nonnull;
/** /**
* Provider for network items. Implement this on the item. * Provider for network items, implement this on the item.
*/ */
public interface INetworkItemProvider { public interface INetworkItemProvider {
/** /**
@@ -15,5 +17,6 @@ public interface INetworkItemProvider {
* @param stack the stack * @param stack the stack
* @return the network item * @return the network item
*/ */
@Nonnull
INetworkItem provide(INetworkItemHandler handler, EntityPlayer player, ItemStack stack); INetworkItem provide(INetworkItemHandler handler, EntityPlayer player, ItemStack stack);
} }

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.api.network.node; package com.raoulvdberge.refinedstorage.api.network.node;
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.INetworkNodeHolder;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@@ -19,7 +18,10 @@ public interface INetworkNode {
int getEnergyUsage(); int getEnergyUsage();
/** /**
* @return the item of the node * Returns the stack that is displayed in the controller GUI.
* Can be an empty stack if no stack should be shown.
*
* @return the item stack of this node
*/ */
@Nonnull @Nonnull
ItemStack getItemStack(); ItemStack getItemStack();
@@ -39,12 +41,14 @@ public interface INetworkNode {
void onDisconnected(INetworkMaster network); void onDisconnected(INetworkMaster network);
/** /**
* @return true if this node can be treated as updatable, typically checks the redstone configuration * If a node can be updated typically depends on the redstone configuration.
*
* @return true if this node can be treated as updatable, false otherwise
*/ */
boolean canUpdate(); boolean canUpdate();
/** /**
* @return the network * @return the network, or null if this node is not connected to any network
*/ */
@Nullable @Nullable
INetworkMaster getNetwork(); INetworkMaster getNetwork();

View File

@@ -12,7 +12,7 @@ public interface INetworkNodeManager {
/** /**
* Gets a network node from the registry at a given position. * Gets a network node from the registry at a given position.
* *
* @param pos the position * @param pos the position of the node
* @return the network node at the given position, or null if no network node was found * @return the network node at the given position, or null if no network node was found
*/ */
@Nullable @Nullable
@@ -21,15 +21,15 @@ public interface INetworkNodeManager {
/** /**
* Removes a node from the registry at a given position. * Removes a node from the registry at a given position.
* *
* @param pos the position * @param pos the position of the node
* @param notifyClient whether to notify the client of the removal * @param notifyClient true to notify the client of the removal, false otherwise
*/ */
void removeNode(BlockPos pos, boolean notifyClient); void removeNode(BlockPos pos, boolean notifyClient);
/** /**
* Sets a node in the registry at a given position. * Sets a node in the registry at a given position.
* *
* @param pos the position * @param pos the position of the node
* @param node the node * @param node the node
*/ */
void setNode(BlockPos pos, INetworkNode node); void setNode(BlockPos pos, INetworkNode node);

View File

@@ -5,7 +5,7 @@ import javax.annotation.Nonnull;
/** /**
* Makes a network node accessible from a tile entity. Implement this as a capability. * Makes a network node accessible from a tile entity. Implement this as a capability.
* *
* @param <T> * @param <T> the network node
*/ */
public interface INetworkNodeProxy<T extends INetworkNode> { public interface INetworkNodeProxy<T extends INetworkNode> {
/** /**

View File

@@ -6,7 +6,7 @@ import javax.annotation.Nullable;
import java.util.function.Function; import java.util.function.Function;
/** /**
* This registry holds factories for reading network nodes from NBT. * This registry holds factories for reading and writing network nodes from and to NBT.
*/ */
public interface INetworkNodeRegistry { public interface INetworkNodeRegistry {
/** /**

View File

@@ -3,11 +3,11 @@ package com.raoulvdberge.refinedstorage.api.network.readerwriter;
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
/** /**
* Represents a reader block in the world. * Represents a reader network node.
*/ */
public interface IReader extends INetworkNode { public interface IReader extends INetworkNode {
/** /**
* @return the redstone strength this reader is receiving * @return the redstone strength that this reader is receiving
*/ */
int getRedstoneStrength(); int getRedstoneStrength();

View File

@@ -5,7 +5,7 @@ import net.minecraft.nbt.NBTTagCompound;
import java.util.List; import java.util.List;
/** /**
* Represents a reader writer channel in the RS network. * Represents a reader writer channel.
*/ */
public interface IReaderWriterChannel { public interface IReaderWriterChannel {
/** /**

View File

@@ -7,7 +7,8 @@ import net.minecraftforge.common.capabilities.Capability;
import java.util.List; import java.util.List;
/** /**
* Represents a reader writer handler. Can be for example: items, fluids, energy, ... * Represents a reader writer handler.
* For example: items, fluids, energy, ...
*/ */
public interface IReaderWriterHandler { public interface IReaderWriterHandler {
/** /**
@@ -27,7 +28,7 @@ public interface IReaderWriterHandler {
/** /**
* @param reader the reader * @param reader the reader
* @param capability the capability * @param capability the capability
* @return whether we have the given capability for the reader * @return true if we have the given capability for the reader, false otherwise
*/ */
boolean hasCapabilityReader(IReader reader, Capability<?> capability); boolean hasCapabilityReader(IReader reader, Capability<?> capability);
@@ -41,7 +42,7 @@ public interface IReaderWriterHandler {
/** /**
* @param writer the writer * @param writer the writer
* @param capability the capability * @param capability the capability
* @return whether we have the given capability for the writer * @return true if we have the given capability for the writer, false otherwise
*/ */
boolean hasCapabilityWriter(IWriter writer, Capability<?> capability); boolean hasCapabilityWriter(IWriter writer, Capability<?> capability);

View File

@@ -10,7 +10,7 @@ public interface IReaderWriterHandlerRegistry {
/** /**
* Adds a factory to the registry. * Adds a factory to the registry.
* *
* @param id the id of this reader writer handler. Analog to {@link IReaderWriterHandler#getId()} * @param id the id of this reader writer handler, as specified in {@link IReaderWriterHandler#getId()}
* @param factory the factory * @param factory the factory
*/ */
void add(String id, IReaderWriterHandlerFactory factory); void add(String id, IReaderWriterHandlerFactory factory);

View File

@@ -4,16 +4,16 @@ import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
/** /**
* Represents a writer block in the world. * Represents a writer network node.
*/ */
public interface IWriter extends INetworkNode { public interface IWriter extends INetworkNode {
/** /**
* @return the redstone strength this writer block is emitting * @return the redstone strength that this writer is emitting
*/ */
int getRedstoneStrength(); int getRedstoneStrength();
/** /**
* @param strength the redstone strength to set to be emitted * @param strength the redstone strength to be emitted
*/ */
void setRedstoneStrength(int strength); void setRedstoneStrength(int strength);

View File

@@ -13,7 +13,7 @@ public interface ISecurityCard {
/** /**
* @param permission the permission to check for * @param permission the permission to check for
* @return whether the bound player has the given permission * @return true if the bound player has the given permission, false otherwise
*/ */
boolean hasPermission(Permission permission); boolean hasPermission(Permission permission);
} }

View File

@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.api.network.security;
import java.util.List; import java.util.List;
/** /**
* A tile that contains security cards. * Represents a network node that contains security cards.
*/ */
public interface ISecurityCardContainer { public interface ISecurityCardContainer {
/** /**

View File

@@ -9,7 +9,7 @@ public interface ISecurityManager {
/** /**
* @param permission the permission to check for * @param permission the permission to check for
* @param player the player to check that permission for * @param player the player to check that permission for
* @return whether the player has the given permission * @return true if the player has the given permission, false otherwise
*/ */
boolean hasPermission(Permission permission, EntityPlayer player); boolean hasPermission(Permission permission, EntityPlayer player);

View File

@@ -8,7 +8,7 @@ import java.util.Collection;
public interface IStorage<T> { public interface IStorage<T> {
/** /**
* @return stacks stored in this storage * @return stacks stored in this storage, empty stacks are allowed
*/ */
Collection<T> getStacks(); Collection<T> getStacks();
@@ -38,7 +38,7 @@ public interface IStorage<T> {
T extract(@Nonnull T stack, int size, int flags, boolean simulate); T extract(@Nonnull T stack, int size, int flags, boolean simulate);
/** /**
* @return the amount of fluids stored in this storage * @return the amount stored in this storage
*/ */
int getStored(); int getStored();

View File

@@ -16,7 +16,7 @@ import java.util.List;
public interface IStorageCache<T> { public interface IStorageCache<T> {
/** /**
* Invalidates the cache. * Invalidates the cache.
* Should also call {@link IStorageCache#sort()} to sort the storages correctly. * Will also call {@link IStorageCache#sort()} to sort the storages correctly.
* Typically called when a {@link IStorageProvider} is added or removed from the network. * Typically called when a {@link IStorageProvider} is added or removed from the network.
*/ */
void invalidate(); void invalidate();
@@ -47,8 +47,8 @@ public interface IStorageCache<T> {
void remove(@Nonnull T stack, int size); void remove(@Nonnull T stack, int size);
/** /**
* Resorts the storages in this cache according to their priority. This needs to be called when the priority * Resorts the storages in this cache according to their priority.
* of a storage changes. * This needs to be called when the priority of a storage changes.
*/ */
void sort(); void sort();

View File

@@ -7,7 +7,7 @@ import java.util.function.Supplier;
/** /**
* Represents a storage disk. * Represents a storage disk.
* *
* @param <T> * @param <T> the storage
*/ */
public interface IStorageDisk<T> extends IStorage<T> { public interface IStorageDisk<T> extends IStorage<T> {
/** /**
@@ -20,7 +20,7 @@ public interface IStorageDisk<T> extends IStorage<T> {
* Determines if it can be inserted in a disk drive. * Determines if it can be inserted in a disk drive.
* *
* @param stack the disk * @param stack the disk
* @return whether it's valid * @return true if the disk is valid, false otherwise
*/ */
boolean isValid(ItemStack stack); boolean isValid(ItemStack stack);

View File

@@ -5,9 +5,13 @@ import net.minecraft.item.ItemStack;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
/** /**
* Implement this on an item. * Implement this on an item that provides storage.
*/ */
public interface IStorageDiskProvider<T> { public interface IStorageDiskProvider<T> {
/**
* @param disk the disk
* @return the storage that this disk provides
*/
@Nonnull @Nonnull
IStorageDisk<T> create(ItemStack disk); IStorageDisk<T> create(ItemStack disk);
} }

View File

@@ -6,7 +6,7 @@ import net.minecraftforge.fluids.FluidStack;
import java.util.List; import java.util.List;
/** /**
* Provides a storage to the network. Implement this on {@link com.raoulvdberge.refinedstorage.api.network.node.INetworkNode}s. * Represents a node that provides the network with storage.
*/ */
public interface IStorageProvider { public interface IStorageProvider {
/** /**

View File

@@ -31,7 +31,7 @@ public interface IStackList<T> {
* *
* @param stack the stack * @param stack the stack
* @param size the size to remove * @param size the size to remove
* @return whether the remove was successful for the full amount * @return true if the remove was successful for the full amount, false otherwise
*/ */
boolean remove(@Nonnull T stack, int size); boolean remove(@Nonnull T stack, int size);
@@ -39,7 +39,7 @@ public interface IStackList<T> {
* Decrements the count of that stack in the list. * Decrements the count of that stack in the list.
* *
* @param stack the stack * @param stack the stack
* @return whether the remove was successful for the full amount * @return true if the remove was successful for the full amount, false otherwise
*/ */
default boolean remove(@Nonnull T stack) { default boolean remove(@Nonnull T stack) {
return remove(stack, getSizeFromStack(stack)); return remove(stack, getSizeFromStack(stack));
@@ -47,20 +47,20 @@ public interface IStackList<T> {
/** /**
* Decrements the count of that stack in the list. * Decrements the count of that stack in the list.
* Keeps track of removed stacks and can be undone by calling {@link #undo()} * Keeps track of removed stacks and can be undone by calling {@link #undo()}.
* *
* @param stack the stack * @param stack the stack
* @param size the size to remove * @param size the size to remove
* @return whether the remove was successful for the full amount * @return true if the remove was successful for the full amount, false otherwise
*/ */
boolean trackedRemove(@Nonnull T stack, int size); boolean trackedRemove(@Nonnull T stack, int size);
/** /**
* Decrements the count of that stack in the list. * Decrements the count of that stack in the list.
* Keeps track of removed stacks and can be undone by calling {@link #undo()} * Keeps track of removed stacks and can be undone by calling {@link #undo()}.
* *
* @param stack the stack * @param stack the stack
* @return whether the remove was successful for the full amount * @return true if the remove was successful for the full amount, false otherwise
*/ */
default boolean trackedRemove(@Nonnull T stack) { default boolean trackedRemove(@Nonnull T stack) {
return trackedRemove(stack, getSizeFromStack(stack)); return trackedRemove(stack, getSizeFromStack(stack));
@@ -112,7 +112,7 @@ public interface IStackList<T> {
void clear(); void clear();
/** /**
* Removes all stacks with size zero. * Removes all empty stacks.
*/ */
void clean(); void clean();

View File

@@ -179,7 +179,7 @@ public class CraftingManager implements ICraftingManager {
ICraftingTask task = craftingTaskIterator.next(); ICraftingTask task = craftingTaskIterator.next();
if (task.update(usedCrafters)) { if (task.update(usedCrafters)) {
AutoCraftingEvent.fire(network, task.getRequested(), task.getQuantity()); EventAutocraftingComplete.fire(network, task.getRequested(), task.getQuantity());
craftingTaskIterator.remove(); craftingTaskIterator.remove();
craftingTasksChanged = true; craftingTasksChanged = true;

View File

@@ -5,13 +5,15 @@ import com.raoulvdberge.refinedstorage.api.render.IElementDrawers;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.ByteBufUtils;
import javax.annotation.Nullable;
public class CraftingMonitorElementError implements ICraftingMonitorElement { public class CraftingMonitorElementError implements ICraftingMonitorElement {
public static final String ID = "error"; public static final String ID = "error";
private ICraftingMonitorElement base; private ICraftingMonitorElement base;
private String tooltip; private String tooltip;
public CraftingMonitorElementError(ICraftingMonitorElement base, String tooltip) { public CraftingMonitorElementError(ICraftingMonitorElement base, @Nullable String tooltip) {
this.base = base; this.base = base;
this.tooltip = tooltip; this.tooltip = tooltip;
} }
@@ -39,6 +41,7 @@ public class CraftingMonitorElementError implements ICraftingMonitorElement {
} }
@Override @Override
@Nullable
public String getTooltip() { public String getTooltip() {
return tooltip; return tooltip;
} }

View File

@@ -5,13 +5,15 @@ import com.raoulvdberge.refinedstorage.api.render.IElementDrawers;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.ByteBufUtils;
import javax.annotation.Nullable;
public class CraftingMonitorElementInfo implements ICraftingMonitorElement { public class CraftingMonitorElementInfo implements ICraftingMonitorElement {
public static final String ID = "info"; public static final String ID = "info";
private ICraftingMonitorElement base; private ICraftingMonitorElement base;
private String tooltip; private String tooltip;
public CraftingMonitorElementInfo(ICraftingMonitorElement base, String tooltip) { public CraftingMonitorElementInfo(ICraftingMonitorElement base, @Nullable String tooltip) {
this.base = base; this.base = base;
this.tooltip = tooltip; this.tooltip = tooltip;
} }
@@ -39,6 +41,7 @@ public class CraftingMonitorElementInfo implements ICraftingMonitorElement {
} }
@Override @Override
@Nullable
public String getTooltip() { public String getTooltip() {
return tooltip; return tooltip;
} }

View File

@@ -150,7 +150,7 @@ public class StackListFluid implements IStackList<FluidStack> {
@Override @Override
public IStackList<FluidStack> getOredicted() { public IStackList<FluidStack> getOredicted() {
throw new IllegalAccessError("Fluid lists have no oredicted version!"); throw new UnsupportedOperationException("Fluid lists have no oredicted version!");
} }
@Override @Override

View File

@@ -7,6 +7,8 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import javax.annotation.Nonnull;
public class ItemWirelessCraftingMonitor extends ItemNetworkItem { public class ItemWirelessCraftingMonitor extends ItemNetworkItem {
private static final String NBT_VIEW_AUTOMATED = "ViewAutomated"; private static final String NBT_VIEW_AUTOMATED = "ViewAutomated";
@@ -22,6 +24,7 @@ public class ItemWirelessCraftingMonitor extends ItemNetworkItem {
} }
@Override @Override
@Nonnull
public INetworkItem provide(INetworkItemHandler handler, EntityPlayer player, ItemStack stack) { public INetworkItem provide(INetworkItemHandler handler, EntityPlayer player, ItemStack stack) {
return new NetworkItemWirelessCraftingMonitor(handler, player, stack); return new NetworkItemWirelessCraftingMonitor(handler, player, stack);
} }

View File

@@ -8,6 +8,8 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import javax.annotation.Nonnull;
public class ItemWirelessFluidGrid extends ItemNetworkItem { public class ItemWirelessFluidGrid extends ItemNetworkItem {
public ItemWirelessFluidGrid() { public ItemWirelessFluidGrid() {
super("wireless_fluid_grid"); super("wireless_fluid_grid");
@@ -33,6 +35,7 @@ public class ItemWirelessFluidGrid extends ItemNetworkItem {
} }
@Override @Override
@Nonnull
public INetworkItem provide(INetworkItemHandler handler, EntityPlayer player, ItemStack stack) { public INetworkItem provide(INetworkItemHandler handler, EntityPlayer player, ItemStack stack) {
return new NetworkItemWirelessFluidGrid(handler, player, stack); return new NetworkItemWirelessFluidGrid(handler, player, stack);
} }

View File

@@ -8,6 +8,8 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import javax.annotation.Nonnull;
public class ItemWirelessGrid extends ItemNetworkItem { public class ItemWirelessGrid extends ItemNetworkItem {
public ItemWirelessGrid() { public ItemWirelessGrid() {
super("wireless_grid"); super("wireless_grid");
@@ -35,6 +37,7 @@ public class ItemWirelessGrid extends ItemNetworkItem {
} }
@Override @Override
@Nonnull
public INetworkItem provide(INetworkItemHandler handler, EntityPlayer player, ItemStack stack) { public INetworkItem provide(INetworkItemHandler handler, EntityPlayer player, ItemStack stack) {
return new NetworkItemWirelessGrid(handler, player, stack); return new NetworkItemWirelessGrid(handler, player, stack);
} }