aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorSampsa <69092953+S4mpsa@users.noreply.github.com>2024-08-11 12:24:47 +0300
committerGitHub <noreply@github.com>2024-08-11 16:24:47 +0700
commit7e153794ad1f79afa0014b82593060ffedc54a61 (patch)
tree4f4ad5b0097bfbacf93e8c4d4cfb507f32eeaa46 /src/main
parent1a505a74d5c54d6a547d5a381d662ea1774e597e (diff)
downloadGT5-Unofficial-7e153794ad1f79afa0014b82593060ffedc54a61.tar.gz
GT5-Unofficial-7e153794ad1f79afa0014b82593060ffedc54a61.tar.bz2
GT5-Unofficial-7e153794ad1f79afa0014b82593060ffedc54a61.zip
Retier Laser Hatch amperage, add Laser Mirror, add customizable amperage to Laser Hatches (#2859)
* Remove laser recipes based on tiers * Add 4M and 16M Laser Hatches * Add Laser Mirror * Add Laser Mirror recipe * Refactor mirror * Add customizable amperage to laser source hatches * Hide lasers from NEI, add customizable amperage to target hatches * Fix missing connection branch * Address review
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_NonMeta_MaterialItems.java6
-rw-r--r--src/main/java/com/github/technus/tectech/loader/recipe/Assembler.java528
-rw-r--r--src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java133
-rw-r--r--src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java743
-rw-r--r--src/main/java/com/github/technus/tectech/thing/CustomItemList.java15
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java9
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java74
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java9
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java61
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EnergyMirror.java224
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java6
-rw-r--r--src/main/java/gregtech/api/enums/MetaTileEntityIDs.java10
-rw-r--r--src/main/java/gregtech/api/interfaces/IItemContainer.java4
-rw-r--r--src/main/java/kubatech/api/enums/ItemList.java6
-rw-r--r--src/main/java/net/glease/ggfab/GGItemList.java6
-rw-r--r--src/main/resources/assets/gregtech/lang/en_US.lang1
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/EM_LASERMIRROR.pngbin0 -> 664 bytes
-rw-r--r--src/main/resources/assets/tectech/lang/en_US.lang4
18 files changed, 1016 insertions, 823 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_NonMeta_MaterialItems.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_NonMeta_MaterialItems.java
index db53437858..62c688f2ab 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_NonMeta_MaterialItems.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BW_NonMeta_MaterialItems.java
@@ -55,6 +55,12 @@ public enum BW_NonMeta_MaterialItems implements IItemContainer {
}
@Override
+ public IItemContainer hidden() {
+ codechicken.nei.api.API.hideItem(get(1L));
+ return this;
+ }
+
+ @Override
public Item getItem() {
if (this.mHasNotBeenSet)
throw new IllegalAccessError("The Enum '" + this.name() + "' has not been set to an Item at this time!");
diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/Assembler.java b/src/main/java/com/github/technus/tectech/loader/recipe/Assembler.java
index 35dea3f0ed..d0c34f50cd 100644
--- a/src/main/java/com/github/technus/tectech/loader/recipe/Assembler.java
+++ b/src/main/java/com/github/technus/tectech/loader/recipe/Assembler.java
@@ -1206,22 +1206,10 @@ public class Assembler implements Runnable {
}
- // Laser Dynamo IV-UXV 1024/t
+ // Laser Dynamo LuV-UXV 1024/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
- ItemList.Emitter_IV.get(2),
- ItemList.Electric_Pump_IV.get(2),
- GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.TungstenSteel, 4),
- GT_Utility.getIntegratedCircuit(2))
- .itemOutputs(CustomItemList.eM_dynamoTunnel2_IV.get(1))
- .duration(1 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
ItemList.Hull_LuV.get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
ItemList.Emitter_LuV.get(2),
@@ -1319,34 +1307,10 @@ public class Assembler implements Runnable {
}
- // Laser Dynamo IV-UXV 4096/t
+ // Laser Dynamo ZPM-UXV 4096/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
- ItemList.Emitter_IV.get(4),
- ItemList.Electric_Pump_IV.get(4),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 4),
- GT_Utility.getIntegratedCircuit(3))
- .itemOutputs(CustomItemList.eM_dynamoTunnel3_IV.get(1))
- .duration(3 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_LuV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
- ItemList.Emitter_LuV.get(4),
- ItemList.Electric_Pump_LuV.get(4),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 4),
- GT_Utility.getIntegratedCircuit(3))
- .itemOutputs(CustomItemList.eM_dynamoTunnel3_LuV.get(1))
- .duration(3 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_LuV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
ItemList.Hull_ZPM.get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
ItemList.Emitter_ZPM.get(4),
@@ -1432,46 +1396,10 @@ public class Assembler implements Runnable {
}
- // Laser Dynamo IV-UXV 16384/t
+ // Laser Dynamo UV-UXV 16384/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
- ItemList.Emitter_IV.get(8),
- ItemList.Electric_Pump_IV.get(8),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 8),
- GT_Utility.getIntegratedCircuit(4))
- .itemOutputs(CustomItemList.eM_dynamoTunnel4_IV.get(1))
- .duration(6 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_LuV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
- ItemList.Emitter_LuV.get(8),
- ItemList.Electric_Pump_LuV.get(8),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 8),
- GT_Utility.getIntegratedCircuit(4))
- .itemOutputs(CustomItemList.eM_dynamoTunnel4_LuV.get(1))
- .duration(6 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_LuV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_ZPM.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
- ItemList.Emitter_ZPM.get(8),
- ItemList.Electric_Pump_ZPM.get(8),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 8),
- GT_Utility.getIntegratedCircuit(4))
- .itemOutputs(CustomItemList.eM_dynamoTunnel4_ZPM.get(1))
- .duration(6 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_ZPM)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
ItemList.Hull_UV.get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
ItemList.Emitter_UV.get(8),
@@ -1545,58 +1473,10 @@ public class Assembler implements Runnable {
}
- // Laser Dynamo IV-UXV 65536/t
+ // Laser Dynamo UHV-UXV 65536/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
- ItemList.Emitter_IV.get(16),
- ItemList.Electric_Pump_IV.get(16),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 8),
- GT_Utility.getIntegratedCircuit(5))
- .itemOutputs(CustomItemList.eM_dynamoTunnel5_IV.get(1))
- .duration(13 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_LuV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
- ItemList.Emitter_LuV.get(16),
- ItemList.Electric_Pump_LuV.get(16),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 8),
- GT_Utility.getIntegratedCircuit(5))
- .itemOutputs(CustomItemList.eM_dynamoTunnel5_LuV.get(1))
- .duration(13 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_LuV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_ZPM.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
- ItemList.Emitter_ZPM.get(16),
- ItemList.Electric_Pump_ZPM.get(16),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 8),
- GT_Utility.getIntegratedCircuit(5))
- .itemOutputs(CustomItemList.eM_dynamoTunnel5_ZPM.get(1))
- .duration(13 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_ZPM)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_UV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
- ItemList.Emitter_UV.get(16),
- ItemList.Electric_Pump_UV.get(16),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 8),
- GT_Utility.getIntegratedCircuit(5))
- .itemOutputs(CustomItemList.eM_dynamoTunnel5_UV.get(1))
- .duration(13 * MINUTES + 20 * SECONDS)
- .eut(500000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
ItemList.Hull_MAX.get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
ItemList.Emitter_UHV.get(16),
@@ -1658,70 +1538,10 @@ public class Assembler implements Runnable {
}
- // Laser Dynamo IV-UXV 262144/t
+ // Laser Dynamo UEV-UXV 262144/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
- ItemList.Emitter_IV.get(32),
- ItemList.Electric_Pump_IV.get(32),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 16),
- GT_Utility.getIntegratedCircuit(6))
- .itemOutputs(CustomItemList.eM_dynamoTunnel6_IV.get(1))
- .duration(26 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_LuV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
- ItemList.Emitter_LuV.get(32),
- ItemList.Electric_Pump_LuV.get(32),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 16),
- GT_Utility.getIntegratedCircuit(6))
- .itemOutputs(CustomItemList.eM_dynamoTunnel6_LuV.get(1))
- .duration(26 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_LuV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_ZPM.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
- ItemList.Emitter_ZPM.get(32),
- ItemList.Electric_Pump_ZPM.get(32),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 16),
- GT_Utility.getIntegratedCircuit(6))
- .itemOutputs(CustomItemList.eM_dynamoTunnel6_ZPM.get(1))
- .duration(26 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_ZPM)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_UV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
- ItemList.Emitter_UV.get(32),
- ItemList.Electric_Pump_UV.get(32),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 16),
- GT_Utility.getIntegratedCircuit(6))
- .itemOutputs(CustomItemList.eM_dynamoTunnel6_UV.get(1))
- .duration(26 * MINUTES + 40 * SECONDS)
- .eut(500000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_MAX.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
- ItemList.Emitter_UHV.get(32),
- ItemList.Electric_Pump_UHV.get(32),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 16),
- GT_Utility.getIntegratedCircuit(6))
- .itemOutputs(CustomItemList.eM_dynamoTunnel6_UHV.get(1))
- .duration(26 * MINUTES + 40 * SECONDS)
- .eut(2000000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
getItemContainer("Hull_UEV").get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
ItemList.Emitter_UEV.get(32),
@@ -1771,82 +1591,10 @@ public class Assembler implements Runnable {
}
- // Laser Dynamo IV-UXV 1048576/t
+ // Laser Dynamo UIV-UXV 1048576/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Emitter_IV.get(64),
- ItemList.Electric_Pump_IV.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_dynamoTunnel7_IV.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_LuV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Emitter_LuV.get(64),
- ItemList.Electric_Pump_LuV.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.VanadiumGallium, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_dynamoTunnel7_LuV.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_LuV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_ZPM.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Emitter_ZPM.get(64),
- ItemList.Electric_Pump_ZPM.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_dynamoTunnel7_ZPM.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_ZPM)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_UV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Emitter_UV.get(64),
- ItemList.Electric_Pump_UV.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NaquadahAlloy, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_dynamoTunnel7_UV.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(500000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_MAX.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Emitter_UHV.get(64),
- ItemList.Electric_Pump_UHV.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_dynamoTunnel7_UHV.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(2000000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- getItemContainer("Hull_UEV").get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Emitter_UEV.get(64),
- ItemList.Electric_Pump_UEV.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_dynamoTunnel7_UEV.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(8000000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
getItemContainer("Hull_UIV").get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
ItemList.Emitter_UIV.get(64),
@@ -2000,22 +1748,10 @@ public class Assembler implements Runnable {
}
- // Laser Target IV-UXV 1024/t
+ // Laser Target LuV-UXV 1024/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
- ItemList.Sensor_IV.get(2),
- ItemList.Electric_Pump_IV.get(2),
- GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.TungstenSteel, 4),
- GT_Utility.getIntegratedCircuit(2))
- .itemOutputs(CustomItemList.eM_energyTunnel2_IV.get(1))
- .duration(1 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
ItemList.Hull_LuV.get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
ItemList.Sensor_LuV.get(2),
@@ -2113,34 +1849,10 @@ public class Assembler implements Runnable {
}
- // Laser Target IV-UXV 4096/t
+ // Laser Target ZPM-UXV 4096/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
- ItemList.Sensor_IV.get(4),
- ItemList.Electric_Pump_IV.get(4),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 4),
- GT_Utility.getIntegratedCircuit(3))
- .itemOutputs(CustomItemList.eM_energyTunnel3_IV.get(1))
- .duration(3 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_LuV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
- ItemList.Sensor_LuV.get(4),
- ItemList.Electric_Pump_LuV.get(4),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 4),
- GT_Utility.getIntegratedCircuit(3))
- .itemOutputs(CustomItemList.eM_energyTunnel3_LuV.get(1))
- .duration(3 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_LuV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
ItemList.Hull_ZPM.get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
ItemList.Sensor_ZPM.get(4),
@@ -2226,46 +1938,10 @@ public class Assembler implements Runnable {
}
- // Laser Target IV-UXV 16384/t
+ // Laser Target UV-UXV 16384/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
- ItemList.Sensor_IV.get(8),
- ItemList.Electric_Pump_IV.get(8),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 8),
- GT_Utility.getIntegratedCircuit(4))
- .itemOutputs(CustomItemList.eM_energyTunnel4_IV.get(1))
- .duration(6 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_LuV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
- ItemList.Sensor_LuV.get(8),
- ItemList.Electric_Pump_LuV.get(8),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 8),
- GT_Utility.getIntegratedCircuit(4))
- .itemOutputs(CustomItemList.eM_energyTunnel4_LuV.get(1))
- .duration(6 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_LuV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_ZPM.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
- ItemList.Sensor_ZPM.get(8),
- ItemList.Electric_Pump_ZPM.get(8),
- GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 8),
- GT_Utility.getIntegratedCircuit(4))
- .itemOutputs(CustomItemList.eM_energyTunnel4_ZPM.get(1))
- .duration(6 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_ZPM)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
ItemList.Hull_UV.get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
ItemList.Sensor_UV.get(8),
@@ -2339,58 +2015,10 @@ public class Assembler implements Runnable {
}
- // Laser Target IV-UXV 65536/t
+ // Laser Target UHV-UXV 65536/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
- ItemList.Sensor_IV.get(16),
- ItemList.Electric_Pump_IV.get(16),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 8),
- GT_Utility.getIntegratedCircuit(5))
- .itemOutputs(CustomItemList.eM_energyTunnel5_IV.get(1))
- .duration(13 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_LuV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
- ItemList.Sensor_LuV.get(16),
- ItemList.Electric_Pump_LuV.get(16),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 8),
- GT_Utility.getIntegratedCircuit(5))
- .itemOutputs(CustomItemList.eM_energyTunnel5_LuV.get(1))
- .duration(13 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_LuV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_ZPM.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
- ItemList.Sensor_ZPM.get(16),
- ItemList.Electric_Pump_ZPM.get(16),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 8),
- GT_Utility.getIntegratedCircuit(5))
- .itemOutputs(CustomItemList.eM_energyTunnel5_ZPM.get(1))
- .duration(13 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_ZPM)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_UV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
- ItemList.Sensor_UV.get(16),
- ItemList.Electric_Pump_UV.get(16),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 8),
- GT_Utility.getIntegratedCircuit(5))
- .itemOutputs(CustomItemList.eM_energyTunnel5_UV.get(1))
- .duration(13 * MINUTES + 20 * SECONDS)
- .eut(500000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
ItemList.Hull_MAX.get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
ItemList.Sensor_UHV.get(16),
@@ -2452,70 +2080,10 @@ public class Assembler implements Runnable {
}
- // Laser Target IV-UXV 262144/t
+ // Laser Target UEV-UXV 262144/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
- ItemList.Sensor_IV.get(32),
- ItemList.Electric_Pump_IV.get(32),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 16),
- GT_Utility.getIntegratedCircuit(6))
- .itemOutputs(CustomItemList.eM_energyTunnel6_IV.get(1))
- .duration(26 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_LuV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
- ItemList.Sensor_LuV.get(32),
- ItemList.Electric_Pump_LuV.get(32),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 16),
- GT_Utility.getIntegratedCircuit(6))
- .itemOutputs(CustomItemList.eM_energyTunnel6_LuV.get(1))
- .duration(26 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_LuV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_ZPM.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
- ItemList.Sensor_ZPM.get(32),
- ItemList.Electric_Pump_ZPM.get(32),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 16),
- GT_Utility.getIntegratedCircuit(6))
- .itemOutputs(CustomItemList.eM_energyTunnel6_ZPM.get(1))
- .duration(26 * MINUTES + 40 * SECONDS)
- .eut(TierEU.RECIPE_ZPM)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_UV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
- ItemList.Sensor_UV.get(32),
- ItemList.Electric_Pump_UV.get(32),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 16),
- GT_Utility.getIntegratedCircuit(6))
- .itemOutputs(CustomItemList.eM_energyTunnel6_UV.get(1))
- .duration(26 * MINUTES + 40 * SECONDS)
- .eut(500000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_MAX.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
- ItemList.Sensor_UHV.get(32),
- ItemList.Electric_Pump_UHV.get(32),
- GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 16),
- GT_Utility.getIntegratedCircuit(6))
- .itemOutputs(CustomItemList.eM_energyTunnel6_UHV.get(1))
- .duration(26 * MINUTES + 40 * SECONDS)
- .eut(2000000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
getItemContainer("Hull_UEV").get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
ItemList.Sensor_UEV.get(32),
@@ -2565,82 +2133,10 @@ public class Assembler implements Runnable {
}
- // Laser Target IV-UXV 1048576/t
+ // Laser Target UIV-UXV 1048576/t
{
GT_Values.RA.stdBuilder()
.itemInputs(
- ItemList.Hull_IV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Sensor_IV.get(64),
- ItemList.Electric_Pump_IV.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_energyTunnel7_IV.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_IV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_LuV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Sensor_LuV.get(64),
- ItemList.Electric_Pump_LuV.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.VanadiumGallium, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_energyTunnel7_LuV.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_LuV)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_ZPM.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Sensor_ZPM.get(64),
- ItemList.Electric_Pump_ZPM.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_energyTunnel7_ZPM.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(TierEU.RECIPE_ZPM)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_UV.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Sensor_UV.get(64),
- ItemList.Electric_Pump_UV.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NaquadahAlloy, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_energyTunnel7_UV.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(500000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- ItemList.Hull_MAX.get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Sensor_UHV.get(64),
- ItemList.Electric_Pump_UHV.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_energyTunnel7_UHV.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(2000000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
- getItemContainer("Hull_UEV").get(1),
- GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
- ItemList.Sensor_UEV.get(64),
- ItemList.Electric_Pump_UEV.get(64),
- GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 16),
- GT_Utility.getIntegratedCircuit(7))
- .itemOutputs(CustomItemList.eM_energyTunnel7_UEV.get(1))
- .duration(53 * MINUTES + 20 * SECONDS)
- .eut(8000000)
- .addTo(assemblerRecipes);
- GT_Values.RA.stdBuilder()
- .itemInputs(
getItemContainer("Hull_UIV").get(1),
GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
ItemList.Sensor_UIV.get(64),
diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java b/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java
index 515d68e409..20a3a662c2 100644
--- a/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java
+++ b/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java
@@ -560,6 +560,21 @@ public class ResearchStationAssemblyLine implements Runnable {
300 * 20,
8_000_000);
+ // Laser Vacuum Mirror
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.LASERpipe.get(1L),
+ 20_000,
+ 16,
+ 40_000,
+ 2,
+ new Object[] { CustomItemList.eM_Power.get(1L), CustomItemList.LASERpipe.get(4L),
+ GT_ModHandler.getModItem(GTPlusPlus.ID, "itemPlateDenseChromaticGlass", 1),
+ ItemList.Circuit_Chip_QPIC.get(2L), new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1L } },
+ new FluidStack[] { Materials.Grade4PurifiedWater.getFluid(4000L) },
+ CustomItemList.LASERpipeSmart.get(1L),
+ 10 * 20,
+ (int) TierEU.RECIPE_UHV);
+
// Transcendent Plasma Mixer - TPM.
TT_recipeAdder.addResearchableAssemblylineRecipe(
CustomItemList.eM_energyTunnel7_UV.get(1),
@@ -3025,7 +3040,8 @@ public class ResearchStationAssemblyLine implements Runnable {
ItemStack[] laserTargets_UXV = { CustomItemList.eM_energyTunnel1_UXV.get(1),
CustomItemList.eM_energyTunnel2_UXV.get(1), CustomItemList.eM_energyTunnel3_UXV.get(1),
CustomItemList.eM_energyTunnel4_UXV.get(1), CustomItemList.eM_energyTunnel5_UXV.get(1),
- CustomItemList.eM_energyTunnel6_UXV.get(1), CustomItemList.eM_energyTunnel7_UXV.get(1) };
+ CustomItemList.eM_energyTunnel6_UXV.get(1), CustomItemList.eM_energyTunnel7_UXV.get(1),
+ CustomItemList.eM_energyTunnel8_UXV.get(1), CustomItemList.eM_energyTunnel9_UXV.get(1) };
ItemStack[] dynamoHatches = { ItemList.Hatch_Dynamo_ULV.get(1), ItemList.Hatch_Dynamo_LV.get(1),
ItemList.Hatch_Dynamo_MV.get(1), ItemList.Hatch_Dynamo_HV.get(1), ItemList.Hatch_Dynamo_EV.get(1),
@@ -3087,7 +3103,8 @@ public class ResearchStationAssemblyLine implements Runnable {
ItemStack[] wirelessLasers = { CustomItemList.eM_energyWirelessTunnel1_UXV.get(1),
CustomItemList.eM_energyWirelessTunnel2_UXV.get(1), CustomItemList.eM_energyWirelessTunnel3_UXV.get(1),
CustomItemList.eM_energyWirelessTunnel4_UXV.get(1), CustomItemList.eM_energyWirelessTunnel5_UXV.get(1),
- CustomItemList.eM_energyWirelessTunnel6_UXV.get(1), CustomItemList.eM_energyWirelessTunnel7_UXV.get(1) };
+ CustomItemList.eM_energyWirelessTunnel6_UXV.get(1), CustomItemList.eM_energyWirelessTunnel7_UXV.get(1),
+ CustomItemList.eM_energyWirelessTunnel8_UXV.get(1), CustomItemList.eM_energyWirelessTunnel9_UXV.get(1) };
ItemStack[] wirelessDynamos = { ItemList.Wireless_Dynamo_Energy_ULV.get(1),
ItemList.Wireless_Dynamo_Energy_LV.get(1), ItemList.Wireless_Dynamo_Energy_MV.get(1),
@@ -3219,6 +3236,118 @@ public class ResearchStationAssemblyLine implements Runnable {
recipeEuPerTick);
}
+ // ------------------------ 4MA+ Lasers ------------------------
+
+ // 4M UMV Target
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_energyTunnel7_UMV.get(1),
+ totalComputation * 48,
+ compPerSecond * 48,
+ researchEuPerTick * 3,
+ researchAmperage * 16,
+ new Object[] { getItemContainer("Hull_UMV").get(1),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UMV.get(64),
+ ItemList.Emitter_UMV.get(64), ItemList.Electric_Pump_UMV.get(64), ItemList.Electric_Pump_UMV.get(64),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Quantium, 32) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 64 * 4) },
+ CustomItemList.eM_energyTunnel8_UMV.get(1),
+ 53 * MINUTES + 20 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+
+ // 4M UXV Target
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_energyTunnel7_UXV.get(1),
+ totalComputation * 64,
+ compPerSecond * 64,
+ researchEuPerTick * 4,
+ researchAmperage * 16,
+ new Object[] { getItemContainer("Hull_UXV").get(1),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UXV.get(64),
+ ItemList.Sensor_UXV.get(64), ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 32) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 64 * 4) },
+ CustomItemList.eM_energyTunnel8_UXV.get(1),
+ 106 * MINUTES + 40 * SECONDS,
+ (int) TierEU.RECIPE_UXV);
+
+ // 16M UXV Target
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_energyTunnel8_UXV.get(1),
+ totalComputation * 64,
+ compPerSecond * 64,
+ researchEuPerTick * 4,
+ researchAmperage * 16,
+ new Object[] { getItemContainer("Hull_UXV").get(1),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UXV.get(64),
+ ItemList.Sensor_UXV.get(64), ItemList.Sensor_UXV.get(64), ItemList.Sensor_UXV.get(64),
+ ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 64) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 128 * 4) },
+ CustomItemList.eM_energyTunnel9_UXV.get(1),
+ 213 * MINUTES + 20 * SECONDS,
+ (int) TierEU.RECIPE_UXV);
+
+ // 4M UMV Source
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_dynamoTunnel7_UMV.get(1),
+ totalComputation * 48,
+ compPerSecond * 48,
+ researchEuPerTick * 3,
+ researchAmperage * 16,
+ new Object[] { getItemContainer("Hull_UMV").get(1),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UMV.get(64),
+ ItemList.Sensor_UMV.get(64), ItemList.Electric_Pump_UMV.get(64), ItemList.Electric_Pump_UMV.get(64),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Quantium, 32) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 64 * 4) },
+ CustomItemList.eM_dynamoTunnel8_UMV.get(1),
+ 53 * MINUTES + 20 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+
+ // 4M UXV Source
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_dynamoTunnel7_UXV.get(1),
+ totalComputation * 64,
+ compPerSecond * 64,
+ researchEuPerTick * 4,
+ researchAmperage * 16,
+ new Object[] { getItemContainer("Hull_UXV").get(1),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UXV.get(64),
+ ItemList.Sensor_UXV.get(64), ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 32) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 64 * 4) },
+ CustomItemList.eM_dynamoTunnel8_UXV.get(1),
+ 106 * MINUTES + 40 * SECONDS,
+ (int) TierEU.RECIPE_UXV);
+
+ // 16M UXV Source
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_dynamoTunnel8_UXV.get(1),
+ totalComputation * 64,
+ compPerSecond * 64,
+ researchEuPerTick * 4,
+ researchAmperage * 16,
+ new Object[] { getItemContainer("Hull_UXV").get(1),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UXV.get(64),
+ ItemList.Emitter_UXV.get(64), ItemList.Emitter_UXV.get(64), ItemList.Emitter_UXV.get(64),
+ ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 64) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 128 * 4) },
+ CustomItemList.eM_dynamoTunnel9_UXV.get(1),
+ 213 * MINUTES + 20 * SECONDS,
+ (int) TierEU.RECIPE_UXV);
+
// ------------------------ Wireless EU dynamos ------------------------
for (int i = 0; i < wirelessHatches.length; i++) {
diff --git a/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java
index ecbe748705..4f64213d4e 100644
--- a/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java
@@ -4,6 +4,7 @@ import static com.github.technus.tectech.thing.CustomItemList.DATApipe;
import static com.github.technus.tectech.thing.CustomItemList.DATApipeBlock;
import static com.github.technus.tectech.thing.CustomItemList.LASERpipe;
import static com.github.technus.tectech.thing.CustomItemList.LASERpipeBlock;
+import static com.github.technus.tectech.thing.CustomItemList.LASERpipeSmart;
import static com.github.technus.tectech.thing.CustomItemList.Machine_BuckConverter_IV;
import static com.github.technus.tectech.thing.CustomItemList.Machine_BuckConverter_LuV;
import static com.github.technus.tectech.thing.CustomItemList.Machine_BuckConverter_UEV;
@@ -159,7 +160,10 @@ import static com.github.technus.tectech.thing.CustomItemList.eM_dynamoTunnel7_U
import static com.github.technus.tectech.thing.CustomItemList.eM_dynamoTunnel7_UV;
import static com.github.technus.tectech.thing.CustomItemList.eM_dynamoTunnel7_UXV;
import static com.github.technus.tectech.thing.CustomItemList.eM_dynamoTunnel7_ZPM;
+import static com.github.technus.tectech.thing.CustomItemList.eM_dynamoTunnel8_UMV;
+import static com.github.technus.tectech.thing.CustomItemList.eM_dynamoTunnel8_UXV;
import static com.github.technus.tectech.thing.CustomItemList.eM_dynamoTunnel9001;
+import static com.github.technus.tectech.thing.CustomItemList.eM_dynamoTunnel9_UXV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyMulti16_EV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyMulti16_IV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyMulti16_LuV;
@@ -253,7 +257,10 @@ import static com.github.technus.tectech.thing.CustomItemList.eM_energyTunnel7_U
import static com.github.technus.tectech.thing.CustomItemList.eM_energyTunnel7_UV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyTunnel7_UXV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyTunnel7_ZPM;
+import static com.github.technus.tectech.thing.CustomItemList.eM_energyTunnel8_UMV;
+import static com.github.technus.tectech.thing.CustomItemList.eM_energyTunnel8_UXV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyTunnel9001;
+import static com.github.technus.tectech.thing.CustomItemList.eM_energyTunnel9_UXV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyWirelessMulti16_EV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyWirelessMulti16_IV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyWirelessMulti16_LuV;
@@ -294,6 +301,8 @@ import static com.github.technus.tectech.thing.CustomItemList.eM_energyWirelessT
import static com.github.technus.tectech.thing.CustomItemList.eM_energyWirelessTunnel5_UXV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyWirelessTunnel6_UXV;
import static com.github.technus.tectech.thing.CustomItemList.eM_energyWirelessTunnel7_UXV;
+import static com.github.technus.tectech.thing.CustomItemList.eM_energyWirelessTunnel8_UXV;
+import static com.github.technus.tectech.thing.CustomItemList.eM_energyWirelessTunnel9_UXV;
import static com.github.technus.tectech.thing.CustomItemList.hatch_CreativeData;
import static com.github.technus.tectech.thing.CustomItemList.hatch_CreativeMaintenance;
import static com.github.technus.tectech.thing.CustomItemList.hatch_CreativeUncertainty;
@@ -345,6 +354,7 @@ import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pi
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_PipeBlock_Energy;
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data;
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EnergyMirror;
import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_BuckConverter;
import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DebugPollutor;
import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_DebugPowerGenerator;
@@ -352,6 +362,8 @@ import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_
import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_OwnerDetector;
import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_TeslaCoil;
+import gregtech.api.enums.MetaTileEntityIDs;
+
/**
* Created by danie_000 on 16.11.2016.
*/
@@ -778,6 +790,20 @@ public class MachineLoader implements Runnable {
"UXV 1,048,576A Wireless Energy Hatch",
13,
1048576).getStackForm(1L));
+ eM_energyWirelessTunnel8_UXV.set(
+ new GT_MetaTileEntity_Hatch_WirelessMulti(
+ MetaTileEntityIDs.WIRELESS_LASER_UXV8.ID,
+ "hatch.energywirelesstunnel8.tier.13",
+ "UXV 4,194,304A Wireless Energy Hatch",
+ 13,
+ 4194304).getStackForm(1L));
+ eM_energyWirelessTunnel9_UXV.set(
+ new GT_MetaTileEntity_Hatch_WirelessMulti(
+ MetaTileEntityIDs.WIRELESS_LASER_UXV9.ID,
+ "hatch.energywirelesstunnel9.tier.13",
+ "UXV 16,777,216A Wireless Energy Hatch",
+ 13,
+ 16777216).getStackForm(1L));
// ===================================================================================================
// Multi AMP Laser INPUTS
// ===================================================================================================
@@ -789,48 +815,60 @@ public class MachineLoader implements Runnable {
"IV 256A/t Laser Target Hatch",
5,
256).getStackForm(1L));
- eM_energyTunnel2_IV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15140,
- "hatch.energytunnel2.tier.05",
- "IV 1,024A/t Laser Target Hatch",
- 5,
- 1024).getStackForm(1L));
- eM_energyTunnel3_IV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15150,
- "hatch.energytunnel3.tier.05",
- "IV 4,096A/t Laser Target Hatch",
- 5,
- 4096).getStackForm(1L));
- eM_energyTunnel4_IV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15160,
- "hatch.energytunnel4.tier.05",
- "IV 16,384A/t Laser Target Hatch",
- 5,
- 16384).getStackForm(1L));
- eM_energyTunnel5_IV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15170,
- "hatch.energytunnel5.tier.05",
- "IV 65,536A/t Laser Target Hatch",
- 5,
- 65536).getStackForm(1L));
- eM_energyTunnel6_IV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15180,
- "hatch.energytunnel6.tier.05",
- "IV 262,144A/t Laser Target Hatch",
- 5,
- 262144).getStackForm(1L));
- eM_energyTunnel7_IV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15190,
- "hatch.energytunnel7.tier.05",
- "IV 1,048,576A/t Laser Target Hatch",
- 5,
- 1048576).getStackForm(1L));
+ eM_energyTunnel2_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15140,
+ "hatch.energytunnel2.tier.05",
+ "IV 1,024A/t Laser Target Hatch",
+ 5,
+ 1024).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel3_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15150,
+ "hatch.energytunnel3.tier.05",
+ "IV 4,096A/t Laser Target Hatch",
+ 5,
+ 4096).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel4_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15160,
+ "hatch.energytunnel4.tier.05",
+ "IV 16,384A/t Laser Target Hatch",
+ 5,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel5_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15170,
+ "hatch.energytunnel5.tier.05",
+ "IV 65,536A/t Laser Target Hatch",
+ 5,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel6_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15180,
+ "hatch.energytunnel6.tier.05",
+ "IV 262,144A/t Laser Target Hatch",
+ 5,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel7_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15190,
+ "hatch.energytunnel7.tier.05",
+ "IV 1,048,576A/t Laser Target Hatch",
+ 5,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_energyTunnel1_LuV.set(
new GT_MetaTileEntity_Hatch_EnergyTunnel(
@@ -846,41 +884,51 @@ public class MachineLoader implements Runnable {
"LuV 1,024A/t Laser Target Hatch",
6,
1024).getStackForm(1L));
- eM_energyTunnel3_LuV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15151,
- "hatch.energytunnel3.tier.06",
- "LuV 4,096A/t Laser Target Hatch",
- 6,
- 4096).getStackForm(1L));
- eM_energyTunnel4_LuV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15161,
- "hatch.energytunnel4.tier.06",
- "LuV 16,384A/t Laser Target Hatch",
- 6,
- 16384).getStackForm(1L));
- eM_energyTunnel5_LuV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15171,
- "hatch.energytunnel5.tier.06",
- "LuV 65,536A/t Laser Target Hatch",
- 6,
- 65536).getStackForm(1L));
- eM_energyTunnel6_LuV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15181,
- "hatch.energytunnel6.tier.06",
- "LuV 262,144A/t Laser Target Hatch",
- 6,
- 262144).getStackForm(1L));
- eM_energyTunnel7_LuV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15191,
- "hatch.energytunnel7.tier.06",
- "LuV 1,048,576A/t Laser Target Hatch",
- 6,
- 1048576).getStackForm(1L));
+ eM_energyTunnel3_LuV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15151,
+ "hatch.energytunnel3.tier.06",
+ "LuV 4,096A/t Laser Target Hatch",
+ 6,
+ 4096).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel4_LuV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15161,
+ "hatch.energytunnel4.tier.06",
+ "LuV 16,384A/t Laser Target Hatch",
+ 6,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel5_LuV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15171,
+ "hatch.energytunnel5.tier.06",
+ "LuV 65,536A/t Laser Target Hatch",
+ 6,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel6_LuV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15181,
+ "hatch.energytunnel6.tier.06",
+ "LuV 262,144A/t Laser Target Hatch",
+ 6,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel7_LuV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15191,
+ "hatch.energytunnel7.tier.06",
+ "LuV 1,048,576A/t Laser Target Hatch",
+ 6,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_energyTunnel1_ZPM.set(
new GT_MetaTileEntity_Hatch_EnergyTunnel(
@@ -903,34 +951,42 @@ public class MachineLoader implements Runnable {
"ZPM 4,096A/t Laser Target Hatch",
7,
4096).getStackForm(1L));
- eM_energyTunnel4_ZPM.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15162,
- "hatch.energytunnel4.tier.07",
- "ZPM 16,384A/t Laser Target Hatch",
- 7,
- 16384).getStackForm(1L));
- eM_energyTunnel5_ZPM.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15172,
- "hatch.energytunnel5.tier.07",
- "ZPM 65,536A/t Laser Target Hatch",
- 7,
- 65536).getStackForm(1L));
- eM_energyTunnel6_ZPM.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15182,
- "hatch.energytunnel6.tier.07",
- "ZPM 262,144A/t Laser Target Hatch",
- 7,
- 262144).getStackForm(1L));
- eM_energyTunnel7_ZPM.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15192,
- "hatch.energytunnel7.tier.07",
- "ZPM 1,048,576A/t Laser Target Hatch",
- 7,
- 1048576).getStackForm(1L));
+ eM_energyTunnel4_ZPM
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15162,
+ "hatch.energytunnel4.tier.07",
+ "ZPM 16,384A/t Laser Target Hatch",
+ 7,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel5_ZPM
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15172,
+ "hatch.energytunnel5.tier.07",
+ "ZPM 65,536A/t Laser Target Hatch",
+ 7,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel6_ZPM
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15182,
+ "hatch.energytunnel6.tier.07",
+ "ZPM 262,144A/t Laser Target Hatch",
+ 7,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel7_ZPM
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15192,
+ "hatch.energytunnel7.tier.07",
+ "ZPM 1,048,576A/t Laser Target Hatch",
+ 7,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_energyTunnel1_UV.set(
new GT_MetaTileEntity_Hatch_EnergyTunnel(
@@ -960,27 +1016,33 @@ public class MachineLoader implements Runnable {
"UV 16,384A/t Laser Target Hatch",
8,
16384).getStackForm(1L));
- eM_energyTunnel5_UV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15173,
- "hatch.energytunnel5.tier.08",
- "UV 65,536A/t Laser Target Hatch",
- 8,
- 65536).getStackForm(1L));
- eM_energyTunnel6_UV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15183,
- "hatch.energytunnel6.tier.08",
- "UV 262,144A/t Laser Target Hatch",
- 8,
- 262144).getStackForm(1L));
- eM_energyTunnel7_UV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15193,
- "hatch.energytunnel7.tier.08",
- "UV 1,048,576A/t Laser Target Hatch",
- 8,
- 1048576).getStackForm(1L));
+ eM_energyTunnel5_UV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15173,
+ "hatch.energytunnel5.tier.08",
+ "UV 65,536A/t Laser Target Hatch",
+ 8,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel6_UV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15183,
+ "hatch.energytunnel6.tier.08",
+ "UV 262,144A/t Laser Target Hatch",
+ 8,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel7_UV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15193,
+ "hatch.energytunnel7.tier.08",
+ "UV 1,048,576A/t Laser Target Hatch",
+ 8,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_energyTunnel1_UHV.set(
new GT_MetaTileEntity_Hatch_EnergyTunnel(
@@ -1017,20 +1079,24 @@ public class MachineLoader implements Runnable {
"UHV 65,536A/t Laser Target Hatch",
9,
65536).getStackForm(1L));
- eM_energyTunnel6_UHV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15184,
- "hatch.energytunnel6.tier.09",
- "UHV 262,144A/t Laser Target Hatch",
- 9,
- 262144).getStackForm(1L));
- eM_energyTunnel7_UHV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15194,
- "hatch.energytunnel7.tier.09",
- "UHV 1,048,576A/t Laser Target Hatch",
- 9,
- 1048576).getStackForm(1L));
+ eM_energyTunnel6_UHV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15184,
+ "hatch.energytunnel6.tier.09",
+ "UHV 262,144A/t Laser Target Hatch",
+ 9,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel7_UHV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15194,
+ "hatch.energytunnel7.tier.09",
+ "UHV 1,048,576A/t Laser Target Hatch",
+ 9,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_energyTunnel1_UEV.set(
new GT_MetaTileEntity_Hatch_EnergyTunnel(
@@ -1074,13 +1140,15 @@ public class MachineLoader implements Runnable {
"UEV 262,144A/t Laser Target Hatch",
10,
262144).getStackForm(1L));
- eM_energyTunnel7_UEV.set(
- new GT_MetaTileEntity_Hatch_EnergyTunnel(
- 15195,
- "hatch.energytunnel7.tier.10",
- "UEV 1,048,576A/t Laser Target Hatch",
- 10,
- 1048576).getStackForm(1L));
+ eM_energyTunnel7_UEV
+ .set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ 15195,
+ "hatch.energytunnel7.tier.10",
+ "UEV 1,048,576A/t Laser Target Hatch",
+ 10,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_energyTunnel1_UIV.set(
new GT_MetaTileEntity_Hatch_EnergyTunnel(
@@ -1181,6 +1249,13 @@ public class MachineLoader implements Runnable {
"UMV 1,048,576A/t Laser Target Hatch",
12,
1048576).getStackForm(1L));
+ eM_energyTunnel8_UMV.set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ MetaTileEntityIDs.LASER_TARGET_UMV8.ID,
+ "hatch.energytunnel8.tier.12",
+ "UMV 4,194,304A/t Laser Target Hatch",
+ 12,
+ 4194304).getStackForm(1L));
eM_energyTunnel1_UXV.set(
new GT_MetaTileEntity_Hatch_EnergyTunnel(
@@ -1231,6 +1306,20 @@ public class MachineLoader implements Runnable {
"UXV 1,048,576A/t Laser Target Hatch",
13,
1048576).getStackForm(1L));
+ eM_energyTunnel8_UXV.set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ MetaTileEntityIDs.LASER_TARGET_UXV8.ID,
+ "hatch.energytunnel8.tier.13",
+ "UXV 4,194,304A/t Laser Target Hatch",
+ 13,
+ 4194304).getStackForm(1L));
+ eM_energyTunnel9_UXV.set(
+ new GT_MetaTileEntity_Hatch_EnergyTunnel(
+ MetaTileEntityIDs.LASER_TARGET_UXV9.ID,
+ "hatch.energytunnel9.tier.13",
+ "UXV 16,777,216A/t Laser Target Hatch",
+ 13,
+ 16777216).getStackForm(1L));
eM_energyTunnel9001.set(
new GT_MetaTileEntity_Hatch_EnergyTunnel(
15199,
@@ -1385,48 +1474,60 @@ public class MachineLoader implements Runnable {
"IV 256A/t Laser Source Hatch",
5,
256).getStackForm(1L));
- eM_dynamoTunnel2_IV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15240,
- "hatch.dynamotunnel2.tier.05",
- "IV 1,024A/t Laser Source Hatch",
- 5,
- 1024).getStackForm(1L));
- eM_dynamoTunnel3_IV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15250,
- "hatch.dynamotunnel3.tier.05",
- "IV 4,096A/t Laser Source Hatch",
- 5,
- 4096).getStackForm(1L));
- eM_dynamoTunnel4_IV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15260,
- "hatch.dynamotunnel4.tier.05",
- "IV 16,384A/t Laser Source Hatch",
- 5,
- 16384).getStackForm(1L));
- eM_dynamoTunnel5_IV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15270,
- "hatch.dynamotunnel5.tier.05",
- "IV 65,536A/t Laser Source Hatch",
- 5,
- 65536).getStackForm(1L));
- eM_dynamoTunnel6_IV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15280,
- "hatch.dynamotunnel6.tier.05",
- "IV 262,144A/t Laser Source Hatch",
- 5,
- 262144).getStackForm(1L));
- eM_dynamoTunnel7_IV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15290,
- "hatch.dynamotunnel7.tier.05",
- "IV 1,048,576A/t Laser Source Hatch",
- 5,
- 1048576).getStackForm(1L));
+ eM_dynamoTunnel2_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15240,
+ "hatch.dynamotunnel2.tier.05",
+ "IV 1,024A/t Laser Source Hatch",
+ 5,
+ 1024).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel3_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15250,
+ "hatch.dynamotunnel3.tier.05",
+ "IV 4,096A/t Laser Source Hatch",
+ 5,
+ 4096).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel4_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15260,
+ "hatch.dynamotunnel4.tier.05",
+ "IV 16,384A/t Laser Source Hatch",
+ 5,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel5_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15270,
+ "hatch.dynamotunnel5.tier.05",
+ "IV 65,536A/t Laser Source Hatch",
+ 5,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel6_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15280,
+ "hatch.dynamotunnel6.tier.05",
+ "IV 262,144A/t Laser Source Hatch",
+ 5,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel7_IV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15290,
+ "hatch.dynamotunnel7.tier.05",
+ "IV 1,048,576A/t Laser Source Hatch",
+ 5,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_dynamoTunnel1_LuV.set(
new GT_MetaTileEntity_Hatch_DynamoTunnel(
@@ -1442,41 +1543,51 @@ public class MachineLoader implements Runnable {
"LuV 1,024A/t Laser Source Hatch",
6,
1024).getStackForm(1L));
- eM_dynamoTunnel3_LuV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15251,
- "hatch.dynamotunnel3.tier.06",
- "LuV 4,096A/t Laser Source Hatch",
- 6,
- 4096).getStackForm(1L));
- eM_dynamoTunnel4_LuV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15261,
- "hatch.dynamotunnel4.tier.06",
- "LuV 16,384A/t Laser Source Hatch",
- 6,
- 16384).getStackForm(1L));
- eM_dynamoTunnel5_LuV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15271,
- "hatch.dynamotunnel5.tier.06",
- "LuV 65,536A/t Laser Source Hatch",
- 6,
- 65536).getStackForm(1L));
- eM_dynamoTunnel6_LuV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15281,
- "hatch.dynamotunnel6.tier.06",
- "LuV 262,144A/t Laser Source Hatch",
- 6,
- 262144).getStackForm(1L));
- eM_dynamoTunnel7_LuV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15291,
- "hatch.dynamotunnel7.tier.06",
- "LuV 1,048,576A/t Laser Source Hatch",
- 6,
- 1048576).getStackForm(1L));
+ eM_dynamoTunnel3_LuV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15251,
+ "hatch.dynamotunnel3.tier.06",
+ "LuV 4,096A/t Laser Source Hatch",
+ 6,
+ 4096).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel4_LuV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15261,
+ "hatch.dynamotunnel4.tier.06",
+ "LuV 16,384A/t Laser Source Hatch",
+ 6,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel5_LuV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15271,
+ "hatch.dynamotunnel5.tier.06",
+ "LuV 65,536A/t Laser Source Hatch",
+ 6,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel6_LuV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15281,
+ "hatch.dynamotunnel6.tier.06",
+ "LuV 262,144A/t Laser Source Hatch",
+ 6,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel7_LuV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15291,
+ "hatch.dynamotunnel7.tier.06",
+ "LuV 1,048,576A/t Laser Source Hatch",
+ 6,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_dynamoTunnel1_ZPM.set(
new GT_MetaTileEntity_Hatch_DynamoTunnel(
@@ -1499,34 +1610,42 @@ public class MachineLoader implements Runnable {
"ZPM 4,096A/t Laser Source Hatch",
7,
4096).getStackForm(1L));
- eM_dynamoTunnel4_ZPM.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15262,
- "hatch.dynamotunnel4.tier.07",
- "ZPM 16,384A/t Laser Source Hatch",
- 7,
- 16384).getStackForm(1L));
- eM_dynamoTunnel5_ZPM.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15272,
- "hatch.dynamotunnel5.tier.07",
- "ZPM 65,536A/t Laser Source Hatch",
- 7,
- 65536).getStackForm(1L));
- eM_dynamoTunnel6_ZPM.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15282,
- "hatch.dynamotunnel6.tier.07",
- "ZPM 262,144A/t Laser Source Hatch",
- 7,
- 262144).getStackForm(1L));
- eM_dynamoTunnel7_ZPM.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15292,
- "hatch.dynamotunnel7.tier.07",
- "ZPM 1,048,576A/t Laser Source Hatch",
- 7,
- 1048576).getStackForm(1L));
+ eM_dynamoTunnel4_ZPM
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15262,
+ "hatch.dynamotunnel4.tier.07",
+ "ZPM 16,384A/t Laser Source Hatch",
+ 7,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel5_ZPM
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15272,
+ "hatch.dynamotunnel5.tier.07",
+ "ZPM 65,536A/t Laser Source Hatch",
+ 7,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel6_ZPM
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15282,
+ "hatch.dynamotunnel6.tier.07",
+ "ZPM 262,144A/t Laser Source Hatch",
+ 7,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel7_ZPM
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15292,
+ "hatch.dynamotunnel7.tier.07",
+ "ZPM 1,048,576A/t Laser Source Hatch",
+ 7,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_dynamoTunnel1_UV.set(
new GT_MetaTileEntity_Hatch_DynamoTunnel(
@@ -1556,27 +1675,33 @@ public class MachineLoader implements Runnable {
"UV 16,384A/t Laser Source Hatch",
8,
16384).getStackForm(1L));
- eM_dynamoTunnel5_UV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15273,
- "hatch.dynamotunnel5.tier.08",
- "UV 65,536A/t Laser Source Hatch",
- 8,
- 65536).getStackForm(1L));
- eM_dynamoTunnel6_UV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15283,
- "hatch.dynamotunnel6.tier.08",
- "UV 262,144A/t Laser Source Hatch",
- 8,
- 262144).getStackForm(1L));
- eM_dynamoTunnel7_UV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15293,
- "hatch.dynamotunnel7.tier.08",
- "UV 1,048,576A/t Laser Source Hatch",
- 8,
- 1048576).getStackForm(1L));
+ eM_dynamoTunnel5_UV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15273,
+ "hatch.dynamotunnel5.tier.08",
+ "UV 65,536A/t Laser Source Hatch",
+ 8,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel6_UV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15283,
+ "hatch.dynamotunnel6.tier.08",
+ "UV 262,144A/t Laser Source Hatch",
+ 8,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel7_UV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15293,
+ "hatch.dynamotunnel7.tier.08",
+ "UV 1,048,576A/t Laser Source Hatch",
+ 8,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_dynamoTunnel1_UHV.set(
new GT_MetaTileEntity_Hatch_DynamoTunnel(
@@ -1613,20 +1738,24 @@ public class MachineLoader implements Runnable {
"UHV 65,536A/t Laser Source Hatch",
9,
65536).getStackForm(1L));
- eM_dynamoTunnel6_UHV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15284,
- "hatch.dynamotunnel6.tier.09",
- "UHV 262,144A/t Laser Source Hatch",
- 9,
- 262144).getStackForm(1L));
- eM_dynamoTunnel7_UHV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15294,
- "hatch.dynamotunnel7.tier.09",
- "UHV 1,048,576A/t Laser Source Hatch",
- 9,
- 1048576).getStackForm(1L));
+ eM_dynamoTunnel6_UHV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15284,
+ "hatch.dynamotunnel6.tier.09",
+ "UHV 262,144A/t Laser Source Hatch",
+ 9,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel7_UHV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15294,
+ "hatch.dynamotunnel7.tier.09",
+ "UHV 1,048,576A/t Laser Source Hatch",
+ 9,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_dynamoTunnel1_UEV.set(
new GT_MetaTileEntity_Hatch_DynamoTunnel(
@@ -1670,13 +1799,15 @@ public class MachineLoader implements Runnable {
"UEV 262,144A/t Laser Source Hatch",
10,
262144).getStackForm(1L));
- eM_dynamoTunnel7_UEV.set(
- new GT_MetaTileEntity_Hatch_DynamoTunnel(
- 15295,
- "hatch.dynamotunnel7.tier.10",
- "UEV 1,048,576A/t Laser Source Hatch",
- 10,
- 1048576).getStackForm(1L));
+ eM_dynamoTunnel7_UEV
+ .set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ 15295,
+ "hatch.dynamotunnel7.tier.10",
+ "UEV 1,048,576A/t Laser Source Hatch",
+ 10,
+ 1048576).getStackForm(1L))
+ .hidden();
eM_dynamoTunnel1_UIV.set(
new GT_MetaTileEntity_Hatch_DynamoTunnel(
@@ -1777,6 +1908,13 @@ public class MachineLoader implements Runnable {
"UMV 1,048,576A/t Laser Source Hatch",
12,
1048576).getStackForm(1L));
+ eM_dynamoTunnel8_UMV.set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ MetaTileEntityIDs.LASER_SOURCE_UMV8.ID,
+ "hatch.dynamotunnel8.tier.12",
+ "UMV 4,194,304A/t Laser Source Hatch",
+ 12,
+ 4194304).getStackForm(1L));
eM_dynamoTunnel1_UXV.set(
new GT_MetaTileEntity_Hatch_DynamoTunnel(
@@ -1827,6 +1965,20 @@ public class MachineLoader implements Runnable {
"UXV 1,048,576A/t Laser Source Hatch",
13,
1048576).getStackForm(1L));
+ eM_dynamoTunnel8_UXV.set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ MetaTileEntityIDs.LASER_SOURCE_UXV8.ID,
+ "hatch.dynamotunnel8.tier.13",
+ "UXV 4,194,304A/t Laser Source Hatch",
+ 13,
+ 4194304).getStackForm(1L));
+ eM_dynamoTunnel9_UXV.set(
+ new GT_MetaTileEntity_Hatch_DynamoTunnel(
+ MetaTileEntityIDs.LASER_SOURCE_UXV9.ID,
+ "hatch.dynamotunnel9.tier.13",
+ "UXV 16,777,216A/t Laser Source Hatch",
+ 13,
+ 16777216).getStackForm(1L));
eM_dynamoTunnel9001.set(
new GT_MetaTileEntity_Hatch_DynamoTunnel(
15299,
@@ -1976,6 +2128,9 @@ public class MachineLoader implements Runnable {
LASERpipe
.set(new GT_MetaTileEntity_Pipe_Energy(15465, "pipe.energystream", "Laser Vacuum Pipe").getStackForm(1L));
+ LASERpipeSmart.set(
+ new GT_MetaTileEntity_Pipe_EnergyMirror(15466, "pipe.energymirror", "Laser Vacuum Mirror")
+ .getStackForm(1L));
DATApipe.set(new GT_MetaTileEntity_Pipe_Data(15470, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L));
LASERpipeBlock.set(
diff --git a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java
index 4e10eaa74f..79e53e2239 100644
--- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java
+++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java
@@ -158,6 +158,7 @@ public enum CustomItemList implements IItemContainer {
eM_dynamoTunnel5_UMV,
eM_dynamoTunnel6_UMV,
eM_dynamoTunnel7_UMV,
+ eM_dynamoTunnel8_UMV,
eM_dynamoTunnel1_UXV,
eM_dynamoTunnel2_UXV,
eM_dynamoTunnel3_UXV,
@@ -165,6 +166,8 @@ public enum CustomItemList implements IItemContainer {
eM_dynamoTunnel5_UXV,
eM_dynamoTunnel6_UXV,
eM_dynamoTunnel7_UXV,
+ eM_dynamoTunnel8_UXV,
+ eM_dynamoTunnel9_UXV,
eM_dynamoTunnel9001,
eM_energyMulti4_EV,
@@ -286,6 +289,7 @@ public enum CustomItemList implements IItemContainer {
eM_energyTunnel5_UMV,
eM_energyTunnel6_UMV,
eM_energyTunnel7_UMV,
+ eM_energyTunnel8_UMV,
eM_energyTunnel1_UXV,
eM_energyTunnel2_UXV,
eM_energyTunnel3_UXV,
@@ -293,6 +297,8 @@ public enum CustomItemList implements IItemContainer {
eM_energyTunnel5_UXV,
eM_energyTunnel6_UXV,
eM_energyTunnel7_UXV,
+ eM_energyTunnel8_UXV,
+ eM_energyTunnel9_UXV,
eM_energyTunnel9001,
eM_energyWirelessTunnel1_UXV,
eM_energyWirelessTunnel2_UXV,
@@ -301,6 +307,8 @@ public enum CustomItemList implements IItemContainer {
eM_energyWirelessTunnel5_UXV,
eM_energyWirelessTunnel6_UXV,
eM_energyWirelessTunnel7_UXV,
+ eM_energyWirelessTunnel8_UXV,
+ eM_energyWirelessTunnel9_UXV,
Parametrizer_Hatch,
ParametrizerX_Hatch,
@@ -411,6 +419,7 @@ public enum CustomItemList implements IItemContainer {
Machine_TeslaCoil_4by4_IV,
DATApipeBlock,
LASERpipeBlock,
+ LASERpipeSmart,
SpacetimeCompressionFieldGeneratorTier0,
SpacetimeCompressionFieldGeneratorTier1,
@@ -478,6 +487,12 @@ public enum CustomItemList implements IItemContainer {
}
@Override
+ public IItemContainer hidden() {
+ codechicken.nei.api.API.hideItem(get(1L));
+ return this;
+ }
+
+ @Override
public Item getItem() {
if (mHasNotBeenSet) {
throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java
index 7664f13f42..4ada48b3d3 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java
@@ -21,7 +21,8 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
*/
public class GT_MetaTileEntity_Hatch_DynamoMulti extends GT_MetaTileEntity_Hatch {
- public final int Amperes;
+ public final int maxAmperes;
+ public int Amperes;
public GT_MetaTileEntity_Hatch_DynamoMulti(int aID, String aName, String aNameRegional, int aTier, int aAmp) {
super(
@@ -33,20 +34,20 @@ public class GT_MetaTileEntity_Hatch_DynamoMulti extends GT_MetaTileEntity_Hatch
new String[] { CommonValues.TEC_MARK_GENERAL,
translateToLocal("gt.blockmachines.hatch.dynamomulti.desc.0") }); // Multiple Ampere Energy
// Extractor for Multiblocks
- Amperes = aAmp;
+ Amperes = maxAmperes = aAmp;
TT_Utility.setTier(aTier, this);
}
public GT_MetaTileEntity_Hatch_DynamoMulti(String aName, int aTier, int aAmp, String[] aDescription,
ITexture[][][] aTextures) {
super(aName, aTier, 0, aDescription, aTextures);
- Amperes = aAmp;
+ Amperes = maxAmperes = aAmp;
}
public GT_MetaTileEntity_Hatch_DynamoMulti(int aID, String aName, String aNameRegional, int aTier, int i,
String[] description, int aAmp) {
super(aID, aName, aNameRegional, aTier, 0, description);
- Amperes = aAmp;
+ Amperes = maxAmperes = aAmp;
}
@Override
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java
index d94370ed97..6ee5280e51 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java
@@ -7,14 +7,24 @@ import static net.minecraft.util.StatCollector.translateToLocal;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.util.ForgeDirection;
import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel;
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Energy;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_EnergyMirror;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.util.TT_Utility;
+import com.gtnewhorizons.modularui.api.math.Alignment;
+import com.gtnewhorizons.modularui.api.math.Color;
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
+import com.gtnewhorizons.modularui.common.widget.TextWidget;
+import com.gtnewhorizons.modularui.common.widget.textfield.NumericWidget;
+import gregtech.api.gui.modularui.GT_UIInfos;
+import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -154,13 +164,30 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc
}
}
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ super.saveNBTData(aNBT);
+ if (Amperes != maxAmperes) {
+ aNBT.setInteger("amperes", Amperes);
+ }
+ }
+
+ @Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ int savedAmperes = aNBT.getInteger("amperes");
+ if (savedAmperes != 0) {
+ Amperes = savedAmperes;
+ }
+ }
+
private void moveAround(IGregTechTileEntity aBaseMetaTileEntity) {
byte color = getBaseMetaTileEntity().getColorization();
if (color < 0) {
return;
}
final ForgeDirection front = aBaseMetaTileEntity.getFrontFacing();
- final ForgeDirection opposite = front.getOpposite();
+ ForgeDirection opposite = front.getOpposite();
for (short dist = 1; dist < 1000; dist++) {
IGregTechTileEntity tGTTileEntity = aBaseMetaTileEntity
@@ -168,6 +195,18 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc
if (tGTTileEntity != null && tGTTileEntity.getColorization() == color) {
IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity();
if (aMetaTileEntity != null) {
+ // If we hit a mirror, use the mirror's view instead
+ if (aMetaTileEntity instanceof GT_MetaTileEntity_Pipe_EnergyMirror tMirror) {
+
+ tGTTileEntity = tMirror.bendAround(opposite);
+ if (tGTTileEntity == null) {
+ break;
+ } else {
+ aMetaTileEntity = tGTTileEntity.getMetaTileEntity();
+ opposite = tMirror.getChainedFrontFacing();
+ }
+ }
+
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel
&& opposite == tGTTileEntity.getFrontFacing()) {
if (maxEUOutput() > ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) {
@@ -219,6 +258,39 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc
}
@Override
+ public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
+ GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer);
+ return true;
+ }
+
+ @Override
+ public boolean useModularUI() {
+ return true;
+ }
+
+ @Override
+ public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
+ builder.setBackground(GT_UITextures.BACKGROUND_SINGLEBLOCK_DEFAULT);
+ builder.setGuiTint(getGUIColorization());
+ final int x = getGUIWidth() / 2 - 37;
+ final int y = getGUIHeight() / 5 - 7;
+ builder.widget(
+ TextWidget.localised("GT5U.machines.laser_hatch.amperage")
+ .setPos(x, y)
+ .setSize(74, 14))
+ .widget(
+ new NumericWidget().setSetter(val -> Amperes = (int) val)
+ .setGetter(() -> Amperes)
+ .setBounds(1, maxAmperes)
+ .setScrollValues(1, 4, 64)
+ .setTextAlignment(Alignment.Center)
+ .setTextColor(Color.WHITE.normal)
+ .setSize(70, 18)
+ .setPos(x, y + 16)
+ .setBackground(GT_UITextures.BACKGROUND_TEXT_FIELD));
+ }
+
+ @Override
public boolean canConnect(ForgeDirection side) {
return isOutputFacing(side);
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java
index 20c3b993f5..6b84e75530 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java
@@ -22,7 +22,8 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
*/
public class GT_MetaTileEntity_Hatch_EnergyMulti extends GT_MetaTileEntity_Hatch {
- public final int Amperes;
+ public final int maxAmperes;
+ public int Amperes;
public GT_MetaTileEntity_Hatch_EnergyMulti(int aID, String aName, String aNameRegional, int aTier, int aAmp) {
super(
@@ -34,20 +35,20 @@ public class GT_MetaTileEntity_Hatch_EnergyMulti extends GT_MetaTileEntity_Hatch
new String[] { CommonValues.TEC_MARK_GENERAL, translateToLocal("gt.blockmachines.hatch.energymulti.desc.0"),
translateToLocalFormatted("gt.blockmachines.hatch.energymulti.desc.2", aAmp + (aAmp >> 2)),
translateToLocalFormatted("gt.blockmachines.hatch.energymulti.desc.3", aAmp) });
- Amperes = aAmp;
+ Amperes = maxAmperes = aAmp;
TT_Utility.setTier(aTier, this);
}
public GT_MetaTileEntity_Hatch_EnergyMulti(String aName, int aTier, int aAmp, String[] aDescription,
ITexture[][][] aTextures) {
super(aName, aTier, 0, aDescription, aTextures);
- Amperes = aAmp;
+ Amperes = maxAmperes = aAmp;
}
public GT_MetaTileEntity_Hatch_EnergyMulti(int aID, String aName, String aNameRegional, int aTier, int i,
String[] description, int aAmp) {
super(aID, aName, aNameRegional, aTier, 0, description);
- Amperes = aAmp;
+ Amperes = maxAmperes = aAmp;
}
@Override
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java
index 30b8f32685..071379e367 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java
@@ -7,13 +7,22 @@ import static net.minecraft.util.StatCollector.translateToLocal;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.util.ForgeDirection;
import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel;
import com.github.technus.tectech.util.CommonValues;
import com.github.technus.tectech.util.TT_Utility;
-
+import com.gtnewhorizons.modularui.api.math.Alignment;
+import com.gtnewhorizons.modularui.api.math.Color;
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
+import com.gtnewhorizons.modularui.common.widget.TextWidget;
+import com.gtnewhorizons.modularui.common.widget.textfield.NumericWidget;
+
+import gregtech.api.gui.modularui.GT_UIInfos;
+import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
@@ -131,6 +140,56 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc
}
@Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ super.saveNBTData(aNBT);
+ if (Amperes != maxAmperes) {
+ aNBT.setInteger("amperes", Amperes);
+ }
+ }
+
+ @Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ int savedAmperes = aNBT.getInteger("amperes");
+ if (savedAmperes != 0) {
+ Amperes = savedAmperes;
+ }
+ }
+
+ @Override
+ public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
+ GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer);
+ return true;
+ }
+
+ @Override
+ public boolean useModularUI() {
+ return true;
+ }
+
+ @Override
+ public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
+ builder.setBackground(GT_UITextures.BACKGROUND_SINGLEBLOCK_DEFAULT);
+ builder.setGuiTint(getGUIColorization());
+ final int x = getGUIWidth() / 2 - 37;
+ final int y = getGUIHeight() / 5 - 7;
+ builder.widget(
+ TextWidget.localised("GT5U.machines.laser_hatch.amperage")
+ .setPos(x, y)
+ .setSize(74, 14))
+ .widget(
+ new NumericWidget().setSetter(val -> Amperes = (int) val)
+ .setGetter(() -> Amperes)
+ .setBounds(1, maxAmperes)
+ .setScrollValues(1, 4, 64)
+ .setTextAlignment(Alignment.Center)
+ .setTextColor(Color.WHITE.normal)
+ .setSize(70, 18)
+ .setPos(x, y + 16)
+ .setBackground(GT_UITextures.BACKGROUND_TEXT_FIELD));
+ }
+
+ @Override
public boolean canConnect(ForgeDirection side) {
return isInputFacing(side);
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EnergyMirror.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EnergyMirror.java
new file mode 100644
index 0000000000..c6cba91e75
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EnergyMirror.java
@@ -0,0 +1,224 @@
+package com.github.technus.tectech.thing.metaTileEntity.pipe;
+
+import static gregtech.api.enums.Dyes.MACHINE_METAL;
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import com.github.technus.tectech.TecTech;
+import com.github.technus.tectech.loader.NetworkDispatcher;
+import com.github.technus.tectech.mechanics.pipe.IConnectsToEnergyTunnel;
+import com.github.technus.tectech.mechanics.pipe.PipeActivityMessage;
+import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyTunnel;
+import com.github.technus.tectech.util.CommonValues;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.GT_Mod;
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IColoredTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.logic.PowerLogic;
+import gregtech.api.logic.interfaces.PowerLogicHost;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.common.GT_Client;
+
+public class GT_MetaTileEntity_Pipe_EnergyMirror extends GT_MetaTileEntity_Pipe_Energy {
+
+ private static Textures.BlockIcons.CustomIcon EMpipe;
+ private ForgeDirection[] connectedSides = { null, null };
+ private ForgeDirection chainedFrontFacing = null;
+
+ private boolean active;
+
+ public GT_MetaTileEntity_Pipe_EnergyMirror(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
+
+ public GT_MetaTileEntity_Pipe_EnergyMirror(String aName) {
+ super(aName);
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) {
+ return new GT_MetaTileEntity_Pipe_EnergyMirror(mName);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister aBlockIconRegister) {
+ EMpipe = new Textures.BlockIcons.CustomIcon("iconsets/EM_LASERMIRROR");
+ super.registerIcons(aBlockIconRegister);
+ }
+
+ @Override
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, int aConnections,
+ int colorIndex, boolean aConnected, boolean aRedstone) {
+ return new ITexture[] { new GT_RenderedTexture(EMpipe),
+ new GT_RenderedTexture(
+ getActive() ? EMCandyActive : EMcandy,
+ Dyes.getModulation(colorIndex, MACHINE_METAL.getRGBA())) };
+ }
+
+ @Override
+ public String[] getDescription() {
+ return new String[] { CommonValues.TEC_MARK_EM, translateToLocal("gt.blockmachines.pipe.energymirror.desc.0"),
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockmachines.pipe.energystream.desc.1"),
+ EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.energystream.desc.2"),
+ EnumChatFormatting.AQUA + translateToLocal("gt.blockmachines.pipe.energymirror.desc.1") };
+ }
+
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ if (aBaseMetaTileEntity.isServerSide()) {
+ if ((aTick & 31) == 31) {
+ if (TecTech.RANDOM.nextInt(15) == 0) {
+ NetworkDispatcher.INSTANCE.sendToAllAround(
+ new PipeActivityMessage.PipeActivityData(this),
+ aBaseMetaTileEntity.getWorld().provider.dimensionId,
+ aBaseMetaTileEntity.getXCoord(),
+ aBaseMetaTileEntity.getYCoord(),
+ aBaseMetaTileEntity.getZCoord(),
+ 256);
+ }
+ if (active) {
+ active = false;
+ }
+ mConnections = 0;
+ connectedSides[0] = null;
+ connectedSides[1] = null;
+ connectionCount = 0;
+ if (aBaseMetaTileEntity.getColorization() < 0) {
+ return;
+ }
+ for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) {
+ // We only allow a single bend
+ if (connectionCount < 2) {
+ final ForgeDirection oppositeSide = side.getOpposite();
+ TileEntity tTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(side);
+ if (tTileEntity instanceof IColoredTileEntity) {
+ byte tColor = ((IColoredTileEntity) tTileEntity).getColorization();
+ if (tColor != aBaseMetaTileEntity.getColorization()) {
+ continue;
+ }
+ }
+ if (tTileEntity instanceof PowerLogicHost) {
+ PowerLogic logic = ((PowerLogicHost) tTileEntity).getPowerLogic(oppositeSide);
+ if (logic != null && logic.canUseLaser()) {
+ mConnections |= 1 << side.ordinal();
+ connectedSides[connectionCount] = side;
+ connectionCount++;
+ continue;
+ }
+ }
+ if (tTileEntity instanceof IConnectsToEnergyTunnel
+ && ((IConnectsToEnergyTunnel) tTileEntity).canConnect(oppositeSide)) {
+ mConnections |= 1 << side.ordinal();
+ connectedSides[connectionCount] = side;
+ connectionCount++;
+ } else if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity)
+ .getMetaTileEntity() instanceof IConnectsToEnergyTunnel) {
+ if (((IConnectsToEnergyTunnel) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())
+ .canConnect(oppositeSide)) {
+ mConnections |= 1 << side.ordinal();
+ connectedSides[connectionCount] = side;
+ connectionCount++;
+ }
+ }
+ }
+ }
+ }
+
+ } else if (aBaseMetaTileEntity.isClientSide() && GT_Client.changeDetected == 4) {
+ aBaseMetaTileEntity.issueTextureUpdate();
+ }
+ }
+
+ public ForgeDirection getBendDirection(ForgeDirection dir) {
+ for (ForgeDirection bendDir : connectedSides) {
+ if (bendDir != dir) {
+ chainedFrontFacing = bendDir.getOpposite();
+ return bendDir;
+ }
+ }
+ return null;
+ }
+
+ public ForgeDirection getChainedFrontFacing() {
+ return chainedFrontFacing;
+ }
+
+ public IGregTechTileEntity bendAround(ForgeDirection inputSide) {
+ byte color = getBaseMetaTileEntity().getColorization();
+ if (color < 0) {
+ return null;
+ } else {
+ ForgeDirection direction = getBendDirection(inputSide);
+ if (direction == null) {
+ return null;
+ }
+ ForgeDirection opposite = direction.getOpposite();
+ for (short dist = 1; dist < 1000; dist++) {
+
+ IGregTechTileEntity tGTTileEntity = getBaseMetaTileEntity()
+ .getIGregTechTileEntityAtSideAndDistance(direction, dist);
+ if (tGTTileEntity != null && tGTTileEntity.getColorization() == color) {
+ IMetaTileEntity aMetaTileEntity = tGTTileEntity.getMetaTileEntity();
+ if (aMetaTileEntity != null) {
+ // If we hit a mirror, use the mirror's view instead
+ if (aMetaTileEntity instanceof GT_MetaTileEntity_Pipe_EnergyMirror tMirror) {
+ tGTTileEntity = tMirror.bendAround(opposite);
+ if (tGTTileEntity == null) {
+ break;
+ } else {
+ aMetaTileEntity = tGTTileEntity.getMetaTileEntity();
+ chainedFrontFacing = tMirror.getChainedFrontFacing();
+ opposite = chainedFrontFacing;
+ }
+ }
+
+ if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel
+ && opposite == tGTTileEntity.getFrontFacing()) {
+ return tGTTileEntity;
+ } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Pipe_Energy) {
+ if (((GT_MetaTileEntity_Pipe_Energy) aMetaTileEntity).connectionCount < 2) {
+ return null;
+ } else {
+ ((GT_MetaTileEntity_Pipe_Energy) aMetaTileEntity).markUsed();
+ }
+ } else {
+ return null;
+ }
+ } else {
+ if (tGTTileEntity instanceof PowerLogicHost) {
+ PowerLogic logic = ((PowerLogicHost) tGTTileEntity).getPowerLogic(opposite);
+ if (logic == null || !logic.canUseLaser() || opposite != tGTTileEntity.getFrontFacing()) {
+ return tGTTileEntity;
+ }
+ }
+ return null;
+ }
+ } else {
+ return null;
+ }
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public float getThickNess() {
+ if (GT_Mod.instance.isClientSide() && GT_Client.hideValue == 1) {
+ return 0.0625F;
+ }
+ return 0.6f;
+ }
+
+}
diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java
index 57a44373b6..4ab1261289 100644
--- a/src/main/java/gregtech/api/enums/ItemList.java
+++ b/src/main/java/gregtech/api/enums/ItemList.java
@@ -2142,6 +2142,12 @@ public enum ItemList implements IItemContainer {
}
@Override
+ public IItemContainer hidden() {
+ codechicken.nei.api.API.hideItem(get(1L));
+ return this;
+ }
+
+ @Override
public Item getItem() {
sanityCheck();
if (GT_Utility.isStackInvalid(mStack)) return null;
diff --git a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java
index de74b51806..a81d0f902d 100644
--- a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java
+++ b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java
@@ -702,7 +702,15 @@ public enum MetaTileEntityIDs {
tfft(13104),
lsc(13106),
tfftHatch(13109),
- WORMHOLE_GENERATOR_CONTROLLER(13115);
+ WORMHOLE_GENERATOR_CONTROLLER(13115),
+ LASER_SOURCE_UMV8(16020),
+ LASER_SOURCE_UXV8(16021),
+ LASER_SOURCE_UXV9(16022),
+ LASER_TARGET_UMV8(16023),
+ LASER_TARGET_UXV8(16024),
+ LASER_TARGET_UXV9(16025),
+ WIRELESS_LASER_UXV8(16026),
+ WIRELESS_LASER_UXV9(16027);
public final int ID;
diff --git a/src/main/java/gregtech/api/interfaces/IItemContainer.java b/src/main/java/gregtech/api/interfaces/IItemContainer.java
index de94606e95..0b647d9c01 100644
--- a/src/main/java/gregtech/api/interfaces/IItemContainer.java
+++ b/src/main/java/gregtech/api/interfaces/IItemContainer.java
@@ -28,6 +28,10 @@ public interface IItemContainer {
IItemContainer set(ItemStack aStack);
+ default IItemContainer hidden() {
+ return this;
+ }
+
IItemContainer registerOre(Object... aOreNames);
IItemContainer registerWildcardAsOre(Object... aOreNames);
diff --git a/src/main/java/kubatech/api/enums/ItemList.java b/src/main/java/kubatech/api/enums/ItemList.java
index 3a26974c0a..02943e3b22 100644
--- a/src/main/java/kubatech/api/enums/ItemList.java
+++ b/src/main/java/kubatech/api/enums/ItemList.java
@@ -94,6 +94,12 @@ public enum ItemList implements IItemContainer {
}
@Override
+ public IItemContainer hidden() {
+ codechicken.nei.api.API.hideItem(get(1L));
+ return this;
+ }
+
+ @Override
public Item getItem() {
if (mHasNotBeenSet)
throw new IllegalAccessError("The Enum '" + name() + "' has not been set to an Item at this time!");
diff --git a/src/main/java/net/glease/ggfab/GGItemList.java b/src/main/java/net/glease/ggfab/GGItemList.java
index d77d3854e1..3cfc14758c 100644
--- a/src/main/java/net/glease/ggfab/GGItemList.java
+++ b/src/main/java/net/glease/ggfab/GGItemList.java
@@ -54,6 +54,12 @@ public enum GGItemList implements IItemContainer {
}
@Override
+ public IItemContainer hidden() {
+ codechicken.nei.api.API.hideItem(get(1L));
+ return this;
+ }
+
+ @Override
public IItemContainer set(ItemStack aStack) {
mHasNotBeenSet = false;
mStack = GT_Utility.copyAmount(1, aStack);
diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang
index 1c651fb2d5..f81340f6a3 100644
--- a/src/main/resources/assets/gregtech/lang/en_US.lang
+++ b/src/main/resources/assets/gregtech/lang/en_US.lang
@@ -445,6 +445,7 @@ GT5U.machines.dronecentre.turnoff=Successfully turn off all machines!
GT5U.machines.dronecentre.noconnection=No valid connection
GT5U.machines.dronecentre.enableRender=Enable Drone Render
GT5U.machines.dronecentre.disableRender=Disable Drone Render
+GT5U.machines.laser_hatch.amperage=Amperage
GT5U.recipe_filter.empty_representation_slot.tooltip=§7Click with a machine to set filter
GT5U.recipe_filter.representation_slot.tooltip=§7Click to clear
diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/EM_LASERMIRROR.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/EM_LASERMIRROR.png
new file mode 100644
index 0000000000..9c52785d6b
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/EM_LASERMIRROR.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/lang/en_US.lang b/src/main/resources/assets/tectech/lang/en_US.lang
index 55e93a3a23..e58168a9f5 100644
--- a/src/main/resources/assets/tectech/lang/en_US.lang
+++ b/src/main/resources/assets/tectech/lang/en_US.lang
@@ -1081,6 +1081,10 @@ gt.blockmachines.pipe.energystream.desc.1=Bright Vacuum!!!
gt.blockmachines.pipe.energystream.desc.2=Must be painted to work
gt.blockmachines.pipe.energystream.desc.3=Do not split or turn
+gt.blockmachines.pipe.energymirror.name=Laser Vacuum Mirror
+gt.blockmachines.pipe.energymirror.desc.0=Laser reflection device.
+gt.blockmachines.pipe.energymirror.desc.1=Can turn but not split
+
gt.blockmachines.pipe.datastream.name=Optical Fiber Cable
gt.blockmachines.pipe.datastream.desc.0=Advanced data transmission
gt.blockmachines.pipe.datastream.desc.1=Don't stare at the beam!