From 3f78747744b0f02a426d8ba4b5f7598daf965bcc Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sat, 4 Jun 2016 12:11:17 +0200 Subject: [PATCH] Fix --- .../api/solderer/SoldererRegistry.java | 8 +- .../jei/SoldererRecipeMaker.java | 2 +- .../autocrafting/task/BasicCraftingTask.java | 179 ---------------- .../tile/autocrafting/task/ICraftingTask.java | 19 -- .../task/ProcessingCraftingTask.java | 191 ------------------ 5 files changed, 3 insertions(+), 396 deletions(-) delete mode 100755 src/main/java/refinedstorage/tile/autocrafting/task/BasicCraftingTask.java delete mode 100755 src/main/java/refinedstorage/tile/autocrafting/task/ICraftingTask.java delete mode 100755 src/main/java/refinedstorage/tile/autocrafting/task/ProcessingCraftingTask.java diff --git a/src/main/java/refinedstorage/api/solderer/SoldererRegistry.java b/src/main/java/refinedstorage/api/solderer/SoldererRegistry.java index 685fc3c8f..a0874dd1d 100755 --- a/src/main/java/refinedstorage/api/solderer/SoldererRegistry.java +++ b/src/main/java/refinedstorage/api/solderer/SoldererRegistry.java @@ -25,19 +25,15 @@ public class SoldererRegistry { /** * @return An immutable recipe list */ - public ImmutableList getRecipes() { + public static ImmutableList getRecipes() { return ImmutableList.copyOf(recipes); } /** - * @param items The item handler that has 3 slots + * @param items The item handler, where slots 0 - 2 are the row slots * @return The recipe */ public static ISoldererRecipe getRecipe(IItemHandler items) { - if (items.getSlots() != 3) { - throw new IllegalArgumentException("Expected a item handler with 3 slots, got " + items.getSlots() + " slots"); - } - for (ISoldererRecipe recipe : recipes) { boolean found = true; diff --git a/src/main/java/refinedstorage/jei/SoldererRecipeMaker.java b/src/main/java/refinedstorage/jei/SoldererRecipeMaker.java index b7a37e4c3..e695ccba3 100755 --- a/src/main/java/refinedstorage/jei/SoldererRecipeMaker.java +++ b/src/main/java/refinedstorage/jei/SoldererRecipeMaker.java @@ -11,7 +11,7 @@ public class SoldererRecipeMaker { public static List getRecipes() { List recipes = new ArrayList(); - for (ISoldererRecipe recipe : SoldererRegistry.recipes) { + for (ISoldererRecipe recipe : SoldererRegistry.getRecipes()) { List inputs = new ArrayList(); inputs.add(recipe.getRow(0)); diff --git a/src/main/java/refinedstorage/tile/autocrafting/task/BasicCraftingTask.java b/src/main/java/refinedstorage/tile/autocrafting/task/BasicCraftingTask.java deleted file mode 100755 index 615e8feb6..000000000 --- a/src/main/java/refinedstorage/tile/autocrafting/task/BasicCraftingTask.java +++ /dev/null @@ -1,179 +0,0 @@ -package refinedstorage.tile.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.tile.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/tile/autocrafting/task/ICraftingTask.java b/src/main/java/refinedstorage/tile/autocrafting/task/ICraftingTask.java deleted file mode 100755 index aa8ffd06f..000000000 --- a/src/main/java/refinedstorage/tile/autocrafting/task/ICraftingTask.java +++ /dev/null @@ -1,19 +0,0 @@ -package refinedstorage.tile.autocrafting.task; - -import net.minecraft.nbt.NBTTagCompound; -import refinedstorage.tile.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/tile/autocrafting/task/ProcessingCraftingTask.java b/src/main/java/refinedstorage/tile/autocrafting/task/ProcessingCraftingTask.java deleted file mode 100755 index 3a91301a4..000000000 --- a/src/main/java/refinedstorage/tile/autocrafting/task/ProcessingCraftingTask.java +++ /dev/null @@ -1,191 +0,0 @@ -package refinedstorage.tile.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.tile.autocrafting.CraftingPattern; -import refinedstorage.tile.autocrafting.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(); - } -}