aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMadMan310 <66886359+MadMan310@users.noreply.github.com>2022-11-29 01:50:58 -0800
committerGitHub <noreply@github.com>2022-11-29 10:50:58 +0100
commitf985e28ae553428945f3ce3841ac036c98266128 (patch)
tree278c857c13493a8d0fdaebfb9a3d9cb90d07a774
parent766af258761d0cc88d44169d06ae47198218078e (diff)
downloadGT5-Unofficial-f985e28ae553428945f3ce3841ac036c98266128.tar.gz
GT5-Unofficial-f985e28ae553428945f3ce3841ac036c98266128.tar.bz2
GT5-Unofficial-f985e28ae553428945f3ce3841ac036c98266128.zip
Component Assembly Line (#102)
* Initial Commit * Added recipe generator for components LV-IV * Added recipe generator for components LuV and beyond This one took a LONG time to make work... * Added structure and recipe processing * Added Recipes for Controller and Casings * Cleanup * Assline gives proper amount same as assembler * tooltip fix * add support for BW glass and warded glass * Added proper NEI handler * spotless * Spotless apply for branch componentAssemblyLine for #102 (#103) * Update build-and-test.yml * fix missing hatch element (#92) * fix missing hatch element * spotlessApply (#93) Co-authored-by: Yang Xizhi <60341015+GlodBlock@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix bunch of yottank issues (#94) * yot tank/hatch fix * dep * Add better naq fuel recipes to combat fusion spam (#91) * Add higher tier naq fuel recipes * Fix Hypogen (hopefully) * Spotless >:( * Slightly change tooltip on the Precise Assembler (#95) 0.03 mm changed to 7nm * fix 0 stack of nuclear rod (#98) * naq fuel change (#96) * naq fuel change * Spotless apply for branch naqfuel for #96 (#97) * Slightly change tooltip on the Precise Assembler (#95) 0.03 mm changed to 7nm * spotlessApply Co-authored-by: MadMan310 <66886359+MadMan310@users.noreply.github.com> Co-authored-by: Yang Xizhi <60341015+GlodBlock@users.noreply.github.com> Co-authored-by: GitHub GTNH Actions <> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: MadMan310 <66886359+MadMan310@users.noreply.github.com> * Naq Fuel 1,2,3 Changes (#99) * Naq Emulsion line changes * Mk1 recipe change * Fuel value changes * Mk2 fuel recipe changes * Radiation proof plate recipe changes * Fix sludge dust centrifuge amounts * Remove Hafnium recipe for now * Spotless * thorium balance change (#76) * Add implementation for tank info getter (#101) * Add void excess option to yotta fluid tank (#100) * Add void excess option to yotta fluid tank * derp * Added own localization of void excess toggle messages * Update build.gradle * update bc * spotlessApply Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: Yang Xizhi <60341015+GlodBlock@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Co-authored-by: MadMan310 <66886359+MadMan310@users.noreply.github.com> Co-authored-by: xSkewer <43712386+xSkewer@users.noreply.github.com> Co-authored-by: Maxim <maxim235@gmx.de> Co-authored-by: GitHub GTNH Actions <> * cleanup handler * Overhauled recipe generator, added circuit wraps, buffed output efficiency * Structure re-tiering * Gravi -> Nuclear for UHV components (due to overflowing) * spotless * added new casings * removed some debug info and added dep * Fixed magnetic samarium fluid and other autogenerations * fixed recipe tiering * Removed Nuclear Star, to be replaced by the GT5U version * spotless * fixed recipe handling Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: Yang Xizhi <60341015+GlodBlock@users.noreply.github.com> Co-authored-by: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Co-authored-by: xSkewer <43712386+xSkewer@users.noreply.github.com> Co-authored-by: Maxim <maxim235@gmx.de>
-rw-r--r--build.gradle6
-rw-r--r--dependencies.gradle36
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/ComponentAssemblyLine.java744
-rw-r--r--src/main/java/goodgenerator/crossmod/nei/ComponentAssemblyLineHandler.java38
-rw-r--r--src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java9
-rw-r--r--src/main/java/goodgenerator/crossmod/nei/NEI_Config.java1
-rw-r--r--src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java459
-rw-r--r--src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java360
-rw-r--r--src/main/java/goodgenerator/loader/Loaders.java44
-rw-r--r--src/main/java/goodgenerator/util/ItemRefer.java16
-rw-r--r--src/main/java/goodgenerator/util/Log.java8
-rw-r--r--src/main/java/goodgenerator/util/MyRecipeAdder.java111
-rw-r--r--src/main/java/goodgenerator/util/StackUtils.java81
-rw-r--r--src/main/resources/assets/goodgenerator/lang/en_US.lang32
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/0.pngbin0 -> 528 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/1.pngbin0 -> 522 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/10.pngbin0 -> 520 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/11.pngbin0 -> 526 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/12.pngbin0 -> 516 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/13.pngbin0 -> 514 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/2.pngbin0 -> 529 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/3.pngbin0 -> 519 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/4.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/5.pngbin0 -> 527 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/6.pngbin0 -> 530 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/7.pngbin0 -> 527 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/8.pngbin0 -> 525 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/blocks/compAsslineCasing/9.pngbin0 -> 525 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/gui/ComponentAssline.pngbin0 -> 2310 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/0.pngbin0 -> 748 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/1.pngbin0 -> 738 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/10.pngbin0 -> 757 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/11.pngbin0 -> 746 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/12.pngbin0 -> 755 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/13.pngbin0 -> 756 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/14.pngbin0 -> 747 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/2.pngbin0 -> 747 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/3.pngbin0 -> 750 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/4.pngbin0 -> 744 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/5.pngbin0 -> 739 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/6.pngbin0 -> 754 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/7.pngbin0 -> 790 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/8.pngbin0 -> 740 bytes
-rw-r--r--src/main/resources/assets/goodgenerator/textures/items/wraps/9.pngbin0 -> 760 bytes
44 files changed, 1923 insertions, 22 deletions
diff --git a/build.gradle b/build.gradle
index 9298d9e5a9..89350b8a35 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,4 +1,4 @@
-//version: 1667597057
+//version: 1669411416
/*
DO NOT CHANGE THIS FILE!
Also, you may replace this file at any time if there is an update available.
@@ -338,10 +338,10 @@ dependencies {
annotationProcessor('org.ow2.asm:asm-debug-all:5.0.3')
annotationProcessor('com.google.guava:guava:24.1.1-jre')
annotationProcessor('com.google.code.gson:gson:2.8.6')
- annotationProcessor('org.spongepowered:mixin:0.8.5-GTNH:processor')
+ annotationProcessor('com.gtnewhorizon:gtnhmixins:2.1.1:processor')
}
if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) {
- compile('com.gtnewhorizon:gtnhmixins:2.0.1')
+ compile('com.gtnewhorizon:gtnhmixins:2.1.1')
}
}
diff --git a/dependencies.gradle b/dependencies.gradle
index ffcd89b25d..57e7036f58 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -2,30 +2,34 @@
dependencies {
- compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.141:dev')
- compile('com.github.GTNewHorizons:StructureLib:1.1.7:dev')
- compile('com.github.GTNewHorizons:bartworks:0.5.94:dev')
- compile('com.github.GTNewHorizons:NotEnoughItems:2.2.28-GTNH:dev')
- compile('com.github.GTNewHorizons:TecTech:5.0.37:dev')
+ compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.148:dev')
+ compile('com.github.GTNewHorizons:StructureLib:1.1.7:dev')
+ compile('com.github.GTNewHorizons:bartworks:0.5.94:dev') {
+ exclude group:"com.github.GTNewHorizons", module:"SpongePoweredMixin"
+ exclude group:"com.github.GTNewHorizons", module:"SpongeMixins"
+ }
+ compile('com.github.GTNewHorizons:NotEnoughItems:2.2.28-GTNH:dev')
+ compile('com.github.GTNewHorizons:TecTech:5.0.37:dev')
- compile('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev')
- compile('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev')
+ compile('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev')
+ compile('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev')
- compileOnly('com.github.GTNewHorizons:EnderCore:0.2.6:dev') {transitive = false}
+ compileOnly('com.github.GTNewHorizons:EnderCore:0.2.6:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-97-GTNH:dev') {transitive = false}
- compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.76:dev') {transitive = false}
- compileOnly('com.github.GTNewHorizons:AppleCore:3.1.9:dev') {transitive = false}
- compileOnly('com.github.GTNewHorizons:ForestryMC:4.4.12:dev') {transitive = false}
- compileOnly('com.github.GTNewHorizons:Railcraft:9.13.9:dev') {transitive = false}
- compileOnly('com.github.GTNewHorizons:EnderIO:2.3.1.43:dev') {transitive = false}
+ compileOnly('com.github.GTNewHorizons:GTplusplus:1.7.76:dev') {transitive = false}
+ compileOnly('com.github.GTNewHorizons:AppleCore:3.1.9:dev') {transitive = false}
+ compileOnly('com.github.GTNewHorizons:ForestryMC:4.4.12:dev') {transitive = false}
+ compileOnly('com.github.GTNewHorizons:Railcraft:9.13.9:dev') {transitive = false}
+ compileOnly('com.github.GTNewHorizons:EnderIO:2.3.1.43:dev') {transitive = false}
compileOnly('com.github.GTNewHorizons:ExtraCells2:2.5.19:dev') {transitive = false}
- compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.27:dev') {transitive = false}
- compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.3.19-GTNH:dev') {transitive = false}
+
+ compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.27:dev') {transitive = false}
+ compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.3.19-GTNH:dev') {transitive = false}
compileOnly("com.github.GTNewHorizons:ProjectRed:4.7.7-GTNH:dev") {transitive = false}
runtime('com.github.GTNewHorizons:NewHorizonsCoreMod:1.9.106:dev')
runtime('com.github.GTNewHorizons:ForestryMC:4.4.12:dev')
runtime('com.github.GTNewHorizons:GTplusplus:1.7.76:dev')
- //compileOnly('com.github.GTNewHorizons:Avaritia:1.28)
+ //compileOnly('com.github.GTNewHorizons:Avaritia:1.28)
}
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/ComponentAssemblyLine.java b/src/main/java/goodgenerator/blocks/tileEntity/ComponentAssemblyLine.java
new file mode 100644
index 0000000000..1a9d1b245f
--- /dev/null
+++ b/src/main/java/goodgenerator/blocks/tileEntity/ComponentAssemblyLine.java
@@ -0,0 +1,744 @@
+package goodgenerator.blocks.tileEntity;
+
+import static com.gtnewhorizon.structurelib.structure.StructureUtility.*;
+import static gregtech.api.enums.GT_HatchElement.*;
+import static gregtech.api.enums.GT_Values.VN;
+import static gregtech.api.enums.Textures.BlockIcons.*;
+
+import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable;
+import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
+import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
+import com.gtnewhorizon.structurelib.structure.StructureDefinition;
+import goodgenerator.loader.Loaders;
+import goodgenerator.util.MyRecipeAdder;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
+import gregtech.api.render.TextureFactory;
+import gregtech.api.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+import net.minecraftforge.fluids.FluidStack;
+import org.apache.commons.lang3.tuple.Pair;
+
+public class ComponentAssemblyLine extends GT_MetaTileEntity_EnhancedMultiBlockBase<ComponentAssemblyLine>
+ implements ISurvivalConstructable {
+
+ private int casingTier;
+ private final double log4 = Math.log(4);
+ private long EU_per_tick = 0;
+ protected static final String STRUCTURE_PIECE_MAIN = "main";
+ private static final IStructureDefinition<ComponentAssemblyLine> STRUCTURE_DEFINITION =
+ StructureDefinition.<ComponentAssemblyLine>builder()
+ .addShape(STRUCTURE_PIECE_MAIN, new String[][] {
+ {
+ " ",
+ " III ",
+ " HHI~IHH ",
+ "HH III HH",
+ "H H",
+ "H H",
+ "H JJJ H",
+ "H N N H",
+ "H N N H",
+ "HHHHHHHHH"
+ },
+ {
+ " ",
+ " EHHHHHE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "HC CH",
+ "AC CA",
+ "AC CA",
+ "A D D A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " BBB ",
+ " EL LE ",
+ "E GGDGG E",
+ "HGG D GGH",
+ "AG C GA",
+ "AG GA",
+ "AG GA",
+ "AG HHH GA",
+ "AG GA",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "HC CH",
+ "AC CA",
+ "AC CA",
+ "A D D A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " BBB ",
+ " EL LE ",
+ "E GGDGG E",
+ "HGG D GGH",
+ "HG C GH",
+ "HG GH",
+ "HG GH",
+ "HG HHH GH",
+ "HG GH",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "HC CH",
+ "AC CA",
+ "AC CA",
+ "A D D A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " BBB ",
+ " EL LE ",
+ "E GGDGG E",
+ "HGG D GGH",
+ "AG C GA",
+ "AG GA",
+ "AG GA",
+ "AG HHH GA",
+ "AG GA",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "HC CH",
+ "AC CA",
+ "AC CA",
+ "A D D A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " BBB ",
+ " EL LE ",
+ "E GGDGG E",
+ "HGG D GGH",
+ "HG C GH",
+ "HG GH",
+ "HG GH",
+ "HG HHH GH",
+ "HG GH",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "HC CH",
+ "AC CA",
+ "AC CA",
+ "A D D A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " BBB ",
+ " EL LE ",
+ "E GGDGG E",
+ "HGG D GGH",
+ "AG C GA",
+ "AG GA",
+ "AG GA",
+ "AG HHH GA",
+ "AG GA",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "HC CH",
+ "AC CA",
+ "AC CA",
+ "A D D A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " BBB ",
+ " EL LE ",
+ "E GGDGG E",
+ "HGG D GGH",
+ "HG C GH",
+ "HG GH",
+ "HG GH",
+ "HG HHH GH",
+ "HG GH",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "HC CH",
+ "AC CA",
+ "AC CA",
+ "A D D A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " BBB ",
+ " EL LE ",
+ "E GGDGG E",
+ "HGG D GGH",
+ "AG C GA",
+ "AG GA",
+ "AG GA",
+ "AG HHH GA",
+ "AG GA",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A N N A",
+ "MHHHHHHHM"
+ },
+ {
+ " HBH ",
+ " EL LE ",
+ "E E",
+ "HC CH",
+ "AC CA",
+ "AC CA",
+ "A D D A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " ",
+ " EHHHHHE ",
+ "E E",
+ "H H",
+ "A A",
+ "A A",
+ "A A",
+ "A HHH A",
+ "A A",
+ "MHHHHHHHM"
+ },
+ {
+ " ",
+ " ",
+ " HHHHHHH ",
+ "HH HH",
+ "H H",
+ "H H",
+ "H H",
+ "H H",
+ "H KKK H",
+ "HHHHHHHHH"
+ }
+ })
+ .addElement(
+ 'A',
+ ofChain(
+ ofBlockUnlocalizedName("bartworks", "BW_GlasBlocks", 5),
+ ofBlockUnlocalizedName("bartworks", "BW_GlasBlocks", 13),
+ ofBlockUnlocalizedName("bartworks", "BW_GlasBlocks", 14),
+ ofBlockUnlocalizedName("bartworks", "BW_GlasBlocks", 15),
+ ofBlockUnlocalizedName("bartworks", "BW_GlasBlocks2", 0)))
+ .addElement('H', ofBlock(GregTech_API.sBlockCasings8, 7))
+ .addElement('C', ofBlock(GregTech_API.sBlockCasings2, 5))
+ .addElement('D', ofBlock(GregTech_API.sBlockCasings2, 9))
+ .addElement('G', ofBlock(GregTech_API.sBlockCasings9, 0))
+ .addElement('E', ofBlock(GregTech_API.sBlockCasings9, 1))
+ .addElement('F', ofBlock(GregTech_API.sBlockCasings4, 1))
+ .addElement(
+ 'B',
+ ofBlocksTiered(
+ (block, meta) -> block == Loaders.componentAssemblylineCasing ? meta : -1,
+ IntStream.range(0, 14)
+ .mapToObj(i -> Pair.of(Loaders.componentAssemblylineCasing, i))
+ .collect(Collectors.toList()),
+ -1,
+ (t, meta) -> t.casingTier = meta,
+ t -> t.casingTier))
+ .addElement(
+ 'J',
+ GT_StructureUtility.buildHatchAdder(ComponentAssemblyLine.class)
+ .atLeast(InputBus)
+ .dot(1)
+ .casingIndex(183)
+ .buildAndChain(GregTech_API.sBlockCasings8, 7))
+ .addElement(
+ 'K',
+ GT_StructureUtility.buildHatchAdder(ComponentAssemblyLine.class)
+ .atLeast(OutputBus)
+ .dot(2)
+ .casingIndex(183)
+ .buildAndChain(GregTech_API.sBlockCasings8, 7))
+ .addElement(
+ 'L',
+ GT_StructureUtility.buildHatchAdder(ComponentAssemblyLine.class)
+ .atLeast(Energy, ExoticEnergy)
+ .dot(3)
+ .casingIndex(183)
+ .buildAndChain(GregTech_API.sBlockCasings8, 7))
+ .addElement(
+ 'I',
+