diff --git a/src/main/java/refinedstorage/api/autocrafting/ICraftingPatternProvider.java b/src/main/java/refinedstorage/api/autocrafting/ICraftingPatternProvider.java index e7b7392c3..ad825313d 100755 --- a/src/main/java/refinedstorage/api/autocrafting/ICraftingPatternProvider.java +++ b/src/main/java/refinedstorage/api/autocrafting/ICraftingPatternProvider.java @@ -3,6 +3,8 @@ package refinedstorage.api.autocrafting; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import javax.annotation.Nonnull; + /** * Implement this interface on pattern items. * When you implement this interface on your patterns, they will be insertable in crafters. @@ -16,5 +18,6 @@ public interface ICraftingPatternProvider { * @param container The container where the pattern is in * @return The crafting pattern */ + @Nonnull ICraftingPattern create(World world, ItemStack stack, ICraftingPatternContainer container); } diff --git a/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskFactory.java b/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskFactory.java index 481a6d283..3f4244d20 100755 --- a/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskFactory.java +++ b/src/main/java/refinedstorage/api/autocrafting/registry/ICraftingTaskFactory.java @@ -15,11 +15,11 @@ public interface ICraftingTaskFactory { /** * Returns a crafting task for a given NBT tag and pattern. * - * @param tag The NBT tag. If this is null it isn't reading from disk but is used for making a task on demand * @param world The world + * @param tag The NBT tag. If this is null it isn't reading from disk but is used for making a task on demand * @param pattern The pattern * @return The crafting task */ @Nonnull - ICraftingTask create(@Nullable NBTTagCompound tag, World world, ICraftingPattern pattern); + ICraftingTask create(World world, @Nullable NBTTagCompound tag, ICraftingPattern pattern); } diff --git a/src/main/java/refinedstorage/api/network/NetworkUtils.java b/src/main/java/refinedstorage/api/network/NetworkUtils.java index caf2702ad..6bd119e32 100755 --- a/src/main/java/refinedstorage/api/network/NetworkUtils.java +++ b/src/main/java/refinedstorage/api/network/NetworkUtils.java @@ -28,7 +28,7 @@ public final class NetworkUtils { } public static ICraftingTask createCraftingTask(INetworkMaster network, ICraftingPattern pattern) { - return RefinedStorageAPI.CRAFTING_TASK_REGISTRY.getFactory(pattern.getId()).create(null, network.getNetworkWorld(), pattern); + return RefinedStorageAPI.CRAFTING_TASK_REGISTRY.getFactory(pattern.getId()).create(network.getNetworkWorld(), null, pattern); } public static boolean hasPattern(INetworkMaster network, ItemStack stack) { diff --git a/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactoryNormal.java b/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactoryNormal.java index f36f8597f..7d38a4942 100755 --- a/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactoryNormal.java +++ b/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactoryNormal.java @@ -21,7 +21,7 @@ public class CraftingTaskFactoryNormal implements ICraftingTaskFactory { @Override @Nonnull - public ICraftingTask create(@Nullable NBTTagCompound tag, World world, ICraftingPattern pattern) { + public ICraftingTask create(World world, @Nullable NBTTagCompound tag, ICraftingPattern pattern) { CraftingTaskNormal task = new CraftingTaskNormal(pattern); if (tag != null) { diff --git a/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactoryProcessing.java b/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactoryProcessing.java index 59779ce07..b0d138ce5 100755 --- a/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactoryProcessing.java +++ b/src/main/java/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactoryProcessing.java @@ -21,7 +21,7 @@ public class CraftingTaskFactoryProcessing implements ICraftingTaskFactory { @Override @Nonnull - public ICraftingTask create(@Nullable NBTTagCompound tag, World world, ICraftingPattern pattern) { + public ICraftingTask create(World world, @Nullable NBTTagCompound tag, ICraftingPattern pattern) { CraftingTaskProcessing task = new CraftingTaskProcessing(pattern); if (tag != null) { diff --git a/src/main/java/refinedstorage/item/ItemPattern.java b/src/main/java/refinedstorage/item/ItemPattern.java index 914f228e8..25e3faedc 100755 --- a/src/main/java/refinedstorage/item/ItemPattern.java +++ b/src/main/java/refinedstorage/item/ItemPattern.java @@ -20,6 +20,7 @@ import refinedstorage.api.autocrafting.ICraftingPatternProvider; import refinedstorage.api.storage.CompareUtils; import refinedstorage.apiimpl.autocrafting.CraftingPattern; +import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -145,6 +146,7 @@ public class ItemPattern extends ItemBase implements ICraftingPatternProvider { } @Override + @Nonnull public ICraftingPattern create(World world, ItemStack stack, ICraftingPatternContainer container) { return new CraftingPattern(world, container, stack); } diff --git a/src/main/java/refinedstorage/tile/TileController.java b/src/main/java/refinedstorage/tile/TileController.java index 3113a4564..e028119f2 100755 --- a/src/main/java/refinedstorage/tile/TileController.java +++ b/src/main/java/refinedstorage/tile/TileController.java @@ -736,16 +736,10 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR if (container instanceof ICraftingPatternContainer) { ICraftingPattern pattern = ((ICraftingPatternProvider) stack.getItem()).create(world, stack, (ICraftingPatternContainer) container); - if (pattern != null) { - ICraftingTaskFactory factory = RefinedStorageAPI.CRAFTING_TASK_REGISTRY.getFactory(tag.getString(NBT_CRAFTING_TASK_TYPE)); + ICraftingTaskFactory factory = RefinedStorageAPI.CRAFTING_TASK_REGISTRY.getFactory(tag.getString(NBT_CRAFTING_TASK_TYPE)); - if (factory != null) { - ICraftingTask task = factory.create(tag, world, pattern); - - if (task != null) { - return task; - } - } + if (factory != null) { + return factory.create(world, tag, pattern); } } }