diff --git a/src/main/java/refinedstorage/apiimpl/autocrafting/CraftingPattern.java b/src/main/java/refinedstorage/apiimpl/autocrafting/CraftingPattern.java index a7448b4b5..0a6556b1a 100755 --- a/src/main/java/refinedstorage/apiimpl/autocrafting/CraftingPattern.java +++ b/src/main/java/refinedstorage/apiimpl/autocrafting/CraftingPattern.java @@ -51,11 +51,11 @@ public class CraftingPattern implements ICraftingPattern { if (output != null) { outputs.add(output.copy()); - } - for (ItemStack remaining : CraftingManager.getInstance().getRemainingItems(dummyInventory, world)) { - if (remaining != null) { - outputs.add(remaining.copy()); + for (ItemStack remaining : CraftingManager.getInstance().getRemainingItems(dummyInventory, world)) { + if (remaining != null) { + outputs.add(remaining.copy()); + } } } } else { diff --git a/src/main/java/refinedstorage/item/ItemPattern.java b/src/main/java/refinedstorage/item/ItemPattern.java index 25e3faedc..4c4c673f1 100755 --- a/src/main/java/refinedstorage/item/ItemPattern.java +++ b/src/main/java/refinedstorage/item/ItemPattern.java @@ -49,7 +49,7 @@ public class ItemPattern extends ItemBase implements ICraftingPatternProvider { combineItems(tooltip, true, Iterables.toArray(pattern.getOutputs(), ItemStack.class)); } else { - tooltip.add(TextFormatting.RED + "Invalid pattern, please re-make!"); + tooltip.add(TextFormatting.RED + I18n.format("misc.refinedstorage:pattern.invalid") + TextFormatting.RESET); } } diff --git a/src/main/java/refinedstorage/tile/TileCrafter.java b/src/main/java/refinedstorage/tile/TileCrafter.java index 231be5fc2..87304f7c3 100755 --- a/src/main/java/refinedstorage/tile/TileCrafter.java +++ b/src/main/java/refinedstorage/tile/TileCrafter.java @@ -1,5 +1,6 @@ package refinedstorage.tile; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; import net.minecraftforge.common.capabilities.Capability; @@ -28,6 +29,8 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer { private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, this, ItemUpgrade.TYPE_SPEED); + private boolean didLegacyPatternConversion; + @Override public int getEnergyUsage() { int usage = RefinedStorage.INSTANCE.crafterUsage + upgrades.getEnergyUsage(); @@ -41,6 +44,22 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer { return usage; } + public void update() { + super.update(); + + if (!worldObj.isRemote && !didLegacyPatternConversion) { + for (int i = 0; i < patterns.getSlots(); ++i) { + ItemStack slot = patterns.getStackInSlot(i); + + if (slot != null && slot.hasTagCompound() && slot.getTagCompound().hasKey("Inputs")) { + // @TODO: Legacy pattern conversion + } + } + + didLegacyPatternConversion = true; + } + } + @Override public void updateNode() { } diff --git a/src/main/resources/assets/refinedstorage/lang/en_US.lang b/src/main/resources/assets/refinedstorage/lang/en_US.lang index 0531d42df..ab46de702 100755 --- a/src/main/resources/assets/refinedstorage/lang/en_US.lang +++ b/src/main/resources/assets/refinedstorage/lang/en_US.lang @@ -59,6 +59,7 @@ misc.refinedstorage:network_card.tooltip=Linked to %d, %d, %d. misc.refinedstorage:pattern.inputs=Inputs misc.refinedstorage:pattern.outputs=Outputs +misc.refinedstorage:pattern.invalid=Invalid pattern misc.refinedstorage:start=Start misc.refinedstorage:clear=Clear