diff --git a/src/main/java/refinedstorage/tile/autocrafting/CraftingPattern.java b/src/main/java/refinedstorage/autocrafting/CraftingPattern.java similarity index 98% rename from src/main/java/refinedstorage/tile/autocrafting/CraftingPattern.java rename to src/main/java/refinedstorage/autocrafting/CraftingPattern.java index c338df720..28d4225a8 100755 --- a/src/main/java/refinedstorage/tile/autocrafting/CraftingPattern.java +++ b/src/main/java/refinedstorage/autocrafting/CraftingPattern.java @@ -1,4 +1,4 @@ -package refinedstorage.tile.autocrafting; +package refinedstorage.autocrafting; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -7,6 +7,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.common.util.Constants; import refinedstorage.item.ItemPattern; +import refinedstorage.tile.TileCrafter; public class CraftingPattern { public static final String NBT = "Pattern"; diff --git a/src/main/java/refinedstorage/tile/autocrafting/task/CraftingTaskScheduler.java b/src/main/java/refinedstorage/autocrafting/CraftingTaskScheduler.java similarity index 92% rename from src/main/java/refinedstorage/tile/autocrafting/task/CraftingTaskScheduler.java rename to src/main/java/refinedstorage/autocrafting/CraftingTaskScheduler.java index a2d16bc12..494114c49 100755 --- a/src/main/java/refinedstorage/tile/autocrafting/task/CraftingTaskScheduler.java +++ b/src/main/java/refinedstorage/autocrafting/CraftingTaskScheduler.java @@ -1,9 +1,8 @@ -package refinedstorage.tile.autocrafting.task; +package refinedstorage.autocrafting; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import refinedstorage.RefinedStorageUtils; -import refinedstorage.tile.autocrafting.CraftingPattern; import refinedstorage.tile.controller.TileController; public class CraftingTaskScheduler { diff --git a/src/main/java/refinedstorage/autocrafting/task/BasicCraftingTask.java b/src/main/java/refinedstorage/autocrafting/task/BasicCraftingTask.java new file mode 100755 index 000000000..2be602e33 --- /dev/null +++ b/src/main/java/refinedstorage/autocrafting/task/BasicCraftingTask.java @@ -0,0 +1,179 @@ +package refinedstorage.autocrafting.task; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.util.text.TextFormatting; +import net.minecraftforge.common.util.Constants; +import refinedstorage.RefinedStorageUtils; +import refinedstorage.autocrafting.CraftingPattern; +import refinedstorage.tile.controller.TileController; + +import java.util.ArrayList; +import java.util.List; + +public class BasicCraftingTask implements ICraftingTask { + public static final int ID = 0; + + public static final String NBT_SATISFIED = "Satisfied"; + public static final String NBT_CHECKED = "Checked"; + public static final String NBT_CHILD_TASKS = "ChildTasks"; + public static final String NBT_TOOK = "Took"; + + private CraftingPattern pattern; + private boolean satisfied[]; + private boolean checked[]; + private boolean childTasks[]; + private List itemsTook = new ArrayList(); + private boolean updatedOnce; + + public BasicCraftingTask(CraftingPattern pattern) { + this.pattern = pattern; + this.satisfied = new boolean[pattern.getInputs().length]; + this.checked = new boolean[pattern.getInputs().length]; + this.childTasks = new boolean[pattern.getInputs().length]; + } + + public BasicCraftingTask(NBTTagCompound tag, CraftingPattern pattern) { + this.pattern = pattern; + this.satisfied = RefinedStorageUtils.readBooleanArray(tag, NBT_SATISFIED); + this.checked = RefinedStorageUtils.readBooleanArray(tag, NBT_CHECKED); + this.childTasks = RefinedStorageUtils.readBooleanArray(tag, NBT_CHILD_TASKS); + + NBTTagList tookList = tag.getTagList(NBT_TOOK, Constants.NBT.TAG_COMPOUND); + + for (int i = 0; i < tookList.tagCount(); ++i) { + itemsTook.add(ItemStack.loadItemStackFromNBT(tookList.getCompoundTagAt(i))); + } + } + + public CraftingPattern getPattern() { + return pattern; + } + + public boolean update(TileController controller) { + this.updatedOnce = true; + + boolean done = true; + + for (int i = 0; i < pattern.getInputs().length; ++i) { + checked[i] = true; + + ItemStack input = pattern.getInputs()[i]; + + if (!satisfied[i]) { + done = false; + + ItemStack took = controller.take(input, 1); + + if (took != null) { + itemsTook.add(took); + + satisfied[i] = true; + } else if (!childTasks[i]) { + CraftingPattern pattern = controller.getPattern(input); + + if (pattern != null) { + controller.addCraftingTask(controller.createCraftingTask(pattern)); + + childTasks[i] = true; + } + + break; + } else { + break; + } + } + } + + return done; + } + + @Override + public void onDone(TileController controller) { + for (ItemStack output : pattern.getOutputs()) { + controller.push(output); + } + + if (pattern.getByproducts() != null) { + for (ItemStack byproduct : pattern.getByproducts()) { + controller.push(byproduct); + } + } + } + + @Override + public void onCancelled(TileController controller) { + for (ItemStack took : itemsTook) { + controller.push(took); + } + } + + @Override + public void writeToNBT(NBTTagCompound tag) { + NBTTagCompound patternTag = new NBTTagCompound(); + pattern.writeToNBT(patternTag); + tag.setTag(CraftingPattern.NBT, patternTag); + + RefinedStorageUtils.writeBooleanArray(tag, NBT_SATISFIED, satisfied); + RefinedStorageUtils.writeBooleanArray(tag, NBT_CHECKED, checked); + RefinedStorageUtils.writeBooleanArray(tag, NBT_CHILD_TASKS, childTasks); + + NBTTagList tookList = new NBTTagList(); + + for (ItemStack took : itemsTook) { + tookList.appendTag(took.serializeNBT()); + } + + tag.setTag(NBT_TOOK, tookList); + + tag.setInteger("Type", ID); + } + + @Override + public String getInfo() { + if (!updatedOnce) { + return "{not_started_yet}"; + } + + StringBuilder builder = new StringBuilder(); + + builder.append(TextFormatting.YELLOW).append("{missing_items}").append(TextFormatting.RESET).append("\n"); + + int missingItems = 0; + + for (int i = 0; i < pattern.getInputs().length; ++i) { + ItemStack input = pattern.getInputs()[i]; + + if (checked[i] && !satisfied[i] && !childTasks[i]) { + builder.append("- ").append(input.getDisplayName()).append("\n"); + + missingItems++; + } + } + + if (missingItems == 0) { + builder.append(TextFormatting.GRAY).append(TextFormatting.ITALIC).append("{none}").append(TextFormatting.RESET).append("\n"); + } + + builder.append(TextFormatting.YELLOW).append("{items_crafting}").append(TextFormatting.RESET).append("\n"); + + int itemsCrafting = 0; + + for (int i = 0; i < pattern.getInputs().length; ++i) { + ItemStack input = pattern.getInputs()[i]; + + if (!satisfied[i] && childTasks[i]) { + builder.append("- ").append(input.getUnlocalizedName()).append(".name").append("\n"); + + itemsCrafting++; + } + } + + if (itemsCrafting == 0) { + builder.append(TextFormatting.GRAY).append(TextFormatting.ITALIC).append("{none}").append(TextFormatting.RESET).append("\n"); + } + + return builder.toString(); + } +} diff --git a/src/main/java/refinedstorage/autocrafting/task/ICraftingTask.java b/src/main/java/refinedstorage/autocrafting/task/ICraftingTask.java new file mode 100755 index 000000000..8dba0752e --- /dev/null +++ b/src/main/java/refinedstorage/autocrafting/task/ICraftingTask.java @@ -0,0 +1,19 @@ +package refinedstorage.autocrafting.task; + +import net.minecraft.nbt.NBTTagCompound; +import refinedstorage.autocrafting.CraftingPattern; +import refinedstorage.tile.controller.TileController; + +public interface ICraftingTask { + CraftingPattern getPattern(); + + boolean update(TileController controller); + + void onDone(TileController controller); + + void onCancelled(TileController controller); + + void writeToNBT(NBTTagCompound tag); + + String getInfo(); +} diff --git a/src/main/java/refinedstorage/autocrafting/task/ProcessingCraftingTask.java b/src/main/java/refinedstorage/autocrafting/task/ProcessingCraftingTask.java new file mode 100755 index 000000000..54d1cf305 --- /dev/null +++ b/src/main/java/refinedstorage/autocrafting/task/ProcessingCraftingTask.java @@ -0,0 +1,191 @@ +package refinedstorage.autocrafting.task; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.text.TextFormatting; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.items.ItemHandlerHelper; +import refinedstorage.RefinedStorageUtils; +import refinedstorage.autocrafting.CraftingPattern; +import refinedstorage.tile.TileCrafter; +import refinedstorage.tile.controller.TileController; + +public class ProcessingCraftingTask implements ICraftingTask { + public static final int ID = 1; + + public static final String NBT_INSERTED = "Inserted"; + public static final String NBT_CHILD_TASKS = "ChildTasks"; + public static final String NBT_SATISFIED = "Satisfied"; + + private CraftingPattern pattern; + private boolean inserted[]; + private boolean childTasks[]; + private boolean satisfied[]; + private boolean updatedOnce; + + public ProcessingCraftingTask(CraftingPattern pattern) { + this.pattern = pattern; + this.inserted = new boolean[pattern.getInputs().length]; + this.childTasks = new boolean[pattern.getInputs().length]; + this.satisfied = new boolean[pattern.getOutputs().length]; + } + + public ProcessingCraftingTask(NBTTagCompound tag, CraftingPattern pattern) { + this.pattern = pattern; + this.inserted = RefinedStorageUtils.readBooleanArray(tag, NBT_INSERTED); + this.childTasks = RefinedStorageUtils.readBooleanArray(tag, NBT_CHILD_TASKS); + this.satisfied = RefinedStorageUtils.readBooleanArray(tag, NBT_SATISFIED); + } + + @Override + public CraftingPattern getPattern() { + return pattern; + } + + @Override + public boolean update(TileController controller) { + this.updatedOnce = true; + + TileCrafter crafter = pattern.getCrafter(controller.getWorld()); + IItemHandler handler = RefinedStorageUtils.getItemHandler(crafter.getFacingTile(), crafter.getDirection().getOpposite()); + + if (handler != null) { + for (int i = 0; i < inserted.length; ++i) { + if (!inserted[i]) { + ItemStack input = pattern.getInputs()[i]; + ItemStack took = controller.take(input, 1); + + if (took != null) { + if (ItemHandlerHelper.insertItem(handler, took, true) == null) { + ItemHandlerHelper.insertItem(handler, took, false); + + inserted[i] = true; + } else { + controller.push(took); + } + } else if (!childTasks[i]) { + CraftingPattern pattern = controller.getPattern(input); + + if (pattern != null) { + childTasks[i] = true; + + controller.addCraftingTask(controller.createCraftingTask(pattern)); + + break; + } + } else { + break; + } + } + } + } else { + return true; + } + + for (int i = 0; i < satisfied.length; ++i) { + if (!satisfied[i]) { + return false; + } + } + + return true; + } + + public void onPushed(ItemStack inserted) { + for (int i = 0; i < pattern.getOutputs().length; ++i) { + if (!satisfied[i] && RefinedStorageUtils.compareStackNoQuantity(inserted, pattern.getOutputs()[i])) { + satisfied[i] = true; + + return; + } + } + } + + @Override + public void onDone(TileController controller) { + // NO OP + } + + @Override + public void onCancelled(TileController controller) { + // NO OP + } + + @Override + public void writeToNBT(NBTTagCompound tag) { + NBTTagCompound patternTag = new NBTTagCompound(); + pattern.writeToNBT(patternTag); + tag.setTag(CraftingPattern.NBT, patternTag); + + RefinedStorageUtils.writeBooleanArray(tag, NBT_INSERTED, inserted); + RefinedStorageUtils.writeBooleanArray(tag, NBT_CHILD_TASKS, childTasks); + RefinedStorageUtils.writeBooleanArray(tag, NBT_SATISFIED, satisfied); + + tag.setInteger("Type", ID); + } + + @Override + public String getInfo() { + if (!updatedOnce) { + return "{not_started_yet}"; + } + + StringBuilder builder = new StringBuilder(); + + builder.append(TextFormatting.YELLOW).append("{missing_items}").append(TextFormatting.RESET).append("\n"); + + int missingItems = 0; + + for (int i = 0; i < pattern.getInputs().length; ++i) { + ItemStack input = pattern.getInputs()[i]; + + if (!inserted[i] && !childTasks[i]) { + builder.append("- ").append(input.getDisplayName()).append("\n"); + + missingItems++; + } + } + + if (missingItems == 0) { + builder.append(TextFormatting.GRAY).append(TextFormatting.ITALIC).append("{none}").append(TextFormatting.RESET).append("\n"); + } + + builder.append(TextFormatting.YELLOW).append("{items_crafting}").append(TextFormatting.RESET).append("\n"); + + int itemsCrafting = 0; + + for (int i = 0; i < pattern.getInputs().length; ++i) { + ItemStack input = pattern.getInputs()[i]; + + if (!inserted[i] && childTasks[i]) { + builder.append("- ").append(input.getUnlocalizedName()).append(".name").append("\n"); + + itemsCrafting++; + } + } + + if (itemsCrafting == 0) { + builder.append(TextFormatting.GRAY).append(TextFormatting.ITALIC).append("{none}").append(TextFormatting.RESET).append("\n"); + } + + builder.append(TextFormatting.YELLOW).append("{items_processing}").append(TextFormatting.RESET).append("\n"); + + int itemsProcessing = 0; + + for (int i = 0; i < pattern.getInputs().length; ++i) { + ItemStack input = pattern.getInputs()[i]; + + if (inserted[i]) { + builder.append("- ").append(input.getDisplayName()).append("\n"); + + itemsProcessing++; + } + } + + if (itemsProcessing == 0) { + builder.append(TextFormatting.GRAY).append(TextFormatting.ITALIC).append("{none}").append(TextFormatting.RESET).append("\n"); + } + + return builder.toString(); + } +} diff --git a/src/main/java/refinedstorage/block/BlockCrafter.java b/src/main/java/refinedstorage/block/BlockCrafter.java index 28737447f..52ecd181d 100755 --- a/src/main/java/refinedstorage/block/BlockCrafter.java +++ b/src/main/java/refinedstorage/block/BlockCrafter.java @@ -10,7 +10,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageGui; -import refinedstorage.tile.autocrafting.TileCrafter; +import refinedstorage.tile.TileCrafter; public class BlockCrafter extends BlockMachine { public BlockCrafter() { diff --git a/src/main/java/refinedstorage/block/BlockCraftingMonitor.java b/src/main/java/refinedstorage/block/BlockCraftingMonitor.java index 5469187f8..d722900e1 100755 --- a/src/main/java/refinedstorage/block/BlockCraftingMonitor.java +++ b/src/main/java/refinedstorage/block/BlockCraftingMonitor.java @@ -10,7 +10,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageGui; -import refinedstorage.tile.autocrafting.TileCraftingMonitor; +import refinedstorage.tile.TileCraftingMonitor; public class BlockCraftingMonitor extends BlockMachine { public BlockCraftingMonitor() { diff --git a/src/main/java/refinedstorage/block/BlockProcessingPatternEncoder.java b/src/main/java/refinedstorage/block/BlockProcessingPatternEncoder.java index 0a496973a..7ee8043ee 100755 --- a/src/main/java/refinedstorage/block/BlockProcessingPatternEncoder.java +++ b/src/main/java/refinedstorage/block/BlockProcessingPatternEncoder.java @@ -10,7 +10,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageGui; -import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder; +import refinedstorage.tile.TileProcessingPatternEncoder; public class BlockProcessingPatternEncoder extends BlockBase { public BlockProcessingPatternEncoder() { diff --git a/src/main/java/refinedstorage/container/ContainerCrafter.java b/src/main/java/refinedstorage/container/ContainerCrafter.java index be6c7a579..e855d19cf 100755 --- a/src/main/java/refinedstorage/container/ContainerCrafter.java +++ b/src/main/java/refinedstorage/container/ContainerCrafter.java @@ -4,7 +4,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraftforge.items.SlotItemHandler; -import refinedstorage.tile.autocrafting.TileCrafter; +import refinedstorage.tile.TileCrafter; public class ContainerCrafter extends ContainerStorage { public ContainerCrafter(EntityPlayer player, TileCrafter crafter) { diff --git a/src/main/java/refinedstorage/container/ContainerProcessingPatternEncoder.java b/src/main/java/refinedstorage/container/ContainerProcessingPatternEncoder.java index c907794d6..7f9ca2f05 100755 --- a/src/main/java/refinedstorage/container/ContainerProcessingPatternEncoder.java +++ b/src/main/java/refinedstorage/container/ContainerProcessingPatternEncoder.java @@ -4,7 +4,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.items.SlotItemHandler; import refinedstorage.container.slot.SlotOutput; import refinedstorage.container.slot.SlotSpecimen; -import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder; +import refinedstorage.tile.TileProcessingPatternEncoder; public class ContainerProcessingPatternEncoder extends ContainerBase { public ContainerProcessingPatternEncoder(EntityPlayer player, TileProcessingPatternEncoder processingPatternEncoder) { diff --git a/src/main/java/refinedstorage/gui/GuiCrafter.java b/src/main/java/refinedstorage/gui/GuiCrafter.java index a40db641b..11478b5d8 100755 --- a/src/main/java/refinedstorage/gui/GuiCrafter.java +++ b/src/main/java/refinedstorage/gui/GuiCrafter.java @@ -7,7 +7,7 @@ import refinedstorage.RefinedStorageUtils; import refinedstorage.container.ContainerCrafter; import refinedstorage.gui.sidebutton.SideButtonRedstoneMode; import refinedstorage.item.ItemPattern; -import refinedstorage.tile.autocrafting.TileCrafter; +import refinedstorage.tile.TileCrafter; public class GuiCrafter extends GuiBase { private TileCrafter crafter; diff --git a/src/main/java/refinedstorage/gui/GuiCraftingMonitor.java b/src/main/java/refinedstorage/gui/GuiCraftingMonitor.java index b6faef0e1..ab16ecbc5 100755 --- a/src/main/java/refinedstorage/gui/GuiCraftingMonitor.java +++ b/src/main/java/refinedstorage/gui/GuiCraftingMonitor.java @@ -8,7 +8,7 @@ import refinedstorage.RefinedStorageUtils; import refinedstorage.container.ContainerCraftingMonitor; import refinedstorage.gui.sidebutton.SideButtonRedstoneMode; import refinedstorage.network.MessageCraftingMonitorCancel; -import refinedstorage.tile.autocrafting.TileCraftingMonitor; +import refinedstorage.tile.TileCraftingMonitor; import java.io.IOException; import java.util.Arrays; diff --git a/src/main/java/refinedstorage/gui/GuiHandler.java b/src/main/java/refinedstorage/gui/GuiHandler.java index 68dd22853..851fe6c04 100755 --- a/src/main/java/refinedstorage/gui/GuiHandler.java +++ b/src/main/java/refinedstorage/gui/GuiHandler.java @@ -11,9 +11,6 @@ import refinedstorage.RefinedStorageUtils; import refinedstorage.container.*; import refinedstorage.storage.IStorageGui; import refinedstorage.tile.*; -import refinedstorage.tile.autocrafting.TileCrafter; -import refinedstorage.tile.autocrafting.TileCraftingMonitor; -import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder; import refinedstorage.tile.controller.TileController; import refinedstorage.tile.grid.TileGrid; import refinedstorage.tile.grid.WirelessGrid; diff --git a/src/main/java/refinedstorage/gui/GuiProcessingPatternEncoder.java b/src/main/java/refinedstorage/gui/GuiProcessingPatternEncoder.java index 3d0d8b2a3..d81f505cd 100755 --- a/src/main/java/refinedstorage/gui/GuiProcessingPatternEncoder.java +++ b/src/main/java/refinedstorage/gui/GuiProcessingPatternEncoder.java @@ -5,7 +5,7 @@ import net.minecraft.init.SoundEvents; import refinedstorage.RefinedStorage; import refinedstorage.container.ContainerProcessingPatternEncoder; import refinedstorage.network.MessageGridPatternCreate; -import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder; +import refinedstorage.tile.TileProcessingPatternEncoder; import java.io.IOException; diff --git a/src/main/java/refinedstorage/network/MessageCraftingMonitorCancel.java b/src/main/java/refinedstorage/network/MessageCraftingMonitorCancel.java index 87c1a228b..d34d83acb 100755 --- a/src/main/java/refinedstorage/network/MessageCraftingMonitorCancel.java +++ b/src/main/java/refinedstorage/network/MessageCraftingMonitorCancel.java @@ -5,7 +5,7 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; -import refinedstorage.tile.autocrafting.TileCraftingMonitor; +import refinedstorage.tile.TileCraftingMonitor; public class MessageCraftingMonitorCancel extends MessageHandlerPlayerToServer implements IMessage { private int x; diff --git a/src/main/java/refinedstorage/network/MessageGridPatternCreate.java b/src/main/java/refinedstorage/network/MessageGridPatternCreate.java index 4ebb2be84..9c221e2a7 100755 --- a/src/main/java/refinedstorage/network/MessageGridPatternCreate.java +++ b/src/main/java/refinedstorage/network/MessageGridPatternCreate.java @@ -6,7 +6,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraftforge.fml.common.network.simpleimpl.IMessage; import refinedstorage.block.EnumGridType; -import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder; +import refinedstorage.tile.TileProcessingPatternEncoder; import refinedstorage.tile.grid.TileGrid; public class MessageGridPatternCreate extends MessageHandlerPlayerToServer implements IMessage { diff --git a/src/main/java/refinedstorage/proxy/CommonProxy.java b/src/main/java/refinedstorage/proxy/CommonProxy.java index 8ddb750e4..66b8327c1 100755 --- a/src/main/java/refinedstorage/proxy/CommonProxy.java +++ b/src/main/java/refinedstorage/proxy/CommonProxy.java @@ -31,9 +31,6 @@ import refinedstorage.solderer.SoldererRecipeStorage; import refinedstorage.solderer.SoldererRecipeUpgrade; import refinedstorage.storage.NBTStorage; import refinedstorage.tile.*; -import refinedstorage.tile.autocrafting.TileCrafter; -import refinedstorage.tile.autocrafting.TileCraftingMonitor; -import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder; import refinedstorage.tile.controller.TileController; import refinedstorage.tile.grid.TileGrid; diff --git a/src/main/java/refinedstorage/tile/TileConstructor.java b/src/main/java/refinedstorage/tile/TileConstructor.java index e6414a60e..eb6b54e4d 100755 --- a/src/main/java/refinedstorage/tile/TileConstructor.java +++ b/src/main/java/refinedstorage/tile/TileConstructor.java @@ -18,11 +18,11 @@ import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import refinedstorage.RefinedStorageItems; import refinedstorage.RefinedStorageUtils; +import refinedstorage.autocrafting.CraftingTaskScheduler; import refinedstorage.container.ContainerConstructor; import refinedstorage.inventory.BasicItemHandler; import refinedstorage.inventory.BasicItemValidator; import refinedstorage.item.ItemUpgrade; -import refinedstorage.tile.autocrafting.task.CraftingTaskScheduler; import refinedstorage.tile.config.ICompareConfig; import java.lang.reflect.Field; diff --git a/src/main/java/refinedstorage/tile/autocrafting/TileCrafter.java b/src/main/java/refinedstorage/tile/TileCrafter.java similarity index 95% rename from src/main/java/refinedstorage/tile/autocrafting/TileCrafter.java rename to src/main/java/refinedstorage/tile/TileCrafter.java index d63c3548b..af7834419 100755 --- a/src/main/java/refinedstorage/tile/autocrafting/TileCrafter.java +++ b/src/main/java/refinedstorage/tile/TileCrafter.java @@ -1,4 +1,4 @@ -package refinedstorage.tile.autocrafting; +package refinedstorage.tile; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; @@ -11,14 +11,13 @@ import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.wrapper.CombinedInvWrapper; import refinedstorage.RefinedStorageItems; import refinedstorage.RefinedStorageUtils; +import refinedstorage.autocrafting.task.ICraftingTask; import refinedstorage.container.ContainerCrafter; import refinedstorage.inventory.BasicItemHandler; import refinedstorage.inventory.BasicItemValidator; import refinedstorage.inventory.IItemValidator; import refinedstorage.item.ItemPattern; import refinedstorage.item.ItemUpgrade; -import refinedstorage.tile.TileMachine; -import refinedstorage.tile.autocrafting.task.ICraftingTask; public class TileCrafter extends TileMachine { private BasicItemHandler patterns = new BasicItemHandler(PATTERN_SLOTS, this, new IItemValidator() { diff --git a/src/main/java/refinedstorage/tile/autocrafting/TileCraftingMonitor.java b/src/main/java/refinedstorage/tile/TileCraftingMonitor.java similarity index 94% rename from src/main/java/refinedstorage/tile/autocrafting/TileCraftingMonitor.java rename to src/main/java/refinedstorage/tile/TileCraftingMonitor.java index 917533cb7..956c7561d 100755 --- a/src/main/java/refinedstorage/tile/autocrafting/TileCraftingMonitor.java +++ b/src/main/java/refinedstorage/tile/TileCraftingMonitor.java @@ -1,12 +1,11 @@ -package refinedstorage.tile.autocrafting; +package refinedstorage.tile; import io.netty.buffer.ByteBuf; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.common.network.ByteBufUtils; +import refinedstorage.autocrafting.task.ICraftingTask; import refinedstorage.container.ContainerCraftingMonitor; -import refinedstorage.tile.TileMachine; -import refinedstorage.tile.autocrafting.task.ICraftingTask; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/refinedstorage/tile/TileExporter.java b/src/main/java/refinedstorage/tile/TileExporter.java index f657cc419..31af29715 100755 --- a/src/main/java/refinedstorage/tile/TileExporter.java +++ b/src/main/java/refinedstorage/tile/TileExporter.java @@ -11,11 +11,11 @@ import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemHandlerHelper; import refinedstorage.RefinedStorageItems; import refinedstorage.RefinedStorageUtils; +import refinedstorage.autocrafting.CraftingTaskScheduler; import refinedstorage.container.ContainerExporter; import refinedstorage.inventory.BasicItemHandler; import refinedstorage.inventory.BasicItemValidator; import refinedstorage.item.ItemUpgrade; -import refinedstorage.tile.autocrafting.task.CraftingTaskScheduler; import refinedstorage.tile.config.ICompareConfig; public class TileExporter extends TileMachine implements ICompareConfig { diff --git a/src/main/java/refinedstorage/tile/autocrafting/TileProcessingPatternEncoder.java b/src/main/java/refinedstorage/tile/TileProcessingPatternEncoder.java similarity index 97% rename from src/main/java/refinedstorage/tile/autocrafting/TileProcessingPatternEncoder.java rename to src/main/java/refinedstorage/tile/TileProcessingPatternEncoder.java index 8a6ed4682..918f310f7 100755 --- a/src/main/java/refinedstorage/tile/autocrafting/TileProcessingPatternEncoder.java +++ b/src/main/java/refinedstorage/tile/TileProcessingPatternEncoder.java @@ -1,4 +1,4 @@ -package refinedstorage.tile.autocrafting; +package refinedstorage.tile; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -11,7 +11,6 @@ import refinedstorage.RefinedStorageUtils; import refinedstorage.inventory.BasicItemHandler; import refinedstorage.inventory.BasicItemValidator; import refinedstorage.item.ItemPattern; -import refinedstorage.tile.TileBase; public class TileProcessingPatternEncoder extends TileBase { private BasicItemHandler patterns = new BasicItemHandler(2, this, new BasicItemValidator(RefinedStorageItems.PATTERN)); diff --git a/src/main/java/refinedstorage/tile/controller/StorageHandler.java b/src/main/java/refinedstorage/tile/controller/StorageHandler.java index 14fce003f..0fa2b9c58 100755 --- a/src/main/java/refinedstorage/tile/controller/StorageHandler.java +++ b/src/main/java/refinedstorage/tile/controller/StorageHandler.java @@ -3,10 +3,10 @@ package refinedstorage.tile.controller; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import refinedstorage.RefinedStorageUtils; +import refinedstorage.autocrafting.CraftingPattern; +import refinedstorage.autocrafting.task.ICraftingTask; import refinedstorage.item.ItemWirelessGrid; import refinedstorage.network.GridPullFlags; -import refinedstorage.tile.autocrafting.CraftingPattern; -import refinedstorage.tile.autocrafting.task.ICraftingTask; public class StorageHandler { public static final int MAX_CRAFTING_PER_REQUEST = 500; diff --git a/src/main/java/refinedstorage/tile/controller/TileController.java b/src/main/java/refinedstorage/tile/controller/TileController.java index 3a435f4d2..1c9969da9 100755 --- a/src/main/java/refinedstorage/tile/controller/TileController.java +++ b/src/main/java/refinedstorage/tile/controller/TileController.java @@ -17,6 +17,10 @@ import net.minecraftforge.items.ItemHandlerHelper; import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageBlocks; import refinedstorage.RefinedStorageUtils; +import refinedstorage.autocrafting.CraftingPattern; +import refinedstorage.autocrafting.task.BasicCraftingTask; +import refinedstorage.autocrafting.task.ICraftingTask; +import refinedstorage.autocrafting.task.ProcessingCraftingTask; import refinedstorage.block.BlockController; import refinedstorage.block.EnumControllerType; import refinedstorage.container.ContainerController; @@ -25,15 +29,7 @@ import refinedstorage.item.ItemPattern; import refinedstorage.network.MessageGridItems; import refinedstorage.storage.IStorage; import refinedstorage.storage.IStorageProvider; -import refinedstorage.tile.ISynchronizedContainer; -import refinedstorage.tile.TileBase; -import refinedstorage.tile.TileMachine; -import refinedstorage.tile.TileWirelessTransmitter; -import refinedstorage.tile.autocrafting.CraftingPattern; -import refinedstorage.tile.autocrafting.TileCrafter; -import refinedstorage.tile.autocrafting.task.BasicCraftingTask; -import refinedstorage.tile.autocrafting.task.ICraftingTask; -import refinedstorage.tile.autocrafting.task.ProcessingCraftingTask; +import refinedstorage.tile.*; import refinedstorage.tile.config.IRedstoneModeConfig; import refinedstorage.tile.config.RedstoneMode;