From 1b9b081a95357b187800a6582fce53d876c65b3e Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sun, 23 Oct 2016 15:02:02 +0200 Subject: [PATCH] Renames and formatting fixes --- .../ICraftingPatternContainer.java | 3 ++ .../api/autocrafting/task/ICraftingStep.java | 13 +++-- .../refinedstorage/apiimpl/API.java | 8 +-- .../CraftingMonitorElementFluidRender.java | 2 + .../CraftingMonitorElementItemRender.java | 2 + .../CraftingMonitorElementList.java | 5 ++ .../registry/CraftingTaskFactory.java | 40 +++++++------- ...actCraftingStep.java => CraftingStep.java} | 15 ++++-- ...aftingStep.java => CraftingStepCraft.java} | 8 +-- ...tingStep.java => CraftingStepProcess.java} | 11 ++-- .../autocrafting/task/CraftingTask.java | 54 ++++++++++--------- .../apiimpl/util/FluidStackList.java | 2 +- .../apiimpl/util/ItemStackList.java | 5 +- .../gui/sidebutton/SideButtonAccessType.java | 1 - 14 files changed, 98 insertions(+), 71 deletions(-) mode change 100644 => 100755 src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingStep.java mode change 100644 => 100755 src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementList.java rename src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/{AbstractCraftingStep.java => CraftingStep.java} (94%) mode change 100644 => 100755 rename src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/{CraftCraftingStep.java => CraftingStepCraft.java} (93%) mode change 100644 => 100755 rename src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/{ProcessCraftingStep.java => CraftingStepProcess.java} (82%) mode change 100644 => 100755 diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java index 5c3cd6526..99d0e7f50 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java @@ -20,6 +20,9 @@ public interface ICraftingPatternContainer { */ IItemHandler getFacingInventory(); + /** + * @return the tile that this container is facing + */ TileEntity getFacingTile(); /** diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingStep.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingStep.java old mode 100644 new mode 100755 index 0efa95bb1..dc4a2b977 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingStep.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingStep.java @@ -25,7 +25,7 @@ public interface ICraftingStep { List getToInsert(); /** - * Check if the processing can start + * Check if the processing can start. * * @param items a list to compare the needed {@link ItemStack} inputs against * @param fluids a list to compare the needed {@link net.minecraftforge.fluids.FluidStack} inputs against (eg. a bucket, machine insert) @@ -33,14 +33,19 @@ public interface ICraftingStep { */ boolean canStartProcessing(IItemStackList items, IFluidStackList fluids); + /** + * When called, this step will be marked as started processing. + */ void setStartedProcessing(); + /** + * @return whether this step has started processing + */ boolean hasStartedProcessing(); /** - * Execute this step - * Any items to be added to the network should be inserting into these queues - * and they'll be managed by the {@link ICraftingTask} + * Execute this step. + * Any items to be added to the network should be inserting into these queues and they'll be managed by the {@link ICraftingTask}. * * @param toInsertItems a queue of items to be inserted into the network * @param toInsertFluids a queue of fluids to be inserted into the network diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/API.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/API.java index c186cf314..995609a54 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/API.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/API.java @@ -53,14 +53,14 @@ public class API implements IRSAPI { return craftingTaskRegistry; } - @Nonnull @Override + @Nonnull public ICraftingMonitorElementRegistry getCraftingMonitorElementRegistry() { return craftingMonitorElementRegistry; } - @Nonnull @Override + @Nonnull public ICraftingPreviewElementRegistry getCraftingPreviewElementRegistry() { return craftingPreviewElementRegistry; } @@ -71,14 +71,14 @@ public class API implements IRSAPI { return new ItemStackList(); } - @Nonnull @Override + @Nonnull public IFluidStackList createFluidStackList() { return new FluidStackList(); } - @Nonnull @Override + @Nonnull public ICraftingMonitorElementList createCraftingMonitorElementList() { return new CraftingMonitorElementList(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementFluidRender.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementFluidRender.java index aa9684ef6..b1c8e9675 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementFluidRender.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementFluidRender.java @@ -65,8 +65,10 @@ public class CraftingMonitorElementFluidRender implements ICraftingMonitorElemen public boolean merge(ICraftingMonitorElement element) { if (element.getId().equals(getId()) && elementHashCode() == element.elementHashCode()) { this.stack.amount += ((CraftingMonitorElementFluidRender) element).stack.amount; + return true; } + return false; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementItemRender.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementItemRender.java index 4c7e36e47..8563b3d26 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementItemRender.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementItemRender.java @@ -68,8 +68,10 @@ public class CraftingMonitorElementItemRender implements ICraftingMonitorElement public boolean merge(ICraftingMonitorElement element) { if (element.getId().equals(getId()) && elementHashCode() == element.elementHashCode()) { this.quantity += ((CraftingMonitorElementItemRender) element).quantity; + return true; } + return false; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementList.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementList.java old mode 100644 new mode 100755 index 7d5c6cd26..4efdc4bea --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementList.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementList.java @@ -17,15 +17,19 @@ public class CraftingMonitorElementList implements ICraftingMonitorElementList { @Override public void add(ICraftingMonitorElement element) { Map currentElements = currentLists.get(element.getId()); + if (currentElements == null) { currentElements = new HashMap<>(); } + ICraftingMonitorElement exitingElement = currentElements.get(element.elementHashCode()); + if (exitingElement == null) { exitingElement = element; } else { exitingElement.merge(element); } + currentElements.put(exitingElement.elementHashCode(), exitingElement); currentLists.put(exitingElement.getId(), currentElements); } @@ -41,6 +45,7 @@ public class CraftingMonitorElementList implements ICraftingMonitorElementList { if (!currentLists.isEmpty()) { commit(); } + return elements; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactory.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactory.java index 4ac31f1ff..a99b569b4 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactory.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/registry/CraftingTaskFactory.java @@ -3,14 +3,14 @@ package com.raoulvdberge.refinedstorage.apiimpl.autocrafting.registry; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; import com.raoulvdberge.refinedstorage.api.autocrafting.registry.ICraftingTaskFactory; -import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask; import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingStep; +import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; import com.raoulvdberge.refinedstorage.api.util.IFluidStackList; -import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.CraftCraftingStep; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.CraftingStep; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.CraftingStepCraft; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.CraftingStepProcess; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.CraftingTask; -import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.AbstractCraftingStep; -import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.ProcessCraftingStep; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; @@ -32,28 +32,26 @@ public class CraftingTaskFactory implements ICraftingTaskFactory { @Nonnull public ICraftingTask create(World world, INetworkMaster network, @Nullable ItemStack stack, ICraftingPattern pattern, int quantity, @Nullable NBTTagCompound tag) { if (tag != null) { - NBTTagList toProcessList = tag.getTagList(CraftingTask.NBT_TO_PROCESS, Constants.NBT.TAG_COMPOUND); + NBTTagList stepsList = tag.getTagList(CraftingTask.NBT_STEPS, Constants.NBT.TAG_COMPOUND); - List toProcess = new ArrayList<>(); + List steps = new ArrayList<>(); - for (int i = 0; i < toProcessList.tagCount(); ++i) { - NBTTagCompound compound = toProcessList.getCompoundTagAt(i); - AbstractCraftingStep abstractCraftingStep; - switch (compound.getString(AbstractCraftingStep.NBT_CRAFTING_STEP_TYPE)) - { - case CraftCraftingStep.ID: - abstractCraftingStep = new CraftCraftingStep(network); + for (int i = 0; i < stepsList.tagCount(); ++i) { + NBTTagCompound stepTag = stepsList.getCompoundTagAt(i); + + CraftingStep step = null; + + switch (stepTag.getString(CraftingStep.NBT_CRAFTING_STEP_TYPE)) { + case CraftingStepCraft.ID: + step = new CraftingStepCraft(network); break; - case ProcessCraftingStep.ID: - abstractCraftingStep = new ProcessCraftingStep(network); - break; - default: - abstractCraftingStep = null; + case CraftingStepProcess.ID: + step = new CraftingStepProcess(network); break; } - if (abstractCraftingStep != null && abstractCraftingStep.readFromNBT(compound)) { - toProcess.add(abstractCraftingStep); + if (step != null && step.readFromNBT(stepTag)) { + steps.add(step); } } @@ -85,7 +83,7 @@ public class CraftingTaskFactory implements ICraftingTaskFactory { } } - return new CraftingTask(network, stack, pattern, quantity, toProcess, toInsert, toTakeFluids, tookFluids, toInsertFluids); + return new CraftingTask(network, stack, pattern, quantity, steps, toInsert, toTakeFluids, tookFluids, toInsertFluids); } return new CraftingTask(network, stack, pattern, quantity); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/AbstractCraftingStep.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStep.java old mode 100644 new mode 100755 similarity index 94% rename from src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/AbstractCraftingStep.java rename to src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStep.java index 4b0dda3a5..8c4e492e7 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/AbstractCraftingStep.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStep.java @@ -10,14 +10,19 @@ import com.raoulvdberge.refinedstorage.api.util.IFluidStackList; import com.raoulvdberge.refinedstorage.api.util.IItemStackList; import com.raoulvdberge.refinedstorage.apiimpl.API; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound;; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; -import java.util.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; -public abstract class AbstractCraftingStep implements ICraftingStep { +; + +public abstract class CraftingStep implements ICraftingStep { public static final String NBT_CRAFTING_STEP_TYPE = "CraftingStepType"; private static final String NBT_SATISFIED = "Satisfied_%d"; private static final String NBT_PATTERN = "Pattern"; @@ -29,13 +34,13 @@ public abstract class AbstractCraftingStep implements ICraftingStep { protected Map satisfied; protected boolean startedProcessing; - public AbstractCraftingStep(INetworkMaster network, ICraftingPattern pattern) { + public CraftingStep(INetworkMaster network, ICraftingPattern pattern) { this.network = network; this.pattern = pattern; this.satisfied = new HashMap<>(getPattern().getOutputs().size()); } - public AbstractCraftingStep(INetworkMaster network) { + public CraftingStep(INetworkMaster network) { this.network = network; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftCraftingStep.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStepCraft.java old mode 100644 new mode 100755 similarity index 93% rename from src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftCraftingStep.java rename to src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStepCraft.java index 7529fcc19..3cb7f097a --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftCraftingStep.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStepCraft.java @@ -14,14 +14,14 @@ import net.minecraftforge.items.ItemHandlerHelper; import java.util.Deque; -public class CraftCraftingStep extends AbstractCraftingStep { - public static final String ID = "CraftCraftingStep"; +public class CraftingStepCraft extends CraftingStep { + public static final String ID = "craft"; - public CraftCraftingStep(INetworkMaster network, ICraftingPattern pattern) { + public CraftingStepCraft(INetworkMaster network, ICraftingPattern pattern) { super(network, pattern); } - public CraftCraftingStep(INetworkMaster network) { + public CraftingStepCraft(INetworkMaster network) { super(network); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/ProcessCraftingStep.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStepProcess.java old mode 100644 new mode 100755 similarity index 82% rename from src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/ProcessCraftingStep.java rename to src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStepProcess.java index 90b83678f..2d6116f60 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/ProcessCraftingStep.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStepProcess.java @@ -11,20 +11,20 @@ import net.minecraftforge.items.ItemHandlerHelper; import java.util.Deque; -public class ProcessCraftingStep extends AbstractCraftingStep { - public static final String ID = "ProcessCraftingStep"; +public class CraftingStepProcess extends CraftingStep { + public static final String ID = "process"; - public ProcessCraftingStep(INetworkMaster network, ICraftingPattern pattern) { + public CraftingStepProcess(INetworkMaster network, ICraftingPattern pattern) { super(network, pattern); } - public ProcessCraftingStep(INetworkMaster network) { + public CraftingStepProcess(INetworkMaster network) { super(network); } @Override public void execute(Deque toInsertItems, Deque toInsertFluids) { - // TODO fluid handling + // @TODO: fluid handling IItemHandler inventory = getPattern().getContainer().getFacingInventory(); for (ItemStack insertStack : getToInsert()) { ItemStack tookStack = network.extractItem(insertStack, insertStack.stackSize, CraftingTask.DEFAULT_COMPARE | (getPattern().isOredict() ? IComparer.COMPARE_OREDICT : 0)); @@ -35,6 +35,7 @@ public class ProcessCraftingStep extends AbstractCraftingStep { @Override public NBTTagCompound writeToNBT(NBTTagCompound tag) { tag.setString(NBT_CRAFTING_STEP_TYPE, ID); + return super.writeToNBT(tag); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java index 6123933ed..9459c94cc 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingTask.java @@ -6,8 +6,8 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternContaine import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement; import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElementList; import com.raoulvdberge.refinedstorage.api.autocrafting.preview.ICraftingPreviewElement; -import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask; import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingStep; +import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IFluidStackList; @@ -32,7 +32,7 @@ import java.util.stream.Collectors; public class CraftingTask implements ICraftingTask { protected static final int DEFAULT_COMPARE = IComparer.COMPARE_DAMAGE | IComparer.COMPARE_NBT; - public static final String NBT_TO_PROCESS = "ToProcess"; + public static final String NBT_STEPS = "Steps"; public static final String NBT_TO_TAKE_FLUIDS = "ToTakeFluids"; public static final String NBT_TO_INSERT_ITEMS = "ToInsertItems"; public static final String NBT_TO_INSERT_FLUIDS = "ToInsertFluids"; @@ -76,7 +76,9 @@ public class CraftingTask implements ICraftingTask { IItemStackList toInsert = API.instance().createItemStackList(); toCraft.add(ItemHandlerHelper.copyStackWithSize(requested, quantity)); + int quantity = this.quantity; + while (quantity > 0 && !recurseFound) { calculate(networkList, pattern, toInsert); quantity -= pattern.getQuantityPerRequest(requested); @@ -147,9 +149,9 @@ public class CraftingTask implements ICraftingTask { } if (pattern.isProcessing()) { - steps.add(new ProcessCraftingStep(network, pattern)); + steps.add(new CraftingStepProcess(network, pattern)); } else { - steps.add(new CraftCraftingStep(network, pattern)); + steps.add(new CraftingStepCraft(network, pattern)); } if (missing.isEmpty()) { @@ -250,7 +252,11 @@ public class CraftingTask implements ICraftingTask { for (ICraftingStep step : steps) { ICraftingPatternContainer container = step.getPattern().getContainer(); Integer timesUsed = usedContainers.get(container); - if (timesUsed == null) timesUsed = 0; + + if (timesUsed == null) { + timesUsed = 0; + } + if (timesUsed++ <= container.getSpeedUpdateCount()) { if (!step.hasStartedProcessing() && step.canStartProcessing(network.getItemStorageCache().getList(), tookFluids) && canProcess(step)) { step.setStartedProcessing(); @@ -261,13 +267,13 @@ public class CraftingTask implements ICraftingTask { } } - // We need to copy the size cause we'll readd unadded stacks to the queue + // We need to copy the size cause we'll re-add unadded stacks to the queue int times = toInsertItems.size(); - for (int i = 0; i < times; i++) - { + for (int i = 0; i < times; i++) { ItemStack insert = toInsertItems.poll(); if (insert != null) { ItemStack remainder = network.insertItem(insert, insert.stackSize, false); + if (remainder != null) { toInsertItems.add(remainder); } @@ -333,7 +339,7 @@ public class CraftingTask implements ICraftingTask { processablesList.appendTag(processable.writeToNBT(new NBTTagCompound())); } - tag.setTag(NBT_TO_PROCESS, processablesList); + tag.setTag(NBT_STEPS, processablesList); NBTTagList toInsertItemsList = new NBTTagList(); @@ -373,13 +379,13 @@ public class CraftingTask implements ICraftingTask { elements.directAdd(new CraftingMonitorElementText("gui.refinedstorage:crafting_monitor.items_inserting", 16)); toInsertItems.stream() - .map(stack -> new CraftingMonitorElementItemRender( - -1, - stack, - stack.stackSize, - 32 - )) - .forEach(elements::add); + .map(stack -> new CraftingMonitorElementItemRender( + -1, + stack, + stack.stackSize, + 32 + )) + .forEach(elements::add); elements.commit(); } @@ -391,10 +397,10 @@ public class CraftingTask implements ICraftingTask { for (ICraftingStep processable : steps.stream().filter(s -> !s.getPattern().isProcessing()).collect(Collectors.toList())) { for (int i = 0; i < processable.getPattern().getOutputs().size(); ++i) { elements.add(new CraftingMonitorElementItemRender( - -1, - processable.getPattern().getOutputs().get(i), - processable.getPattern().getOutputs().get(i).stackSize, - 32 + -1, + processable.getPattern().getOutputs().get(i), + processable.getPattern().getOutputs().get(i).stackSize, + 32 )); } } @@ -408,10 +414,10 @@ public class CraftingTask implements ICraftingTask { for (ICraftingStep processable : steps.stream().filter(s -> s.getPattern().isProcessing()).collect(Collectors.toList())) { for (int i = 0; i < processable.getPattern().getOutputs().size(); ++i) { ICraftingMonitorElement element = new CraftingMonitorElementItemRender( - -1, - processable.getPattern().getOutputs().get(i), - processable.getPattern().getOutputs().get(i).stackSize, - 32 + -1, + processable.getPattern().getOutputs().get(i), + processable.getPattern().getOutputs().get(i).stackSize, + 32 ); if (processable.getPattern().getContainer().getFacingTile() == null) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/FluidStackList.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/FluidStackList.java index 054216340..6d0b48c3f 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/FluidStackList.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/FluidStackList.java @@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.util; import com.google.common.collect.ArrayListMultimap; import com.raoulvdberge.refinedstorage.api.util.IFluidStackList; import com.raoulvdberge.refinedstorage.apiimpl.API; -import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; @@ -81,6 +80,7 @@ public class FluidStackList implements IFluidStackList { List toRemove = stacks.values().stream() .filter(stack -> stack.amount <= 0) .collect(Collectors.toList()); + toRemove.forEach(stack -> stacks.remove(stack.getFluid(), stack)); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/ItemStackList.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/ItemStackList.java index 0e1c877a9..77de4c318 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/ItemStackList.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/util/ItemStackList.java @@ -25,7 +25,7 @@ public class ItemStackList implements IItemStackList { } else { otherStack.stackSize += stack.stackSize; } - + return; } } @@ -54,7 +54,7 @@ public class ItemStackList implements IItemStackList { @Override @Nullable public ItemStack get(@Nonnull ItemStack stack, int flags) { - // When the oreDict flag is set all stacks need to be checked not just the ones matching the Item + // When the oredict flag is set all stacks need to be checked not just the ones matching the item for (ItemStack otherStack : (flags & IComparer.COMPARE_OREDICT) == IComparer.COMPARE_OREDICT ? stacks.values() : stacks.get(stack.getItem())) { if (API.instance().getComparer().isEqual(otherStack, stack, flags)) { return otherStack; @@ -86,6 +86,7 @@ public class ItemStackList implements IItemStackList { List toRemove = stacks.values().stream() .filter(stack -> stack.stackSize <= 0) .collect(Collectors.toList()); + toRemove.forEach(stack -> stacks.remove(stack.getItem(), stack)); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/sidebutton/SideButtonAccessType.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/sidebutton/SideButtonAccessType.java index 09e108e77..317122dc9 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/sidebutton/SideButtonAccessType.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/sidebutton/SideButtonAccessType.java @@ -18,7 +18,6 @@ public class SideButtonAccessType extends SideButton { @Override protected void drawButtonIcon(int x, int y) { - // @TODO } @Override