diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/ProcessingNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/ProcessingNode.java index 0c4ff7b1b..49304deac 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/ProcessingNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/node/ProcessingNode.java @@ -214,17 +214,17 @@ public class ProcessingNode extends Node { } public void updateFinishedQuantity() { - int quantityFinished = totalQuantity; + int tempQuantityFinished = totalQuantity; for (StackListEntry toReceive : singleItemSetToReceive.getStacks()) { if (itemsReceived.get(toReceive.getStack()) != null) { int ratioReceived = itemsReceived.get(toReceive.getStack()).getCount() / toReceive.getStack().getCount(); - if (quantityFinished > ratioReceived) { - quantityFinished = ratioReceived; + if (tempQuantityFinished > ratioReceived) { + tempQuantityFinished = ratioReceived; } } else { - quantityFinished = 0; + tempQuantityFinished = 0; } } @@ -232,15 +232,15 @@ public class ProcessingNode extends Node { if (fluidsReceived.get(toReceive.getStack()) != null) { int ratioReceived = fluidsReceived.get(toReceive.getStack()).getAmount() / toReceive.getStack().getAmount(); - if (quantityFinished > ratioReceived) { - quantityFinished = ratioReceived; + if (tempQuantityFinished > ratioReceived) { + tempQuantityFinished = ratioReceived; } } else { - quantityFinished = 0; + tempQuantityFinished = 0; } } - this.quantityFinished = quantityFinished; + this.quantityFinished = tempQuantityFinished; if (this.quantityFinished == this.totalQuantity) { this.state = ProcessingState.PROCESSED; diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/preview/CraftingPreviewElementFactory.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/preview/CraftingPreviewElementFactory.java index 594624e00..60690470e 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/preview/CraftingPreviewElementFactory.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/task/v6/preview/CraftingPreviewElementFactory.java @@ -22,87 +22,45 @@ public class CraftingPreviewElementFactory { for (StackListEntry stack : info.getMissing().getStacks()) { int hash = API.instance().getItemStackHashCode(stack.getStack()); - ItemCraftingPreviewElement previewStack = map.get(hash); - - if (previewStack == null) { - previewStack = new ItemCraftingPreviewElement(stack.getStack()); - } - + ItemCraftingPreviewElement previewStack = map.computeIfAbsent(hash, key -> new ItemCraftingPreviewElement(stack.getStack())); previewStack.setMissing(true); previewStack.addToCraft(stack.getStack().getCount()); - - map.put(hash, previewStack); } for (StackListEntry stack : info.getMissingFluids().getStacks()) { int hash = API.instance().getFluidStackHashCode(stack.getStack()); - FluidCraftingPreviewElement previewStack = mapFluids.get(hash); - - if (previewStack == null) { - previewStack = new FluidCraftingPreviewElement(stack.getStack()); - } - + FluidCraftingPreviewElement previewStack = mapFluids.computeIfAbsent(hash, key -> new FluidCraftingPreviewElement(stack.getStack())); previewStack.setMissing(true); previewStack.addToCraft(stack.getStack().getAmount()); - - mapFluids.put(hash, previewStack); } for (ItemStack stack : ImmutableList.copyOf(info.getToCraft()).reverse()) { int hash = API.instance().getItemStackHashCode(stack); - ItemCraftingPreviewElement previewStack = map.get(hash); - - if (previewStack == null) { - previewStack = new ItemCraftingPreviewElement(stack.getStack()); - } - + ItemCraftingPreviewElement previewStack = map.computeIfAbsent(hash, key -> new ItemCraftingPreviewElement(stack.getStack())); previewStack.addToCraft(stack.getCount()); - - map.put(hash, previewStack); } for (FluidStack stack : ImmutableList.copyOf(info.getToCraftFluids()).reverse()) { int hash = API.instance().getFluidStackHashCode(stack); - FluidCraftingPreviewElement previewStack = mapFluids.get(hash); - - if (previewStack == null) { - previewStack = new FluidCraftingPreviewElement(stack); - } - + FluidCraftingPreviewElement previewStack = mapFluids.computeIfAbsent(hash, key -> new FluidCraftingPreviewElement(stack)); previewStack.addToCraft(stack.getAmount()); - - mapFluids.put(hash, previewStack); } for (StackListEntry stack : info.getToTake().getStacks()) { int hash = API.instance().getItemStackHashCode(stack.getStack()); - ItemCraftingPreviewElement previewStack = map.get(hash); - - if (previewStack == null) { - previewStack = new ItemCraftingPreviewElement(stack.getStack()); - } - + ItemCraftingPreviewElement previewStack = map.computeIfAbsent(hash, key -> new ItemCraftingPreviewElement(stack.getStack())); previewStack.addAvailable(stack.getStack().getCount()); - - map.put(hash, previewStack); } for (StackListEntry stack : info.getToTakeFluids().getStacks()) { int hash = API.instance().getFluidStackHashCode(stack.getStack()); - FluidCraftingPreviewElement previewStack = mapFluids.get(hash); - - if (previewStack == null) { - previewStack = new FluidCraftingPreviewElement(stack.getStack()); - } - + FluidCraftingPreviewElement previewStack = mapFluids.computeIfAbsent(hash, key -> new FluidCraftingPreviewElement(stack.getStack())); previewStack.addAvailable(stack.getStack().getAmount()); - - mapFluids.put(hash, previewStack); } List> elements = new ArrayList<>(); diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkListener.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkListener.java index 5e4bf4bfb..05390e2ac 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkListener.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkListener.java @@ -10,24 +10,22 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; public class NetworkListener { @SubscribeEvent public void onWorldTick(TickEvent.WorldTickEvent e) { - if (!e.world.isRemote()) { - if (e.phase == TickEvent.Phase.END) { - e.world.getProfiler().startSection("network ticking"); + if (!e.world.isRemote() && e.phase == TickEvent.Phase.END) { + e.world.getProfiler().startSection("network ticking"); - for (INetwork network : API.instance().getNetworkManager((ServerWorld) e.world).all()) { - network.update(); - } - - e.world.getProfiler().endSection(); - - e.world.getProfiler().startSection("network node ticking"); - - for (INetworkNode node : API.instance().getNetworkNodeManager((ServerWorld) e.world).all()) { - node.update(); - } - - e.world.getProfiler().endSection(); + for (INetwork network : API.instance().getNetworkManager((ServerWorld) e.world).all()) { + network.update(); } + + e.world.getProfiler().endSection(); + + e.world.getProfiler().startSection("network node ticking"); + + for (INetworkNode node : API.instance().getNetworkNodeManager((ServerWorld) e.world).all()) { + node.update(); + } + + e.world.getProfiler().endSection(); } } } diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkNodeGraph.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkNodeGraph.java index 6fb07a785..71ad776da 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkNodeGraph.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/NetworkNodeGraph.java @@ -100,14 +100,6 @@ public class NetworkNodeGraph implements INetworkNodeGraph { return network.getWorld(); } - private void dropConflictingBlock(World world, BlockPos pos) { - if (!network.getPosition().equals(pos)) { - Block.spawnDrops(world.getBlockState(pos), world, pos, world.getTileEntity(pos)); - - world.removeBlock(pos, false); - } - } - private class Operator implements INetworkNodeVisitor.Operator { private final Set foundNodes = Sets.newConcurrentHashSet(); // All scanned nodes @@ -152,6 +144,14 @@ public class NetworkNodeGraph implements INetworkNodeGraph { } } + private void dropConflictingBlock(World world, BlockPos pos) { + if (!network.getPosition().equals(pos)) { + Block.spawnDrops(world.getBlockState(pos), world, pos, world.getTileEntity(pos)); + + world.removeBlock(pos, false); + } + } + @Override public Action getAction() { return action;