aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java7
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java7
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java104
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java7
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java7
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java26
-rw-r--r--src/main/resources/assets/tectech/lang/en_US.lang5
7 files changed, 127 insertions, 36 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java
index f68b630ce7..398537a531 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_EyeOfHarmony.java
@@ -37,6 +37,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import javax.annotation.Nonnull;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
@@ -83,6 +85,7 @@ import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.recipe.check.SimpleCheckRecipeResult;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Utility;
+import gregtech.api.util.shutdown.ShutDownReason;
import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_InputBus_ME;
import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_OutputBus_ME;
import gregtech.common.tileentities.machines.GT_MetaTileEntity_Hatch_Output_ME;
@@ -1381,8 +1384,8 @@ public class GT_MetaTileEntity_EM_EyeOfHarmony extends GT_MetaTileEntity_Multibl
}
@Override
- public void stopMachine() {
- super.stopMachine();
+ public void stopMachine(@Nonnull ShutDownReason reason) {
+ super.stopMachine(reason);
destroyRenderBlock();
recipeRunning = false;
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java
index 37fa0837e3..8889bab006 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java
@@ -21,6 +21,8 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import javax.annotation.Nonnull;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
@@ -61,6 +63,7 @@ import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.recipe.check.SimpleCheckRecipeResult;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.IGT_HatchAdder;
+import gregtech.api.util.shutdown.ShutDownReason;
/**
* Created by danie_000 on 17.12.2016.
@@ -417,8 +420,8 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB
}
@Override
- public void stopMachine() {
- super.stopMachine();
+ public void stopMachine(@Nonnull ShutDownReason reason) {
+ super.stopMachine(reason);
eAvailableData = 0;
for (GT_MetaTileEntity_Hatch_Rack rack : filterValidMTEs(eRacks)) {
rack.getBaseMetaTileEntity().setActive(false);
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java
index d7a4efb19c..fdf13790b2 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_research.java
@@ -9,6 +9,7 @@ import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock;
import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose;
import static gregtech.api.enums.GT_HatchElement.Energy;
import static gregtech.api.enums.GT_HatchElement.Maintenance;
+import static gregtech.api.recipe.RecipeMaps.scannerFakeRecipes;
import static gregtech.api.util.GT_StructureUtility.buildHatchAdder;
import static gregtech.api.util.GT_Utility.filterValidMTEs;
import static mcp.mobius.waila.api.SpecialChars.GREEN;
@@ -22,6 +23,8 @@ import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
+import javax.annotation.Nonnull;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
@@ -29,6 +32,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.nbt.NBTTagString;
import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@@ -58,11 +62,13 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energ
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.recipe.check.SimpleCheckRecipeResult;
+import gregtech.api.util.GT_AssemblyLineUtils;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.IGT_HatchAdder;
+import gregtech.api.util.shutdown.ShutDownReason;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
@@ -78,8 +84,9 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
// region variables
private final ArrayList<GT_MetaTileEntity_Hatch_Holder> eHolders = new ArrayList<>();
private GT_Recipe.GT_Recipe_AssemblyLine tRecipe;
- private String machineType;
private static final String assembly = "Assembly line";
+ private static final String scanner = "Scanner";
+ private String machineType = assembly;
private ItemStack holdItem;
private long computationRemaining, computationRequired;
@@ -350,12 +357,44 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
if (!eHolders.isEmpty() && eHolders.get(0).mInventory[0] != null) {
holdItem = eHolders.get(0).mInventory[0].copy();
if (ItemList.Tool_DataStick.isStackEqual(controllerStack, false, true)) {
- for (GT_Recipe.GT_Recipe_AssemblyLine assRecipe : TecTechRecipeMaps.researchableALRecipeList) {
- if (GT_Utility.areStacksEqual(assRecipe.mResearchItem, holdItem, true)) {
- machineType = assembly;
- tRecipe = assRecipe;
- // if found
- if (iterateRecipes()) return SimpleCheckRecipeResult.ofSuccess("researching");
+ switch (machineType) {
+ case scanner -> {
+ for (GT_Recipe.GT_Recipe_AssemblyLine assRecipe : GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes) {
+ if (GT_Utility.areStacksEqual(assRecipe.mResearchItem, holdItem, true)) {
+ boolean failScanner = true;
+ for (GT_Recipe scannerRecipe : scannerFakeRecipes.getAllRecipes()) {
+ if (GT_Utility.areStacksEqual(scannerRecipe.mInputs[0], holdItem, true)) {
+ failScanner = false;
+ break;
+ }
+ }
+ if (failScanner) {
+ return SimpleCheckRecipeResult.ofFailure("wrongRequirements");
+ }
+ this.tRecipe = assRecipe;
+ // Scanner mode should consume item first
+ eHolders.get(0).mInventory[0] = null;
+ mInventory[1] = null;
+ // Set property
+ computationRequired = computationRemaining = assRecipe.mResearchTime;
+ mMaxProgresstime = 20;
+ mEfficiencyIncrease = 10000;
+ eRequiredData = 1;
+ eAmpereFlow = 1;
+ mEUt = -524288;
+ eHolders.get(0).getBaseMetaTileEntity().setActive(true);
+ return SimpleCheckRecipeResult.ofSuccess("scanning");
+ }
+ }
+ }
+ case assembly -> {
+ for (GT_Recipe.GT_Recipe_AssemblyLine assRecipe : TecTechRecipeMaps.researchableALRecipeList) {
+ if (GT_Utility.areStacksEqual(assRecipe.mResearchItem, holdItem, true)) {
+ tRecipe = assRecipe;
+ // if found
+ if (iterateRecipes()) return SimpleCheckRecipeResult.ofSuccess("researching");
+ }
+ }
}
}
} else {
@@ -373,18 +412,27 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
@Override
public void outputAfterRecipe_EM() {
if (!eHolders.isEmpty()) {
- if (tRecipe != null && ItemList.Tool_DataStick.isStackEqual(mInventory[1], false, true)) {
- eHolders.get(0).getBaseMetaTileEntity().setActive(false);
- eHolders.get(0).mInventory[0] = null;
- if (lServerNames == null) {
- makeStick();
- } else {
- try {
- makeStick2();
- } catch (NoSuchFieldError e) {
- makeStick();
+ switch (machineType) {
+ case assembly -> {
+ if (tRecipe != null && ItemList.Tool_DataStick.isStackEqual(mInventory[1], false, true)) {
+ eHolders.get(0).getBaseMetaTileEntity().setActive(false);
+ eHolders.get(0).mInventory[0] = null;
+ if (lServerNames == null) {
+ makeStick();
+ } else {
+ try {
+ makeStick2();
+ } catch (NoSuchFieldError e) {
+ makeStick();
+ }
+ }
}
}
+ case scanner -> {
+ mInventory[1] = ItemList.Tool_DataStick.get(1);
+ GT_AssemblyLineUtils.setAssemblyLineRecipeOnDataStick(mInventory[1], tRecipe);
+ eHolders.get(0).getBaseMetaTileEntity().setActive(false);
+ }
}
}
computationRequired = computationRemaining = 0;
@@ -551,6 +599,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
super.saveNBTData(aNBT);
aNBT.setLong("eComputationRemaining", computationRemaining);
aNBT.setLong("eComputationRequired", computationRequired);
+ aNBT.setString("eMachineType", machineType);
if (holdItem != null) {
aNBT.setTag("eHold", holdItem.writeToNBT(new NBTTagCompound()));
} else {
@@ -563,6 +612,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
super.loadNBTData(aNBT);
computationRemaining = aNBT.getLong("eComputationRemaining");
computationRequired = aNBT.getLong("eComputationRequired");
+ machineType = aNBT.hasKey("eMachineType") ? aNBT.getString("eMachineType") : assembly;
if (aNBT.hasKey("eHold")) {
holdItem = ItemStack.loadItemStackFromNBT(aNBT.getCompoundTag("eHold"));
} else {
@@ -571,8 +621,8 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
}
@Override
- public void stopMachine() {
- super.stopMachine();
+ public void stopMachine(@Nonnull ShutDownReason reason) {
+ super.stopMachine(reason);
for (GT_MetaTileEntity_Hatch_Holder r : eHolders) {
r.getBaseMetaTileEntity().setActive(false);
}
@@ -591,7 +641,6 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
for (GT_Recipe.GT_Recipe_AssemblyLine tRecipe : TecTechRecipeMaps.researchableALRecipeList) {
if (GT_Utility.areStacksEqual(tRecipe.mResearchItem, holdItem, true)) {
this.tRecipe = tRecipe;
- machineType = assembly;
break;
}
}
@@ -656,11 +705,24 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
}
@Override
+ public final void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ super.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ);
+ switch (machineType) {
+ case scanner -> machineType = assembly;
+ case assembly -> machineType = scanner;
+ }
+ aPlayer.addChatComponentMessage(
+ new ChatComponentTranslation(
+ "gt.blockmachines.multimachine.em.research.mode." + machineType.replace(" ", "_")));
+ }
+
+ @Override
public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y,
int z) {
tag.setBoolean("hasProblems", (getIdealStatus() - getRepairStatus()) > 0);
tag.setFloat("efficiency", mEfficiency / 100.0F);
tag.setBoolean("incompleteStructure", (getBaseMetaTileEntity().getErrorDisplayID() & 64) != 0);
+ tag.setString("machineType", machineType);
tag.setLong("computation", (computationRequired - computationRemaining) / 20L);
tag.setLong("computationRequired", computationRequired / 20L);
}
@@ -678,7 +740,7 @@ public class GT_MetaTileEntity_EM_research extends GT_MetaTileEntity_MultiblockB
+ " Efficiency: "
+ tag.getFloat("efficiency")
+ "%");
-
+ currentTip.add("Mode: " + tag.getString("machineType"));
currentTip.add(
String.format(
"Computation: %,d / %,d",
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
index e366327b66..ea9ba9315f 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
@@ -16,6 +16,8 @@ import static net.minecraft.util.StatCollector.translateToLocal;
import java.util.ArrayList;
import java.util.HashSet;
+import javax.annotation.Nonnull;
+
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
@@ -48,6 +50,7 @@ import gregtech.api.recipe.check.SimpleCheckRecipeResult;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+import gregtech.api.util.shutdown.ShutDownReason;
/**
* Created by danie_000 on 17.12.2016.
@@ -294,8 +297,8 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock
}
@Override
- public void stopMachine() {
- super.stopMachine();
+ public void stopMachine(@Nonnull ShutDownReason reason) {
+ super.stopMachine(reason);
remainingTime.set(timerSetting.get());
timerValue.set(0);
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java
index 9f4acc12e0..9d426e6ff6 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java
@@ -41,6 +41,8 @@ import java.util.function.Consumer;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
+import javax.annotation.Nonnull;
+
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Items;
@@ -108,6 +110,7 @@ import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.IGT_HatchAdder;
+import gregtech.api.util.shutdown.ShutDownReason;
import gregtech.common.blocks.GT_Item_Machines;
public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM
@@ -810,8 +813,8 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock
}
@Override
- public void stopMachine() {
- super.stopMachine();
+ public void stopMachine(@Nonnull ShutDownReason reason) {
+ super.stopMachine(reason);
for (GT_MetaTileEntity_Hatch_Capacitor cap : eCapacitorHatches) {
cap.getBaseMetaTileEntity().setActive(false);
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
index dfa1d073cb..f3aba866f0 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
@@ -24,6 +24,8 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import javax.annotation.Nonnull;
+
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -101,6 +103,9 @@ import gregtech.api.util.GT_HatchElementBuilder;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.IGT_HatchAdder;
+import gregtech.api.util.shutdown.ShutDownReason;
+import gregtech.api.util.shutdown.ShutDownReasonRegistry;
+import gregtech.api.util.shutdown.SimpleShutDownReason;
import gregtech.common.GT_Pollution;
import gregtech.common.tileentities.machines.IDualInputHatch;
@@ -869,8 +874,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM
* hammered to offline state! - it SHOULD cause a full stop like power failure does
*/
@Override
- public void stopMachine() {
-
+ public void stopMachine(@Nonnull ShutDownReason reason) {
+ if (!ShutDownReasonRegistry.isRegistered(reason.getID())) {
+ throw new RuntimeException(String.format("Reason %s is not registered for registry", reason.getID()));
+ }
for (GT_MetaTileEntity_Hatch_OutputData data : eOutputData) {
data.q = null;
}
@@ -884,6 +891,11 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM
eAvailableData = 0;
hatchesStatusUpdate_EM();
getBaseMetaTileEntity().disableWorking();
+ getBaseMetaTileEntity().setShutDownReason(reason);
+ getBaseMetaTileEntity().setShutdownStatus(true);
+ if (reason.wasCritical()) {
+ sendSound(INTERRUPT_SOUND_INDEX);
+ }
}
/**
@@ -1028,7 +1040,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM
if (eRequiredData > eAvailableData) {
if (!checkComputationTimeout()) {
if (energyFlowOnRunningTick_EM(aStack, false)) {
- stopMachine();
+ stopMachine(SimpleShutDownReason.ofCritical("computation_loss"));
}
return false;
}
@@ -1040,7 +1052,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM
if (eRequiredData > eAvailableData) {
if (!checkComputationTimeout()) {
if (energyFlowOnRunningTick(aStack, false)) {
- stopMachine();
+ stopMachine(SimpleShutDownReason.ofCritical("computation_loss"));
}
return false;
}
@@ -1115,7 +1127,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM
if (mMaxProgresstime > 0 && doRandomMaintenanceDamage()) { // Start
if (onRunningTick(mInventory[1])) { // Compute EU
if (!polluteEnvironment(getPollutionPerTick(mInventory[1]))) {
- stopMachine();
+ stopMachine(ShutDownReasonRegistry.POLLUTION_FAIL);
}
if (mMaxProgresstime > 0 && ++mProgresstime >= mMaxProgresstime) { // progress increase
@@ -1166,10 +1178,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM
} // else notAllowedToWork_stopMachine_EM(); //it is already stopped here
}
} else { // not repaired
- stopMachine();
+ stopMachine(ShutDownReasonRegistry.NO_REPAIR);
}
} else { // not complete
- stopMachine();
+ stopMachine(ShutDownReasonRegistry.STRUCTURE_INCOMPLETE);
}
}
diff --git a/src/main/resources/assets/tectech/lang/en_US.lang b/src/main/resources/assets/tectech/lang/en_US.lang
index 44c600d28a..511def2331 100644
--- a/src/main/resources/assets/tectech/lang/en_US.lang
+++ b/src/main/resources/assets/tectech/lang/en_US.lang
@@ -761,6 +761,8 @@ gt.blockmachines.multimachine.em.research.desc.0=Controller block of the Researc
gt.blockmachines.multimachine.em.research.desc.1=Used to scan Data Sticks for Assembling Line Recipes
gt.blockmachines.multimachine.em.research.desc.2=Needs to be fed with computation to work
gt.blockmachines.multimachine.em.research.desc.3=Does not consume the item until the Data Stick is written
+gt.blockmachines.multimachine.em.research.mode.Assembly_line=Mode: Research Station
+gt.blockmachines.multimachine.em.research.mode.Scanner=Mode: Scanner
gt.blockmachines.multimachine.em.collider.name=Matter Collider
gt.blockmachines.multimachine.em.collider.hint.0=1 - Classic Hatches or High Power Casing
@@ -1139,6 +1141,8 @@ GT5U.gui.text.computing=§aComputing
GT5U.gui.text.providing_data=§aProviding Data
GT5U.gui.text.routing=§aRouting
GT5U.gui.text.researching=§aResearching
+GT5U.gui.text.wrongRequirements=§7Incorrect scanning item
+GT5U.gui.text.scanning=§aScanning
GT5U.gui.text.charging=§aCharging
GT5U.gui.text.microwaving=§aMicrowaving
GT5U.gui.text.no_routing=§7Can't route
@@ -1160,6 +1164,7 @@ GT5U.gui.text.invalid_overdrive_setting=§7Invalid overdrive setting
GT5U.gui.text.insufficient_power_no_val=§7Insufficient power
GT5U.gui.text.missing_upgrades=§7Missing upgrades
GT5U.gui.text.waiting_for_inputs=§7Waiting for inputs
+GT5U.gui.text.computation_loss=§4Shut down due to computation loss.
# RecipeMaps
gt.recipe.eyeofharmony=Eye of Harmony