From da1ea8713188555b2366d2513f0a21796ecda434 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Fri, 1 Jun 2018 06:01:04 +0200 Subject: [PATCH] Processing tasks. --- .../api/autocrafting/ICraftingManager.java | 6 +- .../ICraftingPatternContainer.java | 6 +- .../api/autocrafting/task/ICraftingTask.java | 8 +++ .../apiimpl/autocrafting/CraftingManager.java | 8 ++- .../autocrafting/task/CraftingExtractor.java | 34 ++++++++++- .../task/CraftingExtractorItemStatus.java | 4 +- .../autocrafting/task/CraftingTask.java | 58 +++++++++++++++++- .../task/{ => step}/CraftingStep.java | 2 +- .../task/{ => step}/CraftingStepCraft.java | 4 +- .../task/step/CraftingStepProcess.java | 61 +++++++++++++++++++ .../network/node/NetworkNodeCrafter.java | 7 ++- .../block/BlockWirelessTransmitter.java | 1 + .../assets/refinedstorage/lang/de_de.lang | 1 - .../assets/refinedstorage/lang/en_us.lang | 2 +- .../assets/refinedstorage/lang/es_es.lang | 1 - .../assets/refinedstorage/lang/fr_fr.lang | 1 - .../assets/refinedstorage/lang/ko_kr.lang | 1 - .../assets/refinedstorage/lang/nl_nl.lang | 1 - .../assets/refinedstorage/lang/pt_br.lang | 1 - .../assets/refinedstorage/lang/ru_ru.lang | 1 - .../assets/refinedstorage/lang/zh_cn.lang | 1 - 21 files changed, 186 insertions(+), 23 deletions(-) rename src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/{ => step}/CraftingStep.java (98%) rename src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/{ => step}/CraftingStepCraft.java (88%) create mode 100644 src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/step/CraftingStepProcess.java diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingManager.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingManager.java index 6c4f7cdb4..87f5ffaa0 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingManager.java @@ -100,7 +100,7 @@ public interface ICraftingManager { /** * Makes the network send a crafting monitor update to all players as soon as it can. */ - // TODO: rework system to be subscribed-based, per task + // TODO: rework system to be subscribed-based void markCraftingMonitorForUpdate(); /** @@ -108,7 +108,7 @@ public interface ICraftingManager { *

* WARNING: In most cases, you should just use {@link ICraftingManager#markCraftingMonitorForUpdate()}, if not, you can get high bandwidth usage. */ - // TODO: rework system to be subscribed-based, per task + // TODO: rework system to be subscribed-based void sendCraftingMonitorUpdate(); /** @@ -116,6 +116,6 @@ public interface ICraftingManager { * * @param player the player */ - // TODO: rework system to be subscribed-based, per task + // TODO: rework system to be subscribed-based void sendCraftingMonitorUpdate(EntityPlayerMP player); } 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 42b328bc7..50635b604 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java @@ -20,13 +20,15 @@ public interface ICraftingPatternContainer { int getSpeedUpgradeCount(); /** - * @return the inventory that this container is connected to + * @return the inventory that this container is connected to, or null if no inventory is present */ + @Nullable IItemHandler getConnectedInventory(); /** - * @return the tile that this container is connected to + * @return the tile that this container is connected to, or null if no tile is present */ + @Nullable TileEntity getConnectedTile(); /** diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingTask.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingTask.java index 14ac6c642..dbf61fd41 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingTask.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingTask.java @@ -41,6 +41,14 @@ public interface ICraftingTask { */ ItemStack getRequested(); + /** + * Called when a stack is inserted into the system through {@link com.raoulvdberge.refinedstorage.api.network.INetwork#insertItemTracked(ItemStack, int)}. + * + * @param stack the stack + * @return the size remaining, decremented by the crafting task when it was relevant to it + */ + int onTrackedItemInserted(ItemStack stack, int size); + /** * Writes this task to NBT. * diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java index 0163259b5..45cb06ad1 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java @@ -148,7 +148,13 @@ public class CraftingManager implements ICraftingManager { @Override public void track(ItemStack stack, int size) { - // TODO + for (ICraftingTask task : tasks) { + size = task.onTrackedItemInserted(stack, size); + + if (size == 0) { + return; + } + } } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingExtractor.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingExtractor.java index 279c2463d..f874eaaf6 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingExtractor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingExtractor.java @@ -2,7 +2,10 @@ package com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task; import com.raoulvdberge.refinedstorage.api.network.INetwork; import net.minecraft.item.ItemStack; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.items.ItemHandlerHelper; +import javax.annotation.Nullable; import java.util.ArrayList; import java.util.List; @@ -28,6 +31,7 @@ public class CraftingExtractor { return status; } + // TODO: send crafting monitor update when this changes public void updateStatus() { for (int i = 0; i < items.size(); ++i) { if (status.get(i) != CraftingExtractorItemStatus.EXTRACTED) { @@ -52,12 +56,13 @@ public class CraftingExtractor { return !items.isEmpty() && status.stream().allMatch(s -> s == CraftingExtractorItemStatus.EXTRACTED); } + // TODO: send crafting monitor update when this changes public void extractOne() { for (int i = 0; i < items.size(); ++i) { if (status.get(i) == CraftingExtractorItemStatus.AVAILABLE) { ItemStack extracted = network.extractItem(items.get(i), items.get(i).getCount(), false); if (extracted == null) { - throw new IllegalStateException("Did not extract anything"); + throw new IllegalStateException("Did not extract anything while available"); } status.set(i, CraftingExtractorItemStatus.EXTRACTED); @@ -66,4 +71,31 @@ public class CraftingExtractor { } } } + + // TODO: send crafting monitor update when this changes + public void extractOneAndInsert(@Nullable IItemHandler dest) { + for (int i = 0; i < items.size(); ++i) { + if (status.get(i) == CraftingExtractorItemStatus.AVAILABLE) { + ItemStack extracted = network.extractItem(items.get(i), items.get(i).getCount(), true); + if (extracted == null) { + throw new IllegalStateException("Extraction simulation failed while available"); + } + + if (dest == null) { + status.set(i, CraftingExtractorItemStatus.MACHINE_NONE); + } else if (ItemHandlerHelper.insertItem(dest, extracted, false).isEmpty()) { + extracted = network.extractItem(items.get(i), items.get(i).getCount(), false); + if (extracted == null) { + throw new IllegalStateException("Did not extract anything while available"); + } + + status.set(i, CraftingExtractorItemStatus.EXTRACTED); + } else { + status.set(i, CraftingExtractorItemStatus.MACHINE_DOES_NOT_ACCEPT); + } + + return; + } + } + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingExtractorItemStatus.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingExtractorItemStatus.java index 757f099e8..c636a4769 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingExtractorItemStatus.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingExtractorItemStatus.java @@ -3,5 +3,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task; public enum CraftingExtractorItemStatus { AVAILABLE, MISSING, - EXTRACTED + EXTRACTED, + MACHINE_NONE, + MACHINE_DOES_NOT_ACCEPT } 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 1ea2cf99a..6850c4d5d 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 @@ -14,6 +14,9 @@ import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.Craf import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.CraftingMonitorElementItemRender; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.CraftingMonitorElementText; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementItemStack; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.step.CraftingStep; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.step.CraftingStepCraft; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.step.CraftingStepProcess; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.NonNullList; @@ -136,15 +139,17 @@ public class CraftingTask implements ICraftingTask { for (ItemStack output : pattern.getOutputs()) { results.add(output); } + + return new CraftingStepProcess(pattern, network, new ArrayList<>(itemsToExtract.getStacks())); } else { results.add(pattern.getOutput(took)); for (ItemStack byproduct : pattern.getByproducts(took)) { results.add(byproduct); } - } - return new CraftingStepCraft(pattern, inserter, network, new ArrayList<>(itemsToExtract.getStacks()), took); + return new CraftingStepCraft(pattern, inserter, network, new ArrayList<>(itemsToExtract.getStacks()), took); + } } private int getQuantityPerCraft(ICraftingPattern pattern, ItemStack requested) { @@ -201,6 +206,21 @@ public class CraftingTask implements ICraftingTask { return requested; } + @Override + public int onTrackedItemInserted(ItemStack stack, int size) { + for (CraftingStep step : steps) { + if (step instanceof CraftingStepProcess) { + size = ((CraftingStepProcess) step).onTrackedItemInserted(stack, size); + + if (size == 0) { + break; + } + } + } + + return size; + } + @Override public NBTTagCompound writeToNBT(NBTTagCompound tag) { return tag; @@ -281,6 +301,40 @@ public class CraftingTask implements ICraftingTask { elements.commit(); } + if (steps.stream().anyMatch(s -> s instanceof CraftingStepProcess && !s.isCompleted())) { + elements.directAdd(new CraftingMonitorElementText("gui.refinedstorage:crafting_monitor.items_processing", 16)); + + for (CraftingStep step : steps) { + if (step instanceof CraftingStepProcess && !step.isCompleted()) { + CraftingExtractor extractor = ((CraftingStepProcess) step).getExtractor(); + + for (int i = 0; i < extractor.getItems().size(); ++i) { + ItemStack item = extractor.getItems().get(i); + CraftingExtractorItemStatus status = extractor.getStatus().get(i); + + ICraftingMonitorElement element = new CraftingMonitorElementItemRender( + -1, + item, + item.getCount(), + 32 + ); + + if (status == CraftingExtractorItemStatus.MISSING) { + element = new CraftingMonitorElementInfo(element, "gui.refinedstorage:crafting_monitor.waiting_for_items"); + } else if (status == CraftingExtractorItemStatus.MACHINE_DOES_NOT_ACCEPT) { + element = new CraftingMonitorElementError(element, "gui.refinedstorage:crafting_monitor.machine_does_not_accept"); + } else if (status == CraftingExtractorItemStatus.MACHINE_NONE) { + element = new CraftingMonitorElementError(element, "gui.refinedstorage:crafting_monitor.machine_none"); + } + + elements.add(element); + } + } + } + + elements.commit(); + } + return elements.getElements(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStep.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/step/CraftingStep.java similarity index 98% rename from src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStep.java rename to src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/step/CraftingStep.java index d7ae02195..4e9ef373c 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStep.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/step/CraftingStep.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task; +package com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.step; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStepCraft.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/step/CraftingStepCraft.java similarity index 88% rename from src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStepCraft.java rename to src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/step/CraftingStepCraft.java index 848e70493..2e3610f7f 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/CraftingStepCraft.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/step/CraftingStepCraft.java @@ -1,7 +1,9 @@ -package com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task; +package com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.step; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; import com.raoulvdberge.refinedstorage.api.network.INetwork; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.CraftingExtractor; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.CraftingInserter; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/step/CraftingStepProcess.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/step/CraftingStepProcess.java new file mode 100644 index 000000000..365959f6a --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/task/step/CraftingStepProcess.java @@ -0,0 +1,61 @@ +package com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.step; + +import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; +import com.raoulvdberge.refinedstorage.api.network.INetwork; +import com.raoulvdberge.refinedstorage.api.util.IStackList; +import com.raoulvdberge.refinedstorage.apiimpl.API; +import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.CraftingExtractor; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public class CraftingStepProcess extends CraftingStep { + private CraftingExtractor extractor; + private IStackList itemsToReceive = API.instance().createItemStackList(); + + public CraftingStepProcess(ICraftingPattern pattern, INetwork network, List toExtract) { + super(pattern); + this.extractor = new CraftingExtractor(network, toExtract); + + for (ItemStack output : pattern.getOutputs()) { + this.itemsToReceive.add(output); + } + } + + @Override + public boolean canExecute() { + extractor.updateStatus(); + + return extractor.isAllAvailable(); + } + + public int onTrackedItemInserted(ItemStack stack, int size) { + if (!extractor.isAllExtracted()) { + return size; + } + + ItemStack inList = itemsToReceive.get(stack); + if (inList == null) { + return size; + } + + int toExtract = Math.min(size, inList.getCount()); + + itemsToReceive.remove(stack, toExtract); + + return size - toExtract; + } + + @Override + public boolean execute() { + if (!extractor.isAllExtracted()) { + extractor.extractOneAndInsert(pattern.getContainer().getConnectedInventory()); + } + + return itemsToReceive.isEmpty(); + } + + public CraftingExtractor getExtractor() { + return extractor; + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java index fd0b5b21f..12223ba90 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java @@ -64,8 +64,7 @@ public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternC private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED); - // Used to prevent infinite recursion on getRootContainer() when - // there's eg. two crafters facing each other. + // Used to prevent infinite recursion on getRootContainer() when there's eg. two crafters facing each other. private boolean visited = false; @Nullable @@ -173,20 +172,24 @@ public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternC } @Override + @Nullable public IItemHandler getConnectedInventory() { ICraftingPatternContainer proxy = getRootContainer(); if (proxy == null) { return null; } + return WorldUtils.getItemHandler(proxy.getFacingTile(), proxy.getDirection().getOpposite()); } @Override + @Nullable public TileEntity getConnectedTile() { ICraftingPatternContainer proxy = getRootContainer(); if (proxy == null) { return null; } + return proxy.getFacingTile(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWirelessTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWirelessTransmitter.java index 4c8ba65dd..310a2b871 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWirelessTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockWirelessTransmitter.java @@ -24,6 +24,7 @@ import java.util.List; public class BlockWirelessTransmitter extends BlockNode { // From BlockTorch + // TODO: make consistent with shape private static final AxisAlignedBB WIRELESS_TRANSMITTER_AABB = new AxisAlignedBB(0.4000000059604645D, 0.0D, 0.4000000059604645D, 0.6000000238418579D, 0.6000000238418579D, 0.6000000238418579D); public BlockWirelessTransmitter() { diff --git a/src/main/resources/assets/refinedstorage/lang/de_de.lang b/src/main/resources/assets/refinedstorage/lang/de_de.lang index f4c401eaf..2d519ed67 100755 --- a/src/main/resources/assets/refinedstorage/lang/de_de.lang +++ b/src/main/resources/assets/refinedstorage/lang/de_de.lang @@ -25,7 +25,6 @@ gui.refinedstorage:crafting_monitor.items_crafting=Teil herstellen gui.refinedstorage:crafting_monitor.items_processing=Teil verarbeiten gui.refinedstorage:crafting_monitor.items_inserting=Teil einfügen gui.refinedstorage:crafting_monitor.items_missing=Teil fehlt -gui.refinedstorage:crafting_monitor.machine_in_use=Maschine in Gebrauch gui.refinedstorage:crafting_monitor.machine_none=keine Maschine gefunden gui.refinedstorage:crafting_monitor.waiting_for_items=Warte auf Teile gui.refinedstorage:wireless_transmitter=Funk-Sender diff --git a/src/main/resources/assets/refinedstorage/lang/en_us.lang b/src/main/resources/assets/refinedstorage/lang/en_us.lang index 605981fc5..7ff78dd65 100644 --- a/src/main/resources/assets/refinedstorage/lang/en_us.lang +++ b/src/main/resources/assets/refinedstorage/lang/en_us.lang @@ -30,7 +30,7 @@ gui.refinedstorage:crafting_monitor.items_crafting=Items crafting gui.refinedstorage:crafting_monitor.items_processing=Items processing gui.refinedstorage:crafting_monitor.items_inserting=Items inserting gui.refinedstorage:crafting_monitor.items_missing=Items missing -gui.refinedstorage:crafting_monitor.machine_in_use=Machine is in use +gui.refinedstorage:crafting_monitor.machine_does_not_accept=Machine doesn't accept item gui.refinedstorage:crafting_monitor.machine_none=No machine found gui.refinedstorage:crafting_monitor.waiting_for_items=Waiting for items gui.refinedstorage:crafting_monitor.network_full=Network is full diff --git a/src/main/resources/assets/refinedstorage/lang/es_es.lang b/src/main/resources/assets/refinedstorage/lang/es_es.lang index 864560a61..e6a69c5ca 100644 --- a/src/main/resources/assets/refinedstorage/lang/es_es.lang +++ b/src/main/resources/assets/refinedstorage/lang/es_es.lang @@ -30,7 +30,6 @@ gui.refinedstorage:crafting_monitor.items_crafting=Fabrica Objetos gui.refinedstorage:crafting_monitor.items_processing=Procesamiento de objetos gui.refinedstorage:crafting_monitor.items_inserting=Inserta Objetos gui.refinedstorage:crafting_monitor.items_missing=Faltan objetos -gui.refinedstorage:crafting_monitor.machine_in_use=Maquina en uso gui.refinedstorage:crafting_monitor.machine_none=Maquina no Hallada gui.refinedstorage:crafting_monitor.waiting_for_items=Esperando Objetos gui.refinedstorage:wireless_transmitter=Emisor inalámbrico diff --git a/src/main/resources/assets/refinedstorage/lang/fr_fr.lang b/src/main/resources/assets/refinedstorage/lang/fr_fr.lang index 85bc298c2..20b66f505 100755 --- a/src/main/resources/assets/refinedstorage/lang/fr_fr.lang +++ b/src/main/resources/assets/refinedstorage/lang/fr_fr.lang @@ -29,7 +29,6 @@ gui.refinedstorage:crafting_monitor.items_crafting=Items en craft gui.refinedstorage:crafting_monitor.items_processing=Items en traitement gui.refinedstorage:crafting_monitor.items_inserting=Insertion d'items gui.refinedstorage:crafting_monitor.items_missing=Items manquants -gui.refinedstorage:crafting_monitor.machine_in_use=Machine en cours d'utilisation gui.refinedstorage:crafting_monitor.machine_none=Pas de machine disponible gui.refinedstorage:crafting_monitor.waiting_for_items=En attente d'items gui.refinedstorage:wireless_transmitter=Emetteur sans-fil diff --git a/src/main/resources/assets/refinedstorage/lang/ko_kr.lang b/src/main/resources/assets/refinedstorage/lang/ko_kr.lang index 879a1734b..5474211b6 100644 --- a/src/main/resources/assets/refinedstorage/lang/ko_kr.lang +++ b/src/main/resources/assets/refinedstorage/lang/ko_kr.lang @@ -28,7 +28,6 @@ gui.refinedstorage:crafting_monitor.items_crafting=제작할 아이템 gui.refinedstorage:crafting_monitor.items_processing=가공할 아이템 gui.refinedstorage:crafting_monitor.items_inserting=삽입할 아이템 gui.refinedstorage:crafting_monitor.items_missing=부족한 아이템 -gui.refinedstorage:crafting_monitor.machine_in_use=기계가 이미 사용 중임 gui.refinedstorage:crafting_monitor.machine_none=기계를 찾을 수 없음 gui.refinedstorage:crafting_monitor.waiting_for_items=아이템을 기다리는 중 gui.refinedstorage:wireless_transmitter=무선 송신기 diff --git a/src/main/resources/assets/refinedstorage/lang/nl_nl.lang b/src/main/resources/assets/refinedstorage/lang/nl_nl.lang index 1e09b7447..4840af646 100755 --- a/src/main/resources/assets/refinedstorage/lang/nl_nl.lang +++ b/src/main/resources/assets/refinedstorage/lang/nl_nl.lang @@ -22,7 +22,6 @@ gui.refinedstorage:crafting_monitor=Crafting Monitor gui.refinedstorage:crafting_monitor.missing_items=Ontbrekende items gui.refinedstorage:crafting_monitor.items_crafting=Items aan het craften gui.refinedstorage:crafting_monitor.items_processing=Items aan het verwerken -gui.refinedstorage:crafting_monitor.machine_in_use=Wachten op machine die gebruikt wordt door een andere crafting taak gui.refinedstorage:crafting_monitor.machine_none=Geen machine gevonden gui.refinedstorage:wireless_transmitter=Draadloze Zender gui.refinedstorage:wireless_transmitter.distance=%d blokken diff --git a/src/main/resources/assets/refinedstorage/lang/pt_br.lang b/src/main/resources/assets/refinedstorage/lang/pt_br.lang index 2b01dfb81..9fb19eb7b 100755 --- a/src/main/resources/assets/refinedstorage/lang/pt_br.lang +++ b/src/main/resources/assets/refinedstorage/lang/pt_br.lang @@ -29,7 +29,6 @@ gui.refinedstorage:crafting_monitor.items_crafting=Fabricando itens gui.refinedstorage:crafting_monitor.items_processing=Processando itens gui.refinedstorage:crafting_monitor.items_inserting=Inserindo itens gui.refinedstorage:crafting_monitor.items_missing=Ausência de itens -gui.refinedstorage:crafting_monitor.machine_in_use=A máquina está em uso gui.refinedstorage:crafting_monitor.machine_none=Nenhuma máquina encontrada gui.refinedstorage:crafting_monitor.waiting_for_items=Esperando itens gui.refinedstorage:wireless_transmitter=Transmissor Wireless diff --git a/src/main/resources/assets/refinedstorage/lang/ru_ru.lang b/src/main/resources/assets/refinedstorage/lang/ru_ru.lang index db03ae2a3..25f010207 100755 --- a/src/main/resources/assets/refinedstorage/lang/ru_ru.lang +++ b/src/main/resources/assets/refinedstorage/lang/ru_ru.lang @@ -30,7 +30,6 @@ gui.refinedstorage:crafting_monitor.items_crafting=Предметы с возм gui.refinedstorage:crafting_monitor.items_processing=Предметы с возможностью обработки gui.refinedstorage:crafting_monitor.items_inserting=Вставка предметов gui.refinedstorage:crafting_monitor.items_missing=Отсутствуют предметы -gui.refinedstorage:crafting_monitor.machine_in_use=Машина используется gui.refinedstorage:crafting_monitor.machine_none=Машина не найдена gui.refinedstorage:crafting_monitor.waiting_for_items=Ожидание предметов gui.refinedstorage:wireless_transmitter=Передатчик diff --git a/src/main/resources/assets/refinedstorage/lang/zh_cn.lang b/src/main/resources/assets/refinedstorage/lang/zh_cn.lang index 3db776e89..d5ea6cf73 100755 --- a/src/main/resources/assets/refinedstorage/lang/zh_cn.lang +++ b/src/main/resources/assets/refinedstorage/lang/zh_cn.lang @@ -30,7 +30,6 @@ gui.refinedstorage:crafting_monitor.items_crafting=正在合成 gui.refinedstorage:crafting_monitor.items_processing=正在处理 gui.refinedstorage:crafting_monitor.items_inserting=物品正在输入 gui.refinedstorage:crafting_monitor.items_missing=物品丢失中 -gui.refinedstorage:crafting_monitor.machine_in_use=该机器正在处理其他工作,请稍等 gui.refinedstorage:crafting_monitor.machine_none=找不到机器 gui.refinedstorage:crafting_monitor.waiting_for_items=正在等待物品 gui.refinedstorage:wireless_transmitter=无线访问点