diff --git a/CHANGELOG.md b/CHANGELOG.md index 2751e23e3..fcd6f1956 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ WIP **TODO** - Fix wrong quantity per craft -- Better way to do crafting upgrades +- New scheduling system in interface too - Textures - Update wiki diff --git a/src/main/java/refinedstorage/tile/TileExporter.java b/src/main/java/refinedstorage/tile/TileExporter.java index cb0303336..813214a6d 100755 --- a/src/main/java/refinedstorage/tile/TileExporter.java +++ b/src/main/java/refinedstorage/tile/TileExporter.java @@ -11,7 +11,6 @@ import refinedstorage.RefinedStorageUtils; import refinedstorage.container.ContainerExporter; import refinedstorage.inventory.InventorySimple; import refinedstorage.item.ItemUpgrade; -import refinedstorage.tile.autocrafting.CraftingPattern; import refinedstorage.tile.config.ICompareConfig; public class TileExporter extends TileMachine implements ICompareConfig { @@ -22,6 +21,8 @@ public class TileExporter extends TileMachine implements ICompareConfig { private int compare = 0; + private CraftingTaskScheduler scheduler = new CraftingTaskScheduler(); + @Override public int getEnergyUsage() { return 2; @@ -45,16 +46,16 @@ public class TileExporter extends TileMachine implements ICompareConfig { ItemStack took = controller.take(toTake, compare); if (took != null) { + scheduler.resetSchedule(); + ItemStack remaining = TileEntityHopper.putStackInInventoryAllSlots(connectedInventory, took, getDirection().getOpposite()); if (remaining != null) { controller.push(remaining); } } else if (RefinedStorageUtils.hasUpgrade(upgradesInventory, ItemUpgrade.TYPE_CRAFTING)) { - CraftingPattern pattern = controller.getPattern(slot, compare); - - if (pattern != null && !controller.hasCraftingTask(pattern, compare)) { - controller.addCraftingTask(pattern); + if (scheduler.canSchedule(compare, slot)) { + scheduler.schedule(controller, compare, slot); } } } @@ -85,6 +86,8 @@ public class TileExporter extends TileMachine implements ICompareConfig { RefinedStorageUtils.restoreInventory(inventory, 0, nbt); RefinedStorageUtils.restoreInventory(upgradesInventory, 1, nbt); + + scheduler.readFromNBT(nbt); } @Override @@ -95,6 +98,8 @@ public class TileExporter extends TileMachine implements ICompareConfig { RefinedStorageUtils.saveInventory(inventory, 0, nbt); RefinedStorageUtils.saveInventory(upgradesInventory, 1, nbt); + + scheduler.writeToNBT(nbt); } @Override