From fe1f7e0f2aa12a3c344146119d7012583a4f47f8 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Wed, 4 May 2016 21:24:03 +0200 Subject: [PATCH] Bugfixes --- CHANGELOG.md | 7 +++++++ .../refinedstorage/proxy/CommonProxy.java | 17 +++++++++++++++- .../refinedstorage/tile/TileController.java | 20 +++++++++++++------ .../autocrafting/task/BasicCraftingTask.java | 2 +- 4 files changed, 38 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5999fd56c..a33ae3866 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ ### 0.6 WIP +**TODO** +- Saving crafting task state +- Cancelling crafting tasks +- "Craft if needed" upgrade on exporter, constructor and interface +- Textures +- Update wiki + ### 0.5.6 **Bugfixes** - Fix sorting crash diff --git a/src/main/java/refinedstorage/proxy/CommonProxy.java b/src/main/java/refinedstorage/proxy/CommonProxy.java index b485d3d98..805972232 100755 --- a/src/main/java/refinedstorage/proxy/CommonProxy.java +++ b/src/main/java/refinedstorage/proxy/CommonProxy.java @@ -14,7 +14,10 @@ import net.minecraftforge.fml.relauncher.Side; import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageBlocks; import refinedstorage.RefinedStorageItems; -import refinedstorage.block.*; +import refinedstorage.block.BlockBase; +import refinedstorage.block.EnumControllerType; +import refinedstorage.block.EnumGridType; +import refinedstorage.block.EnumStorageType; import refinedstorage.gui.GuiHandler; import refinedstorage.item.*; import refinedstorage.network.*; @@ -235,6 +238,18 @@ public class CommonProxy { 'M', new ItemStack(RefinedStorageBlocks.MACHINE_CASING) ); + // Processing Pattern Encoder + GameRegistry.addRecipe(new ItemStack(RefinedStorageBlocks.PROCESSING_PATTERN_ENCODER), + "ECE", + "PMP", + "EFE", + 'E', new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON), + 'M', new ItemStack(RefinedStorageBlocks.MACHINE_CASING), + 'P', new ItemStack(RefinedStorageItems.PATTERN), + 'C', new ItemStack(Blocks.crafting_table), + 'F', new ItemStack(Blocks.furnace) + ); + // External Storage GameRegistry.addRecipe(new ItemStack(RefinedStorageBlocks.EXTERNAL_STORAGE), "CED", diff --git a/src/main/java/refinedstorage/tile/TileController.java b/src/main/java/refinedstorage/tile/TileController.java index bcb7111ea..27b2d7e58 100755 --- a/src/main/java/refinedstorage/tile/TileController.java +++ b/src/main/java/refinedstorage/tile/TileController.java @@ -63,6 +63,7 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor private List patterns = new ArrayList(); private List craftingTasks = new ArrayList(); + private List craftingTasksToAdd = new ArrayList(); private Set visited = new HashSet(); @@ -172,6 +173,9 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor } } + craftingTasks.addAll(craftingTasksToAdd); + craftingTasksToAdd.clear(); + Iterator craftingTaskIterator = craftingTasks.iterator(); while (craftingTaskIterator.hasNext()) { @@ -253,7 +257,15 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor } public void addCraftingTask(ICraftingTask task) { - craftingTasks.add(task); + craftingTasksToAdd.add(task); + } + + public void addCraftingTaskForPattern(CraftingPattern pattern) { + if (pattern.isProcessing()) { + addCraftingTask(new ProcessingCraftingTask(pattern)); + } else { + addCraftingTask(new BasicCraftingTask(pattern)); + } } public List getPatterns() { @@ -704,11 +716,7 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor while (quantity > 0) { if (pattern != null) { - if (pattern.isProcessing()) { - addCraftingTask(new ProcessingCraftingTask(pattern)); - } else { - addCraftingTask(new BasicCraftingTask(pattern)); - } + addCraftingTaskForPattern(pattern); quantity -= quantityPerRequest; } else { diff --git a/src/main/java/refinedstorage/tile/autocrafting/task/BasicCraftingTask.java b/src/main/java/refinedstorage/tile/autocrafting/task/BasicCraftingTask.java index afe90ee50..7b4183d3a 100755 --- a/src/main/java/refinedstorage/tile/autocrafting/task/BasicCraftingTask.java +++ b/src/main/java/refinedstorage/tile/autocrafting/task/BasicCraftingTask.java @@ -36,7 +36,7 @@ public class BasicCraftingTask implements ICraftingTask { CraftingPattern pattern = controller.getPatternForItem(input); if (pattern != null) { - controller.addCraftingTask(new BasicCraftingTask(pattern)); + controller.addCraftingTaskForPattern(pattern); childTasks[i] = true;