diff options
76 files changed, 2734 insertions, 708 deletions
diff --git a/.gitignore b/.gitignore index 467d0f686a..966fea05d1 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ src/main/resources/mixins.*.json /world /saves /asm +/.vscode
\ No newline at end of file diff --git a/build.gradle b/build.gradle index 0953aeed5c..fa88ae1be7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1668274302 +//version: 1671313514 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. @@ -31,7 +31,7 @@ buildscript { url 'https://maven.minecraftforge.net' } maven { - // GTNH ForgeGradle Fork + // GTNH ForgeGradle and ASM Fork name = "GTNH Maven" url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" } @@ -45,7 +45,9 @@ buildscript { } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.11' + //Overwrite the current ASM version to fix shading newer than java 8 applicatations. + classpath 'org.ow2.asm:asm-debug-all-custom:5.0.3' + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2.13' } } plugins { @@ -278,7 +280,9 @@ minecraft { runDir = 'run' if (replaceGradleTokenInFile) { - replaceIn replaceGradleTokenInFile + for (f in replaceGradleTokenInFile.split(',')) { + replaceIn f + } if (gradleTokenModId) { replace gradleTokenModId, modId } @@ -330,6 +334,12 @@ repositories { name = "GTNH Maven" url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" } + if (usesMixinDebug.toBoolean()) { + maven { + name = "Fabric Maven" + url = "https://maven.fabricmc.net/" + } + } } } @@ -338,10 +348,13 @@ 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.3:processor') + if (usesMixinDebug.toBoolean()) { + runtimeOnly('org.jetbrains:intellij-fernflower:1.2.1.16') + } } if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { - compile('com.gtnewhorizon:gtnhmixins:2.0.2') + compile('com.gtnewhorizon:gtnhmixins:2.1.3') } } @@ -694,7 +707,7 @@ if (modrinthProjectId.size() != 0 && System.getenv("MODRINTH_TOKEN") != null) { } } if (usesMixins.toBoolean()) { - addModrinthDep("required", "version", "gtnhmixins") + addModrinthDep("required", "project", "gtnhmixins") } tasks.modrinth.dependsOn(build) tasks.publish.dependsOn(tasks.modrinth) diff --git a/dependencies.gradle b/dependencies.gradle index 0d68a0e654..f558762d13 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,11 +1,12 @@ dependencies { - compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.145:dev') + compile('com.github.GTNewHorizons:GT5-Unofficial:5.09.41.183-pre:dev') compile("com.github.GTNewHorizons:StructureLib:1.2.0-beta.2:dev") compile("com.github.GTNewHorizons:ModularUI:1.0.16:dev") {transitive=false} - compile("com.github.GTNewHorizons:NotEnoughItems:2.3.7-GTNH:dev") + compile("com.github.GTNewHorizons:NotEnoughItems:2.3.14-GTNH:dev") compile('com.github.GTNewHorizons:CodeChickenCore:1.1.6:dev') compile('com.github.GTNewHorizons:CodeChickenLib:1.1.5.5:dev') compile('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev') + compile('com.github.GTNewHorizons:NewHorizonsCoreMod:1.9.111:dev') compile('curse.maven:cofh-core-69162:2388751') compile('curse.maven:advsolar-362768:2885953') @@ -18,10 +19,14 @@ dependencies { compileOnly('com.github.GTNewHorizons:EnderCore:0.2.10:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:SC2:2.0.1:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:Binnie:2.0.42:dev') {transitive = false} - compile("com.github.GTNewHorizons:bartworks:0.5.67:dev") {transitive = false} + compile("com.github.GTNewHorizons:bartworks:0.5.123:dev") {transitive = false} compileOnly('curse.maven:PlayerAPI-228969:2248928') {transitive=false} compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.27:dev') {transitive=false} compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:Chisel:2.10.15-GTNH:dev') {transitive=false} compileOnly("com.github.GTNewHorizons:ProjectRed:4.7.7-GTNH:dev") {transitive = false} + + compile("com.github.GTNewHorizons:TecTech:5.0.61:dev") + + runtimeOnly('com.github.GTNewHorizons:ForestryMC:4.5.3:dev') } diff --git a/repositories.gradle b/repositories.gradle index 460a6d3e55..23072a75bc 100644 --- a/repositories.gradle +++ b/repositories.gradle @@ -37,7 +37,4 @@ repositories { includeGroup 'curse.maven' } } - maven { - url 'https://jitpack.io' - } } diff --git a/src/main/java/gregtech/api/util/GTPP_Recipe.java b/src/main/java/gregtech/api/util/GTPP_Recipe.java index a11cede13f..7bca0da4df 100644 --- a/src/main/java/gregtech/api/util/GTPP_Recipe.java +++ b/src/main/java/gregtech/api/util/GTPP_Recipe.java @@ -4,6 +4,7 @@ import static gregtech.api.enums.GT_Values.*; import com.gtnewhorizons.modularui.api.math.Pos2d; import com.gtnewhorizons.modularui.common.widget.ProgressBar; +import com.gtnewhorizons.modularui.common.widget.ProgressBar.Direction; import gregtech.api.gui.modularui.GT_UITextures; import gtPlusPlus.api.interfaces.IComparableRecipe; import gtPlusPlus.api.objects.Logger; @@ -201,6 +202,27 @@ public class GTPP_Recipe extends GT_Recipe implements IComparableRecipe { true) .useModularUI(true); + public static final GT_Recipe_Map sQuantumForceTransformerRecipes = new GT_Recipe_Map_LargeNEI( + new HashSet<>(20), + "gtpp.recipe.quantumforcesmelter", + "Quantum Force Transformer", + null, + RES_PATH_GUI + "basicmachines/LCRNEI", + 6, + 6, + 1, + 0, + 1, + "Tier: ", + 1, + E, + true, + true) + .useModularUI(true) + .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, Direction.RIGHT) + .setUsualFluidInputCount(6) + .setUsualFluidOutputCount(6); + public static final GT_Recipe_Map sGeoThermalFuels = new GT_Recipe_Map( new HashSet<>(10), "gtpp.recipe.geothermalfuel", @@ -724,6 +746,7 @@ public class GTPP_Recipe extends GT_Recipe implements IComparableRecipe { .setProgressBar(GT_UITextures.PROGRESSBAR_MIXER, ProgressBar.Direction.CIRCULAR_CW) .setUsualFluidInputCount(6) .setUsualFluidOutputCount(6); + public static final GT_Recipe_Map sMultiblockChemicalDehydratorRecipes = new GT_Recipe_Map_LargeNEI( new HashSet<>(2000), "gtpp.recipe.multidehydrator", diff --git a/src/main/java/gtPlusPlus/core/config/ConfigHandler.java b/src/main/java/gtPlusPlus/core/config/ConfigHandler.java index d97fe6c0fc..9158233bea 100644 --- a/src/main/java/gtPlusPlus/core/config/ConfigHandler.java +++ b/src/main/java/gtPlusPlus/core/config/ConfigHandler.java @@ -595,6 +595,10 @@ public class ConfigHandler { pollutionReleasedByTierGeothermalGenerator, "coefficient applied to the base rate of the single block geothermal engines based on its tier (first is tier 0 aka ULV)") .getDoubleList(); + + // Visual + enableAnimatedTextures = config.getBoolean( + "enableAnimatedTextures", "visual", true, "Enables Animated GT++ Textures, Requires Restart"); config.save(); } } diff --git a/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java index 93f6df7595..e0ba67e0b0 100644 --- a/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java +++ b/src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java @@ -39,6 +39,7 @@ import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaGarbageCollector; import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_FluidCanning; import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Recycling; +import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_ChemicalSkips; import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_GTNH; import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_GlueLine; import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_Nuclear; @@ -109,6 +110,7 @@ public class COMPAT_HANDLER { GregtechIndustrialWiremill.run(); GregtechIndustrialMassFabricator.run(); GregtechIndustrialBlastSmelter.run(); + GregtechQuantumForceTransformer.run(); GregtechSolarGenerators.run(); GregtechPowerSubStation.run(); GregtechDehydrator.run(); @@ -239,6 +241,7 @@ public class COMPAT_HANDLER { RecipeLoader_GTNH.generate(); RecipeLoader_Nuclear.generate(); RecipeLoader_GlueLine.generate(); + RecipeLoader_ChemicalSkips.generate(); // Add autogenerated Recipes from Item Components for (Set<RunnableWithInfo<Material>> m : MaterialGenerator.mRecipeMapsToGenerate) { for (RunnableWithInfo<Material> r : m) { diff --git a/src/main/java/gtPlusPlus/core/item/base/BaseItemComponent.java b/src/main/java/gtPlusPlus/core/item/base/BaseItemComponent.java index 25877d250c..1f59ecf2b1 100644 --- a/src/main/java/gtPlusPlus/core/item/base/BaseItemComponent.java +++ b/src/main/java/gtPlusPlus/core/item/base/BaseItemComponent.java @@ -426,10 +426,11 @@ public class BaseItemComponent extends Item { PLASMACELL("CellPlasma", " Plasma Cell", "cellPlasma", OrePrefixes.cellPlasma), CELL("Cell", " Cell", "cell", OrePrefixes.cell), NUGGET("Nugget", " Nugget", "nugget", OrePrefixes.nugget), - PLATEHEAVY("HeavyPlate", "Heavy@Plate", "plateHeavy", OrePrefixes.plateDense), + PLATEHEAVY("HeavyPlate", "Heavy@Plate", "plateHeavy", OrePrefixes.plateQuadruple), SPRING("Spring", " Spring", "spring", OrePrefixes.spring), SMALLSPRING("SmallSpring", "Small@Spring", "springSmall", OrePrefixes.springSmall), FINEWIRE("FineWire", "Fine@Wire", "wireFine", OrePrefixes.wireFine), + PLATEDENSE("PlateDense", "Dense@Plate", "plateDense", OrePrefixes.plateDense), ; private String COMPONENT_NAME; diff --git a/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDense.java b/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDense.java new file mode 100644 index 0000000000..580e028c00 --- /dev/null +++ b/src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDense.java @@ -0,0 +1,11 @@ +package gtPlusPlus.core.item.base.plates; + +import gtPlusPlus.core.item.base.BaseItemComponent; +import gtPlusPlus.core.material.Material; + +public class BaseItemPlateDense extends BaseItemComponent { + + public BaseItemPlateDense(Material material) { + super(material, ComponentTypes.PLATEDENSE); + } +} diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java index 31e2492259..cabd9542f8 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java @@ -109,6 +109,20 @@ public class GenericChem extends ItemPackage { public static ItemStack mSolidAcidCatalyst; public static ItemStack mInfiniteMutationCatalyst; + // QFT Catalysts + public static ItemStack mPlatinumGroupCatalyst; + public static ItemStack mPlasticPolymerCatalyst; + public static ItemStack mRubberPolymerCatalyst; + public static ItemStack mAdhesionPromoterCatalyst; + public static ItemStack mTitaTungstenIndiumCatalyst; + public static ItemStack mRadioactivityCatalyst; + public static ItemStack mRareEarthGroupCatalyst; + public static ItemStack mSimpleNaquadahCatalyst; + public static ItemStack mAdvancedNaquadahCatalyst; + public static ItemStack mRawIntelligenceCatalyst; + public static ItemStack mUltimatePlasticCatalyst; + public static ItemStack mBiologicalIntelligenceCatalyst; + public static ItemStack mMillingBallAlumina; public static ItemStack mMillingBallSoapstone; @@ -156,6 +170,20 @@ public class GenericChem extends ItemPackage { mFormaldehydeCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 13, 1); mSolidAcidCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 14, 1); mInfiniteMutationCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 15, 1); + + // QFT Catalysts + mPlatinumGroupCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 16, 1); + mPlasticPolymerCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 17, 1); + mRubberPolymerCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 18, 1); + mAdhesionPromoterCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 19, 1); + mTitaTungstenIndiumCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 20, 1); + mRadioactivityCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 21, 1); + mRareEarthGroupCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 22, 1); + mSimpleNaquadahCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 23, 1); + mAdvancedNaquadahCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 24, 1); + mRawIntelligenceCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 25, 1); + mUltimatePlasticCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 26, 1); + mBiologicalIntelligenceCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 27, 1); } public void registerOreDict() { @@ -176,6 +204,18 @@ public class GenericChem extends ItemPackage { ItemUtils.addItemToOreDictionary(mFormaldehydeCatalyst, "catalystFormaldehyde"); ItemUtils.addItemToOreDictionary(mSolidAcidCatalyst, "catalystSolidAcid"); ItemUtils.addItemToOreDictionary(mInfiniteMutationCatalyst, "catalystInfiniteMutation"); + ItemUtils.addItemToOreDictionary(mPlatinumGroupCatalyst, "catalystPlatinumGroup"); + ItemUtils.addItemToOreDictionary(mPlasticPolymerCatalyst, "catalystPlasticPolymer"); + ItemUtils.addItemToOreDictionary(mRubberPolymerCatalyst, "catalystRubberPolymer"); + ItemUtils.addItemToOreDictionary(mAdhesionPromoterCatalyst, "catalystAdhesionPromoter"); + ItemUtils.addItemToOreDictionary(mTitaTungstenIndiumCatalyst, "catalystTitaTungstenIndium"); + ItemUtils.addItemToOreDictionary(mRadioactivityCatalyst, "catalystRadioactivity"); + ItemUtils.addItemToOreDictionary(mRareEarthGroupCatalyst, "catalystRareEarthGroup"); + ItemUtils.addItemToOreDictionary(mSimpleNaquadahCatalyst, "catalystSimpleNaquadah"); + ItemUtils.addItemToOreDictionary(mAdvancedNaquadahCatalyst, "catalystAdvancedNaquadah"); + ItemUtils.addItemToOreDictionary(mRawIntelligenceCatalyst, "catalystRawIntelligence"); + ItemUtils.addItemToOreDictionary(mUltimatePlasticCatalyst, "catalystUltimatePlastic"); + ItemUtils.addItemToOreDictionary(mBiologicalIntelligenceCatalyst, "catalystBiologicalIntelligence"); } @Override diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java b/src/main/java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java index 35204999d1..b8a1bc4041 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java @@ -22,7 +22,7 @@ public class ItemGenericChemBase extends Item { protected final IIcon base[]; - private final int aMetaSize = 16; + private final int aMetaSize = 28; /* * 0 - Red Metal Catalyst //FeCu @@ -40,6 +40,19 @@ public class ItemGenericChemBase extends Item { * 12 - Potassium Hydroxide // KOH * 13 - Formaldehyde Catalyst //Fe16V1 * 14 - Solid Acid Catalyst //H2SO4 + * 15 - Infinite Mutation Catalyst (for Mutated Living Solder) + * 16 - Platinum Group Catalyst (for platline skip) + * 17 - Plastic Polymer Catalyst (for early plastics skip) + * 18 - Rubber Polymer Catalyst (for early rubbers skip) + * 19 - Adhesion Promoter Catalyst (for glue/solder skip) + * 20 - Tita-Tungsten Indium Catalyst (for titanium/tungsten/indium skip) + * 21 - Radioactivity Catalyst (for thorium/uranium/plutonium skip) + * 22 - Rare-Earth Group Catalyst (for monaline skip) + * 23 - Simple Naquadah Catalyst (for early naqline skip) + * 24 - Advanced Naquadah Catalyst (for late naqline skip) + * 25 - Raw Intelligence Catalyst (for stem cells skip) + * 26 - Ultimate Plasticizer Catalyst (for late plastics skip) + * 27 - Biological Intelligence Catalyst (for bio cells skip) */ public ItemGenericChemBase() { diff --git a/src/main/java/gtPlusPlus/core/lib/CORE.java b/src/main/java/gtPlusPlus/core/lib/CORE.java index afe36d8800..c4f6d4ad42 100644 --- a/src/main/java/gtPlusPlus/core/lib/CORE.java +++ b/src/main/java/gtPlusPlus/core/lib/CORE.java @@ -209,6 +209,7 @@ public class CORE { // Multiblocks public static boolean enableMultiblock_AlloyBlastSmelter = true; + public static boolean enableMultiblock_QuantumForceTransformer = true; public static boolean enableMultiblock_IndustrialCentrifuge = true; public static boolean enableMultiblock_IndustrialCokeOven = true; public static boolean enableMultiblock_IndustrialElectrolyzer = true; @@ -236,6 +237,7 @@ public class CORE { // Visuals public static boolean enableTreeFarmerParticles = true; public static boolean useGregtechTextures = true; + public static boolean enableAnimatedTextures = false; // Pollution public static int pollutionPerSecondMultiPackager = 40; diff --git a/src/main/java/gtPlusPlus/core/material/Material.java b/src/main/java/gtPlusPlus/core/material/Material.java index 105110fe80..fa3194a67b 100644 --- a/src/main/java/gtPlusPlus/core/material/Material.java +++ b/src/main/java/gtPlusPlus/core/material/Material.java @@ -1170,6 +1170,10 @@ public class Material { return getComponentByPrefix(OrePrefixes.plateDouble, stacksize); } + public final ItemStack getPlateDense(final int stacksize) { + return getComponentByPrefix(OrePrefixes.plateDense, stacksize); + } + public final ItemStack getGear(final int stacksize) { return getComponentByPrefix(OrePrefixes.gearGt, stacksize); } diff --git a/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java b/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java index d114fca3c0..27a9ea3750 100644 --- a/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java @@ -21,6 +21,7 @@ import gtPlusPlus.core.item.base.ore.BaseItemImpureDust; import gtPlusPlus.core.item.base.ore.BaseItemPurifiedCrushedOre; import gtPlusPlus.core.item.base.ore.BaseItemPurifiedDust; import gtPlusPlus.core.item.base.plates.BaseItemPlate; +import gtPlusPlus.core.item.base.plates.BaseItemPlateDense; import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble; import gtPlusPlus.core.item.base.rings.BaseItemRing; import gtPlusPlus.core.item.base.rods.BaseItemRod; @@ -154,6 +155,7 @@ public class MaterialGenerator { temp = new BaseItemScrew(matInfo); temp = new BaseItemRotor(matInfo); temp = new BaseItemGear(matInfo); + temp = new BaseItemPlateDense(matInfo); } } else { tempBlock = new BlockBaseModular(matInfo, BlockTypes.STANDARD); diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java index af2f62e608..f06c4904f7 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -1,7 +1,7 @@ package gtPlusPlus.core.recipe; -import static gtPlusPlus.core.lib.CORE.GTNH; - +import com.github.technus.tectech.recipe.TT_recipeAdder; +import com.github.technus.tectech.thing.CustomItemList; import cpw.mods.fml.common.Loader; import gregtech.api.GregTech_API; import gregtech.api.enums.*; @@ -19,6 +19,7 @@ import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.material.MISC_MATERIALS; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.*; @@ -214,9 +215,6 @@ public class RECIPES_Machines { public static ItemStack INPUT_RCCokeOvenBlock; public static ItemStack INPUT_IECokeOvenBlock; - // Output Determiner - public static int Casing_Amount; - public static final void loadRecipes() { run(); Logger.INFO("Loading Recipes for the Various machine blocks."); @@ -224,13 +222,6 @@ public class RECIPES_Machines { private static void run() { - // Determines Casing Recipe Output - if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && !GTNH) { - Casing_Amount = 2; - } else { - Casing_Amount = 1; - } - initModItems(); tieredMachineHulls(); controlCores(); @@ -600,26 +591,26 @@ public class RECIPES_Machines { new Object[] { ALLOY.HG1223.getFineWire(64), ALLOY.HG1223.getFineWire(64), - ItemList.Electric_Motor_IV.get(GTNH ? 32 : 16), - ItemList.Energy_LapotronicOrb.get(GTNH ? 32 : 16), - CI.getTieredComponent(OrePrefixes.cableGt12, 6, GTNH ? 32 : 16), - CI.getTieredComponent(OrePrefixes.wireGt16, 5, GTNH ? 64 : 32), + ItemList.Electric_Motor_IV.get(16), + ItemList.Energy_LapotronicOrb.get(16), + CI.getTieredComponent(OrePrefixes.cableGt12, 6, 16), + CI.getTieredComponent(OrePrefixes.wireGt16, 5, 32), ALLOY.ZERON_100.getFrameBox(4), ALLOY.ZIRCONIUM_CARBIDE.getPlateDouble(32), ALLOY.BABBIT_ALLOY.getPlate(64), - ALLOY.LEAGRISIUM.getGear(GTNH ? 16 : 8), + ALLOY.LEAGRISIUM.getGear(8), new Object[] {CI.getTieredCircuitOreDictName(4), 64}, new Object[] {CI.getTieredCircuitOreDictName(5), 32}, new Object[] {CI.getTieredCircuitOreDictName(6), 16}, GregtechItemList.Laser_Lens_WoodsGlass.get(1), }, new FluidStack[] { - ALLOY.NITINOL_60.getFluidStack(144 * 9 * (GTNH ? 4 : 2)), - ALLOY.INCOLOY_MA956.getFluidStack(144 * 9 * (GTNH ? 32 : 8)), - ALLOY.KANTHAL.getFluidStack(144 * 1 * (GTNH ? 16 : 4)), + ALLOY.NITINOL_60.getFluidStack(144 * 9 * (2)), + ALLOY.INCOLOY_MA956.getFluidStack(144 * 9 * (8)), + ALLOY.KANTHAL.getFluidStack(144 * 1 * (4)), }, GregtechItemList.Controller_MolecularTransformer.get(1), - 20 * 60 * 10 * (GTNH ? 2 : 1), + 20 * 60 * 10 * (1), (int) MaterialUtils.getVoltageForTier(6)); CORE.RA.addSixSlotAssemblingRecipe( @@ -899,14 +890,14 @@ public class RECIPES_Machines { 20 * 60 * 60 * 12, new Object[] { CI.getTieredMachineHull(7, 4), - CI.getFieldGenerator(5, GTNH ? 32 : 16), - CI.getElectricMotor(7, GTNH ? 32 : 16), - CI.getElectricPiston(7, GTNH ? 16 : 4), - CI.getEnergyCore(6, GTNH ? 8 : 2), - CI.getPlate(7, GTNH ? 32 : 16), - CI.getScrew(7, GTNH ? 64 : 32), - CI.getBolt(6, GTNH ? 64 : 32), - CI.getTieredComponent(OrePrefixes.rod, 6, GTNH ? 20 : 10), + CI.getFieldGenerator(5, 16), + CI.getElectricMotor(7, 16), + CI.getElectricPiston(7, 4), + CI.getEnergyCore(6, 2), + CI.getPlate(7, 16), + CI.getScrew(7, 32), + CI.getBolt(6, 32), + CI.getTieredComponent(OrePrefixes.rod, 6, 10), new Object[] {CI.getTieredCircuitOreDictName(7), 20}, ItemList.Tool_DataOrb.get(32), GregtechItemList.Laser_Lens_Special.get(1) @@ -918,7 +909,7 @@ public class RECIPES_Machines { ALLOY.BABBIT_ALLOY.getFluidStack(128 * 144), }, GregtechItemList.Controller_ElementalDuplicator.get(1), - 20 * 60 * 60 * (GTNH ? 2 : 1), + 20 * 60 * 60, (int) MaterialUtils.getVoltageForTier(7)); CORE.RA.addAssemblylineRecipe( @@ -926,12 +917,12 @@ public class RECIPES_Machines { 20 * 60 * 60 * 4, new Object[] { CI.getTieredGTPPMachineCasing(7, 2), - CI.getFieldGenerator(4, GTNH ? 8 : 4), - CI.getEnergyCore(4, GTNH ? 8 : 2), - CI.getPlate(7, GTNH ? 16 : 8), - CI.getScrew(6, GTNH ? 32 : 16), - CI.getBolt(6, GTNH ? 32 : 16), - CI.getTieredComponent(OrePrefixes.rod, 5, GTNH ? 32 : 16), + CI.getFieldGenerator(4, 4), + CI.getEnergyCore(4, 2), + CI.getPlate(7, 8), + CI.getScrew(6, 16), + CI.getBolt(6, 16), + CI.getTieredComponent(OrePrefixes.rod, 5, 16), new Object[] {CI.getTieredCircuitOreDictName(6), 32}, ItemList.Tool_DataOrb.get(32), }, @@ -942,7 +933,7 @@ public class RECIPES_Machines { ALLOY.BABBIT_ALLOY.getFluidStack(64 * 144), }, GregtechItemList.Hatch_Input_Elemental_Duplicator.get(1), - 20 * 60 * 60 * (GTNH ? 4 : 2), + 20 * 60 * 60 * (2), (int) MaterialUtils.getVoltageForTier(6)); CORE.RA.addAssemblylineRecipe( @@ -950,12 +941,12 @@ public class RECIPES_Machines { 20 * 60 * 60 * 2, new Object[] { CI.getTieredMachineHull(6, 5), - CI.getFieldGenerator(3, GTNH ? 32 : 16), - CI.getEnergyCore(2, GTNH ? 8 : 2), - CI.getPlate(7, GTNH ? 8 : 4), - CI.getScrew(7, GTNH ? 8 : 4), - CI.getBolt(6, GTNH ? 16 : 8), - CI.getTieredComponent(OrePrefixes.rod, 5, GTNH ? 8 : 4), + CI.getFieldGenerator(3, 16), + CI.getEnergyCore(2, 2), + CI.getPlate(7, 4), + CI.getScrew(7, 4), + CI.getBolt(6, 8), + CI.getTieredComponent(OrePrefixes.rod, 5, 4), new Object[] {CI.getTieredCircuitOreDictName(5), 4}, ItemList.Tool_DataStick.get(4), }, @@ -966,7 +957,7 @@ public class RECIPES_Machines { ALLOY.BABBIT_ALLOY.getFluidStack(16 * 144), }, GregtechItemList.Casing_ElementalDuplicator.get(1), - 20 * 60 * (GTNH ? 20 : 10), + 20 * 60 * (10), (int) MaterialUtils.getVoltageForTier(6)); } @@ -1256,11 +1247,10 @@ public class RECIPES_Machines { private static void runModRecipes() { if (LoadedMods.Gregtech) { - // Computer Cube CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { - ItemUtils.getSimpleStack(CI.getDataOrb(), 4 * (GTNH ? 2 : 1)), + ItemUtils.getSimpleStack(CI.getDataOrb(), 4 * (1)), ItemList.Cover_Screen.get(4), CI.machineHull_IV, ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 2) @@ -1273,7 +1263,7 @@ public class RECIPES_Machines { // Circuit programmer CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { - ItemUtils.getSimpleStack(CI.robotArm_LV, 4 * (GTNH ? 2 : 1)), + ItemUtils.getSimpleStack(CI.robotArm_LV, 4 * (1)), ItemList.Cover_Controller.get(1, CI.electricMotor_MV), CI.machineHull_MV, ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(1), 2), @@ -1301,12 +1291,11 @@ public class RECIPES_Machines { CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { ItemUtils.getItemStackWithMeta(true, "IC2:blockGenerator:6", "IC2-RTG", 6, 1), - ALLOY.NITINOL_60.getPlate(GTNH ? 32 : 8), - ALLOY.MARAGING350.getGear(GTNH ? 16 : 4), - ItemUtils.getSimpleStack(GTNH ? CI.fieldGenerator_IV : CI.fieldGenerator_EV, 8), - ItemUtils.getItemStackOfAmountFromOreDict("wireFinePlatinum", GTNH ? 64 : 32), - ItemUtils.getItemStackOfAmountFromOreDict( - CI.getTieredCircuitOreDictName(GTNH ? 7 : 6), GTNH ? 5 : 4) + ALLOY.NITINOL_60.getPlate(8), + ALLOY.MARAGING350.getGear(4), + ItemUtils.getSimpleStack(CI.fieldGenerator_EV, 8), + ItemUtils.getItemStackOfAmountFromOreDict("wireFinePlatinum", 32), + ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 4) }, ALLOY.NIOBIUM_CARBIDE.getFluidStack(144 * 16), GregtechItemList.RTG.get(1), @@ -1327,20 +1316,20 @@ public class RECIPES_Machines { 30); ItemStack aFluidRegulator1 = - ItemUtils.getValueOfItemList("FluidRegulator_MV", GTNH ? 4 : 2, ItemList.Electric_Pump_HV); + ItemUtils.getValueOfItemList("FluidRegulator_MV", 2, ItemList.Electric_Pump_HV); ItemStack aFluidRegulator2 = ItemUtils.getValueOfItemList( "FluidRegulator_IV", - GTNH ? 4 : 2, - ItemUtils.getValueOfItemList("Electric_Pump_LuV", GTNH ? 8 : 4, ItemList.Electric_Pump_IV)); + 2, + ItemUtils.getValueOfItemList("Electric_Pump_LuV", 4, ItemList.Electric_Pump_IV)); // Poo Collector CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { CI.machineHull_MV, aFluidRegulator1, - CI.getTieredComponent(OrePrefixes.pipeMedium, 2, GTNH ? 4 : 2), - ALLOY.EGLIN_STEEL.getPlate(GTNH ? 8 : 4), - ALLOY.POTIN.getScrew(GTNH ? 12 : 6) + CI.getTieredComponent(OrePrefixes.pipeMedium, 2, 2), + ALLOY.EGLIN_STEEL.getPlate(4), + ALLOY.POTIN.getScrew(6) }, ALLOY.TUMBAGA.getFluidStack(144 * 4), ItemUtils.getSimpleStack(ModBlocks.blockPooCollector), @@ -1353,8 +1342,8 @@ public class RECIPES_Machines { CI.getTieredMachineHull(-1), ItemUtils.getSimpleStack(ModBlocks.blockPooCollector), aFluidRegulator2, - CI.getTieredComponent(OrePrefixes.pipeHuge, 6, GTNH ? 8 : 4), - CI.getTieredComponent(OrePrefixes.screw, 6, GTNH ? 32 : 16) + CI.getTieredComponent(OrePrefixes.pipeHuge, 6, 4), + CI.getTieredComponent(OrePrefixes.screw, 6, 16) }, CI.getAlternativeTieredFluid(5, 144 * 9), ItemUtils.getSimpleStack(ModBlocks.blockPooCollector, 8, 1), @@ -1503,7 +1492,7 @@ public class RECIPES_Machines { CI.getTieredMachineHull(3), ItemUtils.getSimpleStack(Items.egg, 64), ItemUtils.getSimpleStack(ModItems.itemRope, 32), - CI.getPlate(4, GTNH ? 16 : 8) + CI.getPlate(4, 8) }, FluidUtils.getFluidStack("mobessence", 4096), ItemUtils.getSimpleStack(ModBlocks.blockEggBox, 1), @@ -1518,8 +1507,8 @@ public class RECIPES_Machines { CI.getTieredMachineHull(2), ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer), VolumetricFlaskHelper.getVolumetricFlask(8), - CI.getTieredComponent(OrePrefixes.pipeSmall, 2, GTNH ? 4 : 2), - CI.getPlate(2, GTNH ? 8 : 4) + CI.getTieredComponent(OrePrefixes.pipeSmall, 2, 2), + CI.getPlate(2, 4) }, CI.getAlternativeTieredFluid(1, 144 * 8), ItemUtils.getSimpleStack(ModBlocks.blockVolumetricFlaskSetter, 1), @@ -1530,7 +1519,7 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_IronBlastFurnace) { RECIPE_IronBlastFurnace = GregtechItemList.Machine_Iron_BlastFurnace.get(1); - RECIPE_IronPlatedBricks = GregtechItemList.Casing_IronPlatedBricks.get(Casing_Amount); + RECIPE_IronPlatedBricks = GregtechItemList.Casing_IronPlatedBricks.get(1); // Iron BF RecipeUtils.addShapedGregtechRecipe( @@ -1580,7 +1569,7 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_IndustrialCentrifuge) { // Industrial Centrifuge RECIPE_IndustrialCentrifugeController = GregtechItemList.Industrial_Centrifuge.get(1); - RECIPE_IndustrialCentrifugeCasing = GregtechItemList.Casing_Centrifuge1.get(Casing_Amount); + RECIPE_IndustrialCentrifugeCasing = GregtechItemList.Casing_Centrifuge1.get(1); // Industrial Centrifuge RecipeUtils.addShapedGregtechRecipe( @@ -1622,9 +1611,9 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven) { // Industrial Coke Oven RECIPE_IndustrialCokeOvenController = GregtechItemList.Industrial_CokeOven.get(1); - RECIPE_IndustrialCokeOvenFrame = GregtechItemList.Casing_CokeOven.get(Casing_Amount); - RECIPE_IndustrialCokeOvenCasingA = GregtechItemList.Casing_CokeOven_Coil1.get(Casing_Amount); - RECIPE_IndustrialCokeOvenCasingB = GregtechItemList.Casing_CokeOven_Coil2.get(Casing_Amount); + RECIPE_IndustrialCokeOvenFrame = GregtechItemList.Casing_CokeOven.get(1); + RECIPE_IndustrialCokeOvenCasingA = GregtechItemList.Casing_CokeOven_Coil1.get(1); + RECIPE_IndustrialCokeOvenCasingB = GregtechItemList.Casing_CokeOven_Coil2.get(1); if (LoadedMods.Railcraft) { // Industrial Coke Oven @@ -1706,7 +1695,7 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_IndustrialElectrolyzer) { // Industrial Electrolyzer RECIPE_IndustrialElectrolyzerController = GregtechItemList.Industrial_Electrolyzer.get(1); - RECIPE_IndustrialElectrolyzerFrame = GregtechItemList.Casing_Electrolyzer.get(Casing_Amount); + RECIPE_IndustrialElectrolyzerFrame = GregtechItemList.Casing_Electrolyzer.get(1); // Electrolyzer Frame Casing RecipeUtils.addShapedGregtechRecipe( @@ -1749,7 +1738,7 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_IndustrialPlatePress) { // Industrial Material Press RECIPE_IndustrialMaterialPressController = GregtechItemList.Industrial_PlatePress.get(1); - RECIPE_IndustrialMaterialPressFrame = GregtechItemList.Casing_MaterialPress.get(Casing_Amount); + RECIPE_IndustrialMaterialPressFrame = GregtechItemList.Casing_MaterialPress.get(1); // Material Press Frame Casing RecipeUtils.addShapedGregtechRecipe( @@ -1792,7 +1781,7 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_IndustrialMacerationStack) { // Industrial Maceration Stack RECIPE_IndustrialMacerationStackController = GregtechItemList.Industrial_MacerationStack.get(1); - RECIPE_IndustrialMacerationStackFrame = GregtechItemList.Casing_MacerationStack.get(Casing_Amount); + RECIPE_IndustrialMacerationStackFrame = GregtechItemList.Casing_MacerationStack.get(1); // Maceration Frame Casing RecipeUtils.addShapedGregtechRecipe( @@ -1835,7 +1824,7 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_IndustrialWireMill) { // Industrial Wire Factory RECIPE_IndustrialWireFactoryController = GregtechItemList.Industrial_WireFactory.get(1); - RECIPE_IndustrialWireFactoryFrame = GregtechItemList.Casing_WireFactory.get(Casing_Amount); + RECIPE_IndustrialWireFactoryFrame = GregtechItemList.Casing_WireFactory.get(1); // Wire Factory Frame Casing RecipeUtils.addShapedGregtechRecipe( @@ -1876,214 +1865,83 @@ public class RECIPES_Machines { // Tiered Tanks if (CORE.ConfigSwitches.enableMachine_FluidTanks) { - Logger.WARNING("Is New Horizons Loaded? " + GTNH); - if (!GTNH) { - - // Allows clearing stored fluids. - GregtechItemList[] aTanks = new GregtechItemList[] { - GregtechItemList.GT_FluidTank_ULV, GregtechItemList.GT_FluidTank_LV, - GregtechItemList.GT_FluidTank_MV, - GregtechItemList.GT_FluidTank_HV, GregtechItemList.GT_FluidTank_EV, - GregtechItemList.GT_FluidTank_IV, - GregtechItemList.GT_FluidTank_LuV, GregtechItemList.GT_FluidTank_ZPM, - GregtechItemList.GT_FluidTank_UV, - GregtechItemList.GT_FluidTank_MAX - }; - for (GregtechItemList aTank : aTanks) { - RecipeUtils.addShapedGregtechRecipe( - aTank.get(1), null, null, null, null, null, null, null, null, aTank.get(1)); - } - - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[1], - CI.component_Plate[1], - CI.component_Plate[1], - CI.component_Plate[1], - pipeTier1, - CI.component_Plate[1], - CI.component_Plate[1], - GregtechItemList.Fluid_Cell_144L.get(1), - CI.component_Plate[1], - GregtechItemList.GT_FluidTank_ULV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[2], - CI.component_Plate[2], - CI.component_Plate[2], - CI.component_Plate[2], - pipeTier2, - CI.component_Plate[2], - CI.component_Plate[2], - CI.electricPump_LV, - CI.component_Plate[2], - GregtechItemList.GT_FluidTank_LV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[3], - CI.component_Plate[3], - CI.component_Plate[3], - CI.component_Plate[3], - pipeTier3, - CI.component_Plate[3], - CI.component_Plate[3], - CI.electricPump_MV, - CI.component_Plate[3], - GregtechItemList.GT_FluidTank_MV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[4], - CI.component_Plate[4], - CI.component_Plate[4], - CI.component_Plate[4], - pipeTier4, - CI.component_Plate[4], - CI.component_Plate[4], - CI.electricPump_HV, - CI.component_Plate[4], - GregtechItemList.GT_FluidTank_HV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[5], - CI.component_Plate[5], - CI.component_Plate[5], - CI.component_Plate[5], - pipeTier5, - CI.component_Plate[5], - CI.component_Plate[5], - CI.electricPump_EV, - CI.component_Plate[5], - GregtechItemList.GT_FluidTank_EV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[6], - CI.component_Plate[6], - CI.component_Plate[6], - CI.component_Plate[6], - pipeTier6, - CI.component_Plate[6], - CI.component_Plate[6], - CI.electricPump_IV, - CI.component_Plate[6], - GregtechItemList.GT_FluidTank_IV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[7], - CI.component_Plate[7], - CI.component_Plate[7], - CI.component_Plate[7], - pipeTier7, - CI.component_Plate[7], - CI.component_Plate[7], - CI.electricPump_LuV, - CI.component_Plate[7], - GregtechItemList.GT_FluidTank_LuV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[8], - CI.component_Plate[8], - CI.component_Plate[8], - CI.component_Plate[8], - pipeTier8, - CI.component_Plate[8], - CI.component_Plate[8], - CI.electricPump_ZPM, - CI.component_Plate[8], - GregtechItemList.GT_FluidTank_ZPM.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[9], - CI.component_Plate[9], - CI.component_Plate[9], - CI.component_Plate[9], - pipeTier9, - CI.component_Plate[9], - CI.component_Plate[9], - CI.electricPump_UV, - CI.component_Plate[9], - GregtechItemList.GT_FluidTank_UV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[10], - CI.component_Plate[10], - CI.component_Plate[10], - CI.component_Plate[10], - pipeTier10, - CI.component_Plate[10], - CI.component_Plate[10], - CI.electricPump_MAX, - CI.component_Plate[10], - GregtechItemList.GT_FluidTank_MAX.get(1)); - } else { - - CI.component_Plate[1] = "plateTin"; - pipeTier1 = "pipeLargeClay"; - CI.circuitTier1 = ItemList.Circuit_Primitive.get(1); - CI.component_Plate[2] = "plateCopper"; - pipeTier2 = "pipeHugeClay"; - CI.component_Plate[3] = "plateBronze"; - pipeTier3 = "pipeMediumBronze"; - CI.component_Plate[4] = "plateIron"; - pipeTier4 = "pipeMediumSteel"; - CI.component_Plate[5] = "plateSteel"; - CI.component_Plate[6] = "plateRedstone"; - CI.component_Plate[7] = "plateAluminium"; - CI.component_Plate[8] = "plateDarkSteel"; - ItemStack waterBucket = ItemUtils.getSimpleStack(Items.water_bucket); - - // Allows clearing stored fluids. - GregtechItemList[] aTanks = new GregtechItemList[] { - GregtechItemList.GT_FluidTank_ULV, - GregtechItemList.GT_FluidTank_LV, - GregtechItemList.GT_FluidTank_MV, - GregtechItemList.GT_FluidTank_HV - }; - for (GregtechItemList aTank : aTanks) { - RecipeUtils.addShapedGregtechRecipe( - aTank.get(1), null, null, null, null, null, null, null, null, aTank.get(1)); - } - - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[1], - CI.component_Plate[5], - CI.component_Plate[1], - CI.component_Plate[4], - pipeTier1, - CI.component_Plate[4], - CI.component_Plate[4], - waterBucket, - CI.component_Plate[4], - GregtechItemList.GT_FluidTank_ULV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[5], - CI.component_Plate[4], - CI.component_Plate[5], - CI.component_Plate[3], - pipeTier2, - CI.component_Plate[3], - CI.component_Plate[3], - CI.electricPump_LV, - CI.component_Plate[3], - GregtechItemList.GT_FluidTank_LV.get(1)); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[8], - CI.component_Plate[3], - CI.component_Plate[8], - CI.component_Plate[5], - pipeTier3, - CI.component_Plate[5], - CI.component_Plate[5], - CI.electricPump_LV, - CI.component_Plate[5], - GregtechItemList.GT_FluidTank_MV.get(1)); + CI.component_Plate[1] = "plateTin"; + pipeTier1 = "pipeLargeClay"; + CI.circuitTier1 = ItemList.Circuit_Primitive.get(1); + CI.component_Plate[2] = "plateCopper"; + pipeTier2 = "pipeHugeClay"; + CI.component_Plate[3] = "plateBronze"; + pipeTier3 = "pipeMediumBronze"; + CI.component_Plate[4] = "plateIron"; + pipeTier4 = "pipeMediumSteel"; + CI.component_Plate[5] = "plateSteel"; + CI.component_Plate[6] = "plateRedstone"; + CI.component_Plate[7] = "plateAluminium"; + CI.component_Plate[8] = "plateDarkSteel"; + ItemStack waterBucket = ItemUtils.getSimpleStack(Items.water_bucket); + + // Allows clearing stored fluids. + GregtechItemList[] aTanks = new GregtechItemList[] { + GregtechItemList.GT_FluidTank_ULV, + GregtechItemList.GT_FluidTank_LV, + GregtechItemList.GT_FluidTank_MV, + GregtechItemList.GT_FluidTank_HV + }; + for (GregtechItemList aTank : aTanks) { RecipeUtils.addShapedGregtechRecipe( - CI.circuitTier1, - CI.component_Plate[7], - CI.circuitTier1, - CI.component_Plate[8], - pipeTier4, - CI.component_Plate[8], - CI.circuitTier1, - CI.electricPump_MV, - CI.circuitTier1, - GregtechItemList.GT_FluidTank_HV.get(1)); + aTank.get(1), null, null, null, null, null, null, null, null, aTank.get(1)); } + + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[1], + CI.component_Plate[5], + CI.component_Plate[1], + CI.component_Plate[4], + pipeTier1, + CI.component_Plate[4], + CI.component_Plate[4], + waterBucket, + CI.component_Plate[4], + GregtechItemList.GT_FluidTank_ULV.get(1)); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[5], + CI.component_Plate[4], + CI.component_Plate[5], + CI.component_Plate[3], + pipeTier2, + CI.component_Plate[3], + CI.component_Plate[3], + CI.electricPump_LV, + CI.component_Plate[3], + GregtechItemList.GT_FluidTank_LV.get(1)); + RecipeUtils.addShapedGregtechRecipe( + CI.component_Plate[8], + CI.component_Plate[3], + CI.component_Plate[8], + CI.component_Plate[5], + pipeTier3, + CI.component_Plate[5], + CI.component_Plate[5], + CI.electricPump_LV, + CI.component_Plate[5], + GregtechItemList.GT_FluidTank_MV.get(1)); + RecipeUtils.addShapedGregtechRecipe( + CI.circuitTier1, + CI.component_Plate[7], + CI.circuitTier1, + CI.component_Plate[8], + pipeTier4, + CI.component_Plate[8], + CI.circuitTier1, + CI.electricPump_MV, + CI.circuitTier1, + GregtechItemList.GT_FluidTank_HV.get(1)); } if (CORE.ConfigSwitches.enableMultiblock_MultiTank) { // Industrial Multi Tank // RECIPE_IndustrialMultiTankController = GregtechItemList.Industrial_MultiTank.get(1); - RECIPE_IndustrialMultiTankFrame = GregtechItemList.Casing_MultitankExterior.get(Casing_Amount); + RECIPE_IndustrialMultiTankFrame = GregtechItemList.Casing_MultitankExterior.get(1); // Industrial Multi Tank Casing RecipeUtils.addShapedGregtechRecipe( @@ -2139,8 +1997,8 @@ public class RECIPES_Machines { CI.getGear(3, 2) }; FluidStack[] aSemiFluidFluidInputs = new FluidStack[] { - ELEMENT.getInstance().TIN.getFluidStack(144 * 4), - ALLOY.STEEL.getFluidStack(144 * 6), + ALLOY.BRONZE.getFluidStack(144 * 8), + ALLOY.STEEL.getFluidStack(144 * 8), ELEMENT.getInstance().ALUMINIUM.getFluidStack(144 * 8), }; @@ -2162,8 +2020,8 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_AlloyBlastSmelter) { // Industrial Blast Smelter RECIPE_IndustrialBlastSmelterController = GregtechItemList.Industrial_AlloyBlastSmelter.get(1); - RECIPE_IndustrialBlastSmelterFrame = GregtechItemList.Casing_BlastSmelter.get(Casing_Amount); - RECIPE_IndustrialBlastSmelterCoil = GregtechItemList.Casing_Coil_BlastSmelter.get(Casing_Amount); + RECIPE_IndustrialBlastSmelterFrame = GregtechItemList.Casing_BlastSmelter.get(1); + RECIPE_IndustrialBlastSmelterCoil = GregtechItemList.Casing_Coil_BlastSmelter.get(1); // Blast Smelter RecipeUtils.addShapedGregtechRecipe( @@ -2224,11 +2082,45 @@ public class RECIPES_Machines { 16); } + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + ItemList.Casing_Coil_Infinity.get(1), + ItemList.Reactor_Coolant_Sp_6.get(4), + ALLOY.LAURENIUM.getPlateDouble(2), + CustomItemList.eM_Coil.get(1) + }, + ALLOY.QUANTUM.getFluidStack(144 * 4), + GregtechItemList.Casing_Coil_QuantumForceTransformer.get(1), + 60 * 30, + MaterialUtils.getVoltageForTier(6)); + + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.Casing_Coil_QuantumForceTransformer.get(1), + 2048 * 120 * 20, + 2048, + (int) GT_Values.VP[11], + 16, + new Object[] { + GregtechItemList.Controller_MolecularTransformer.get(1), + GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1), + new Object[] {OrePrefixes.circuit.get(Materials.Bio), 8}, + ItemList.Electric_Pump_UEV.get(4), + ItemList.Field_Generator_UEV.get(4), + GregtechItemList.Laser_Lens_Special.get(1) + }, + new FluidStack[] { + MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 10), + ALLOY.PIKYONIUM.getFluidStack(144 * 32) + }, + GregtechItemList.QuantumForceTransformer.get(1), + 1200 * 20, + (int) GT_Values.VP[11]); + if (CORE.ConfigSwitches.enableMultiblock_MatterFabricator) { // Industrial Matter Fabricator RECIPE_IndustrialMatterFabController = GregtechItemList.Industrial_MassFab.get(1); - RECIPE_IndustrialMatterFabFrame = GregtechItemList.Casing_MatterFab.get(Casing_Amount); - RECIPE_IndustrialMatterFabCoil = GregtechItemList.Casing_MatterGen.get(Casing_Amount); + RECIPE_IndustrialMatterFabFrame = GregtechItemList.Casing_MatterFab.get(1); + RECIPE_IndustrialMatterFabCoil = GregtechItemList.Casing_MatterGen.get(1); // Matter Fabricator CPU RecipeUtils.addShapedGregtechRecipe( @@ -2294,8 +2186,8 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_IndustrialSifter) { // Industrial Sieve RECIPE_IndustrialSieveController = GregtechItemList.Industrial_Sifter.get(1); - RECIPE_IndustrialSieveFrame = GregtechItemList.Casing_Sifter.get(Casing_Amount); - RECIPE_IndustrialSieveGrate = GregtechItemList.Casing_SifterGrate.get(Casing_Amount); + RECIPE_IndustrialSieveFrame = GregtechItemList.Casing_Sifter.get(1); + RECIPE_IndustrialSieveGrate = GregtechItemList.Casing_SifterGrate.get(1); // Industrial Sieve RecipeUtils.addShapedGregtechRecipe( @@ -2358,33 +2250,19 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer) { // Industrial Tree Farmer RECIPE_TreeFarmController = GregtechItemList.Industrial_TreeFarm.get(1); - RECIPE_TreeFarmFrame = GregtechItemList.Casing_PLACEHOLDER_TreeFarmer.get(Casing_Amount); + RECIPE_TreeFarmFrame = GregtechItemList.Casing_PLACEHOLDER_TreeFarmer.get(1); // Industrial Tree Farm Controller - if (!GTNH) { - RecipeUtils.addShapedGregtechRecipe( - "plateEglinSteel", - "rotorEglinSteel", - "plateEglinSteel", - "cableGt02Steel", - "pipeMediumSteel", - "cableGt02Steel", - "plateEglinSteel", - CI.machineCasing_MV, - "plateEglinSteel", - RECIPE_TreeFarmController); - } else { - RecipeUtils.addShapedGregtechRecipe( - ItemList.Field_Generator_IV.get(1), - ALLOY.INCOLOY_MA956.getRotor(1), - ItemList.Field_Generator_IV.get(1), - ALLOY.NITINOL_60.getPlate(1), - GregtechItemList.GTPP_Casing_IV.get(1), - ALLOY.NITINOL_60.getPlate(1), - ItemList.Field_Generator_IV.get(1), - ALLOY.INCONEL_792.getComponentByPrefix(OrePrefixes.pipeMedium, 1), - ItemList.Field_Generator_IV.get(1), - RECIPE_TreeFarmController); - } + RecipeUtils.addShapedGregtechRecipe( + ItemList.Field_Generator_IV.get(1), + ALLOY.INCOLOY_MA956.getRotor(1), + ItemList.Field_Generator_IV.get(1), + ALLOY.NITINOL_60.getPlate(1), + GregtechItemList.GTPP_Casing_IV.get(1), + ALLOY.NITINOL_60.getPlate(1), + ItemList.Field_Generator_IV.get(1), + ALLOY.INCONEL_792.getComponentByPrefix(OrePrefixes.pipeMedium, 1), + ItemList.Field_Generator_IV.get(1), + RECIPE_TreeFarmController); // Industrial Tree Farm Frame GT_Values.RA.addAssemblerRecipe( new ItemStack[] { @@ -2469,31 +2347,31 @@ public class RECIPES_Machines { aInputsForSimpleWashers[0] = new ItemStack[] { CI.getTieredMachineHull(2), - CI.getTieredComponent(OrePrefixes.screw, 2, GTNH ? 16 : 8), - CI.getTieredComponent(OrePrefixes.plate, 1, GTNH ? 8 : 4), - CI.getTieredComponent(OrePrefixes.rod, 2, GTNH ? 4 : 2), - CI.getTieredComponent(OrePrefixes.circuit, 2, GTNH ? 3 : 1), + CI.getTieredComponent(OrePrefixes.screw, 2, 8), + CI.getTieredComponent(OrePrefixes.plate, 1, 4), + CI.getTieredComponent(OrePrefixes.rod, 2, 2), + CI.getTieredComponent(OrePrefixes.circuit, 2, 1), }; aInputsForSimpleWashers[1] = new ItemStack[] { CI.getTieredMachineHull(4), - CI.getTieredComponent(OrePrefixes.screw, 4, GTNH ? 24 : 12), - CI.getTieredComponent(OrePrefixes.plate, 3, GTNH ? 12 : 6), - CI.getTieredComponent(OrePrefixes.rod, 4, GTNH ? 6 : 3), - CI.getTieredComponent(OrePrefixes.circuit, 4, GTNH ? 4 : 2), + CI.getTieredComponent(OrePrefixes.screw, 4, 12), + CI.getTieredComponent(OrePrefixes.plate, 3, 6), + CI.getTieredComponent(OrePrefixes.rod, 4, 3), + CI.getTieredComponent(OrePrefixes.circuit, 4, 2), }; aInputsForSimpleWashers[2] = new ItemStack[] { CI.getTieredMachineHull(6), - CI.getTieredComponent(OrePrefixes.screw, 6, GTNH ? 48 : 24), - CI.getTieredComponent(OrePrefixes.plate, 5, GTNH ? 16 : 8), - CI.getTieredComponent(OrePrefixes.rod, 6, GTNH ? 8 : 4), - CI.getTieredComponent(OrePrefixes.circuit, 6, GTNH ? 6 : 3), + CI.getTieredComponent(OrePrefixes.screw, 6, 24), + CI.getTieredComponent(OrePrefixes.plate, 5, 8), + CI.getTieredComponent(OrePrefixes.rod, 6, 4), + CI.getTieredComponent(OrePrefixes.circuit, 6, 3), }; aInputsForSimpleWashers[3] = new ItemStack[] { CI.getTieredMachineHull(8), - CI.getTieredComponent(OrePrefixes.screw, 8, GTNH ? 64 : 32), - CI.getTieredComponent(OrePrefixes.plate, 7, GTNH ? 32 : 16), - CI.getTieredComponent(OrePrefixes.rod, 8, GTNH ? 10 : 5), - CI.getTieredComponent(OrePrefixes.circuit, 8, GTNH ? 8 : 4), + CI.getTieredComponent(OrePrefixes.screw, 8, 32), + CI.getTieredComponent(OrePrefixes.plate, 7, 16), + CI.getTieredComponent(OrePrefixes.rod, 8, 5), + CI.getTieredComponent(OrePrefixes.circuit, 8, 4), }; ItemStack[] aSimpleWashers = new ItemStack[] { @@ -2679,31 +2557,30 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_ThermalBoiler) { RECIPE_ThermalBoilerController = GregtechItemList.GT4_Thermal_Boiler.get(1); - RECIPE_ThermalBoilerCasing = GregtechItemList.Casing_ThermalContainment.get(GTNH ? 1 : 2); - ItemStack centrifugeHV = - GTNH ? ItemList.Machine_IV_Centrifuge.get(1) : ItemList.Machine_EV_Centrifuge.get(1); + RECIPE_ThermalBoilerCasing = GregtechItemList.Casing_ThermalContainment.get(2); + ItemStack centrifugeEV = ItemList.Machine_EV_Centrifuge.get(1); RecipeUtils.addShapedGregtechRecipe( "craftingGeothermalGenerator", - centrifugeHV, + centrifugeEV, "craftingGeothermalGenerator", "gearGtTitanium", CI.getTieredCircuitOreDictName(6), "gearGtTitanium", "craftingGeothermalGenerator", - centrifugeHV, + centrifugeEV, "craftingGeothermalGenerator", RECIPE_ThermalBoilerController); RecipeUtils.addShapedGregtechRecipe( "craftingGeothermalGenerator", - centrifugeHV, + centrifugeEV, "craftingGeothermalGenerator", "gearGtTungstenSteel", CI.getTieredCircuitOreDictName(5), "gearGtTungstenSteel", "craftingGeothermalGenerator", - centrifugeHV, + centrifugeEV, "craftingGeothermalGenerator", RECIPE_ThermalBoilerController); @@ -2723,15 +2600,15 @@ public class RECIPES_Machines { CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { CI.getNumberedCircuit(18), - ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", GTNH ? 64 : 32), - ItemUtils.getItemStackOfAmountFromOreDict("wireFineSteel", GTNH ? 64 : 32), - ItemUtils.getItemStackOfAmountFromOreDict("ringTumbaga", GTNH ? 32 : 16), - ItemUtils.getItemStackOfAmountFromOreDict("foilCopper", GTNH ? 8 : 4), + ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 32), + ItemUtils.getItemStackOfAmountFromOreDict("wireFineSteel", 32), + ItemUtils.getItemStackOfAmountFromOreDict("ringTumbaga", 16), + ItemUtils.getItemStackOfAmountFromOreDict("foilCopper", 4), ItemUtils.getItemStackWithMeta( LoadedMods.IndustrialCraft2, "IC2:itemPartCarbonMesh", "RawCarbonMesh", 0, 64), }, CI.getTieredFluid(3, 144), - ItemUtils.getSimpleStack(ModItems.itemLavaFilter, GTNH ? 8 : 16), + ItemUtils.getSimpleStack(ModItems.itemLavaFilter, 16), 1600, 240); } @@ -2784,31 +2661,17 @@ public class RECIPES_Machines { RECIPE_LFTROuterCasing = GregtechItemList.Casing_Reactor_I.get(1); // Hastelloy ItemStack controlCircuit = ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR); - if (!GTNH) { - RecipeUtils.addShapedGregtechRecipe( - controlCircuit, - "cableGt12NaquadahAlloy", - controlCircuit, - "plateDoubleHastelloyN", - GregtechItemList.Gregtech_Computer_Cube.get(1), - "plateDoubleHastelloyN", - "plateThorium232", - CI.machineHull_EV, - "plateThorium232", - RECIPE_LFTRController); - } else { - RecipeUtils.addShapedGregtechRecipe( - controlCircuit, - "cableGt12Naquadah", - controlCircuit, - "plateDoubleHastelloyN", - GregtechItemList.Gregtech_Computer_Cube.get(1), - "plateDoubleHastelloyN", - "plateThorium232", - CI.machineHull_IV, - "plateThorium232", - RECIPE_LFTRController); - } + RecipeUtils.addShapedGregtechRecipe( + controlCircuit, + "cableGt12Naquadah", + controlCircuit, + "plateDoubleHastelloyN", + GregtechItemList.Gregtech_Computer_Cube.get(1), + "plateDoubleHastelloyN", + "plateThorium232", + CI.machineHull_IV, + "plateThorium232", + RECIPE_LFTRController); RecipeUtils.addShapedGregtechRecipe( "plateDoubleHastelloyC276", CI.craftingToolScrewdriver, @@ -2858,13 +2721,7 @@ public class RECIPES_Machines { "gearGtStellite", GregtechItemList.Industrial_FuelRefinery.get(1)); - ItemStack mInnerTank; - - if (GTNH || !CORE.ConfigSwitches.enableMachine_FluidTanks) { - mInnerTank = ItemList.Quantum_Tank_LV.get(1); - } else { - mInnerTank = GregtechItemList.GT_FluidTank_EV.get(1); - } + ItemStack mInnerTank = ItemList.Quantum_Tank_LV.get(1); // Incoloy Casing RecipeUtils.addShapedGregtechRecipe( @@ -2877,7 +2734,7 @@ public class RECIPES_Machines { "plateIncoloyDS", "pipeHugeStaballoy", "plateIncoloyDS", - GregtechItemList.Casing_Refinery_Internal.get(Casing_Amount)); + GregtechItemList.Casing_Refinery_Internal.get(1)); // Hastelloy-N Sealant Casing RecipeUtils.addShapedGregtechRecipe( @@ -2890,7 +2747,7 @@ public class RECIPES_Machines { "plateIncoloyMA956", "plateHastelloyN", "plateIncoloyMA956", - GregtechItemList.Casing_Refinery_External.get(Casing_Amount)); + GregtechItemList.Casing_Refinery_External.get(1)); // Hastelloy-X Structural Casing RecipeUtils.addShapedGregtechRecipe( @@ -2903,7 +2760,7 @@ public class RECIPES_Machines { CI.component_Plate[5], CI.getTieredMachineCasing(4), "ringInconel792", - GregtechItemList.Casing_Refinery_Structural.get(Casing_Amount)); + GregtechItemList.Casing_Refinery_Structural.get(1)); RecipeUtils.addShapedGregtechRecipe( CI.getPlate(5, 1), @@ -2981,18 +2838,18 @@ public class RECIPES_Machines { // Cyclotron if (CORE.ConfigSwitches.enableMultiblock_Cyclotron) { RECIPE_CyclotronController = GregtechItemList.COMET_Cyclotron.get(1); - RECIPE_CyclotronOuterCasing = GregtechItemList.Casing_Cyclotron_External.get(Casing_Amount); + RECIPE_CyclotronOuterCasing = GregtechItemList.Casing_Cyclotron_External.get(1); RECIPE_CyclotronInnerCoil = GregtechItemList.Casing_Cyclotron_Coil.get(1); // Outer Casing CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { ItemList.Casing_FrostProof.get(1), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 0, GTNH ? 8 : 4), - ALLOY.INCOLOY_DS.getPlate(GTNH ? 16 : 8), - ALLOY.INCONEL_690.getScrew(GTNH ? 32 : 16), - ALLOY.EGLIN_STEEL.getLongRod(GTNH ? 16 : 4), - CI.getElectricPiston(3, GTNH ? 4 : 2) + ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 0, 4), + ALLOY.INCOLOY_DS.getPlate(8), + ALLOY.INCONEL_690.getScrew(16), + ALLOY.EGLIN_STEEL.getLongRod(4), + CI.getElectricPiston(3, 2) }, ALLOY.ZIRCONIUM_CARBIDE.getFluidStack(144 * 8), // Input Fluid RECIPE_CyclotronOuterCasing, @@ -3003,11 +2860,11 @@ public class RECIPES_Machines { CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { ItemList.Casing_Coil_Nichrome.get(1), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 1, GTNH ? 32 : 8), - ALLOY.INCOLOY_MA956.getPlate(GTNH ? 16 : 8), - ALLOY.TANTALLOY_61.getBolt(GTNH ? 32 : 16), - ALLOY.INCOLOY_020.getScrew(GTNH ? 64 : 32), - CI.getFieldGenerator(4, GTNH ? 2 : 1) + ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 1, 8), + ALLOY.INCOLOY_MA956.getPlate(8), + ALLOY.TANTALLOY_61.getBolt(16), + ALLOY.INCOLOY_020.getScrew(32), + CI.getFieldGenerator(4, 1) }, ALLOY.HG1223.getFluidStack(144 * 5), // Input Fluid RECIPE_CyclotronInnerCoil, @@ -3018,12 +2875,11 @@ public class RECIPES_Machines { CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { CI.machineHull_IV, - ItemUtils.getSimpleStack(RECIPE_CyclotronInnerCoil, GTNH ? 4 : 2), - ALLOY.INCOLOY_020.getPlate(GTNH ? 16 : 8), - ALLOY.TANTALLOY_61.getGear(GTNH ? 4 : 2), - ALLOY.INCOLOY_MA956.getScrew(GTNH ? 64 : 16), - ItemUtils.getItemStackOfAmountFromOreDict( - CI.getTieredCircuitOreDictName(GTNH ? 6 : 5), GTNH ? 8 : 16) + ItemUtils.getSimpleStack(RECIPE_CyclotronInnerCoil, 2), + ALLOY.INCOLOY_020.getPlate(8), + ALLOY.TANTALLOY_61.getGear(2), + ALLOY.INCOLOY_MA956.getScrew(16), + ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(5), 16) }, ALLOY.INCOLOY_020.getFluidStack(144 * 9), // Input Fluid RECIPE_CyclotronController, @@ -3062,7 +2918,7 @@ public class RECIPES_Machines { "screwTitanium", "plateIncoloy020", "screwTitanium", - GregtechItemList.Casing_Power_SubStation.get(Casing_Amount)); + GregtechItemList.Casing_Power_SubStation.get(1)); ItemStack mBattery = ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR); @@ -3090,7 +2946,7 @@ public class RECIPES_Machines { "plateRedSteel", CI.craftingToolWrench, "plateRedSteel", - GregtechItemList.Casing_ThermalCentrifuge.get(Casing_Amount)); + GregtechItemList.Casing_ThermalCentrifuge.get(1)); GT_Values.RA.addAssemblerRecipe( new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 6), @@ -3126,7 +2982,7 @@ public class RECIPES_Machines { "plateGrisium", CI.craftingToolWrench, "plateGrisium", - GregtechItemList.Casing_WashPlant.get(Casing_Amount)); + GregtechItemList.Casing_WashPlant.get(1)); GT_Values.RA.addAssemblerRecipe( new ItemStack[] { ALLOY.LEAGRISIUM.getPlate(4), @@ -3161,48 +3017,48 @@ public class RECIPES_Machines { ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1)) : ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1); - aCoreBlock.stackSize = GTNH ? 2 : 1; + aCoreBlock.stackSize = 1; CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { - ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), GTNH ? 2 : 1), + ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), 1), aCoreBlock, - CI.getTieredComponent(OrePrefixes.circuit, GTNH ? 3 : 2, 16), - CI.getTieredComponent(OrePrefixes.screw, GTNH ? 6 : 5, 32), - CI.getTieredComponent(OrePrefixes.bolt, GTNH ? 6 : 5, 12), - CI.getTieredComponent(OrePrefixes.plate, GTNH ? 7 : 6, 8), + CI.getTieredComponent(OrePrefixes.circuit, 2, 16), + CI.getTieredComponent(OrePrefixes.screw, 5, 32), + CI.getTieredComponent(OrePrefixes.bolt, 5, 12), + CI.getTieredComponent(OrePrefixes.plate, 6, 8), }, - CI.getTertiaryTieredFluid(6, 144 * (GTNH ? 12 : 4)), - GregtechItemList.Casing_Autocrafter.get(Casing_Amount), + CI.getTertiaryTieredFluid(6, 144 * (4)), + GregtechItemList.Casing_Autocrafter.get(1), 20 * 60 * 2, - MaterialUtils.getVoltageForTier(GTNH ? 6 : 5)); + MaterialUtils.getVoltageForTier(5)); CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { GregtechItemList.Casing_Refinery_Structural.get(4), - ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, GTNH ? 2 : 1), - CI.getTieredComponent(OrePrefixes.cableGt08, GTNH ? 7 : 6, GTNH ? 32 : 16), - CI.getTransmissionComponent(GTNH ? 6 : 5, 2), + ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, 1), + CI.getTieredComponent(OrePrefixes.cableGt08, 6, 16), + CI.getTransmissionComponent(5, 2), GregtechItemList.Gregtech_Computer_Cube.get(1), }, - CI.getTieredFluid(7, 144 * (GTNH ? 32 : 8)), + CI.getTieredFluid(7, 144 * 8), GregtechItemList.GT4_Multi_Crafter.get(1), 20 * 60 * 5, - MaterialUtils.getVoltageForTier(GTNH ? 6 : 5)); + MaterialUtils.getVoltageForTier(5)); CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { - ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), Casing_Amount), - CI.getEmitter(GTNH ? 5 : 4, GTNH ? 4 : 2), - CI.getRobotArm(GTNH ? 5 : 4, GTNH ? 4 : 2), - CI.getTieredComponent(OrePrefixes.circuit, GTNH ? 3 : 2, 8), - CI.getTieredComponent(OrePrefixes.screw, GTNH ? 4 : 3, 8), - CI.getTieredComponent(OrePrefixes.plate, 5, GTNH ? 16 : 4), + ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), 1), + CI.getEmitter(4, 2), + CI.getRobotArm(4, 2), + CI.getTieredComponent(OrePrefixes.circuit, 2, 8), + CI.getTieredComponent(OrePrefixes.screw, 3, 8), + CI.getTieredComponent(OrePrefixes.plate, 5, 4), }, CI.getAlternativeTieredFluid(5, 144 * 4), ItemUtils.getSimpleStack(ModBlocks.blockProjectTable), 20 * 30 * 3, - MaterialUtils.getVoltageForTier(GTNH ? 5 : 4)); + MaterialUtils.getVoltageForTier(4)); } if (CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine) { @@ -3217,7 +3073,7 @@ public class RECIPES_Machines { plate, CI.craftingToolWrench, plate, - GregtechItemList.Casing_CuttingFactoryFrame.get(Casing_Amount)); + GregtechItemList.Casing_CuttingFactoryFrame.get(1)); GT_Values.RA.addAssemblerRecipe( new ItemStack[] { ALLOY.MARAGING300.getPlate(4), @@ -3256,7 +3112,7 @@ public class RECIPES_Machines { plate, CI.craftingToolWrench, plate, - GregtechItemList.Casing_Extruder.get(Casing_Amount)); + GregtechItemList.Casing_Extruder.get(1)); GT_Values.RA.addAssemblerRecipe( new ItemStack[] { ALLOY.INCONEL_690.getPlate(4), @@ -3294,7 +3150,7 @@ public class RECIPES_Machines { plate, CI.craftingToolWrench, plate, - GregtechItemList.Casing_FishPond.get(Casing_Amount)); + GregtechItemList.Casing_FishPond.get(1)); GT_Values.RA.addAssemblerRecipe( new ItemStack[] { ALLOY.AQUATIC_STEEL.getPlate(4), @@ -3337,7 +3193,7 @@ public class RECIPES_Machines { plate, gear, plate, - GregtechItemList.Casing_AdvancedVacuum.get(Casing_Amount)); + GregtechItemList.Casing_AdvancedVacuum.get(1)); RecipeUtils.addShapedRecipe( gear, CI.getTieredCircuit(6), @@ -3368,7 +3224,7 @@ public class RECIPES_Machines { plate, gear, plate, - GregtechItemList.Casing_Adv_BlastFurnace.get(Casing_Amount)); + GregtechItemList.Casing_Adv_BlastFurnace.get(1)); RecipeUtils.addShapedRecipe( gear, CI.getTieredCircuit(6), @@ -3451,7 +3307,7 @@ public class RECIPES_Machines { plate, gear, plate, - GregtechItemList.Casing_AmazonWarehouse.get(Casing_Amount)); + GregtechItemList.Casing_AmazonWarehouse.get(1)); GT_Values.RA.addAssemblerRecipe( new ItemStack[] { ALLOY.TUNGSTEN_CARBIDE.getFrameBox(1), @@ -3495,27 +3351,13 @@ public class RECIPES_Machines { if (CORE.ConfigSwitches.enableMultiblock_IndustrialMultiMachine) { ItemStack plate = ALLOY.STABALLOY.getPlate(1); - ItemStack o_Compressor; - ItemStack o_Lathe; - ItemStack o_Electromagnet; - ItemStack o_Fermenter; - ItemStack o_Distillery; - ItemStack o_Extractor; - if (GTNH) { - o_Compressor = ItemList.Machine_IV_Compressor.get(1); - o_Lathe = ItemList.Machine_IV_Lathe.get(1); - o_Electromagnet = ItemList.Machine_IV_Polarizer.get(1); - o_Fermenter = ItemList.Machine_IV_Fermenter.get(1); - o_Distillery = ItemList.Machine_IV_FluidExtractor.get(1); - o_Extractor = ItemList.Machine_IV_Extractor.get(1); - } else { - o_Compressor = ItemList.Machine_EV_Compressor.get(1); - o_Lathe = ItemList.Machine_EV_Lathe.get(1); - o_Electromagnet = ItemList.Machine_EV_Polarizer.get(1); - o_Fermenter = ItemList.Machine_EV_Fermenter.get(1); - o_Distillery = ItemList.Machine_EV_FluidExtractor.get(1); - o_Extractor = ItemList.Machine_EV_Extractor.get(1); - } + ItemStack o_Compressor = ItemList.Machine_IV_Compressor.get(1); + ItemStack o_Lathe = ItemList.Machine_IV_Lathe.get(1); + ItemStack o_Electromagnet = ItemList.Machine_IV_Polarizer.get(1); + ItemStack o_Fermenter = ItemList.Machine_IV_Fermenter.get(1); + ItemStack o_Distillery = ItemList.Machine_IV_FluidExtractor.get(1); + ItemStack o_Extractor = ItemList.Machine_IV_Extractor.get(1); + RecipeUtils.addShapedRecipe( plate, CI.craftingToolHammer_Hard, @@ -3526,7 +3368,7 @@ public class RECIPES_Machines { plate, CI.craftingToolWrench, plate, - GregtechItemList.Casing_Multi_Use.get(Casing_Amount)); + GregtechItemList.Casing_Multi_Use.get(1)); GT_Values.RA.addAssemblerRecipe( new ItemStack[] { ALLOY.STABALLOY.getPlate(4), @@ -3561,39 +3403,23 @@ public class RECIPES_Machines { ItemStack aDrillController = ItemUtils.getValueOfItemList("OreDrill4", ItemList.Hull_UV) .get(1); - // Drilling Platform - /*CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { - aDrillController, - ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 3), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(9), 2 * (GTNH ? 4 : 1)), - ItemUtils.getSimpleStack((GTNH ? CI.conveyorModule_UV : CI.conveyorModule_ZPM), 2 * (GTNH ? 2 : 1)), - ItemUtils.getSimpleStack((GTNH ? CI.electricPump_UV : CI.electricPump_ZPM), 4 * (GTNH ? 2 : 1)), - }, - ALLOY.LAFIUM.getFluid(144 * 8 * (GTNH ? 2 : 1)), - GregtechItemList.BedrockMiner_MKI.get(1), - (int) GT_Values.V[5], - (int) GT_Values.V[7]);*/ - // Drilling Platform Casings CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 4), - ItemUtils.getItemStackOfAmountFromOreDict( - "plateDoubleTriniumTitaniumAlloy", 1 * (GTNH ? 2 : 1)), - ItemUtils.getItemStackOfAmountFromOreDict("gearGtPikyonium64B", 2 * (GTNH ? 2 : 1)), - ALLOY.TRINIUM_REINFORCED_STEEL.getPlateDouble(4 * (GTNH ? 2 : 1)), - ItemUtils.getSimpleStack( - (GTNH ? CI.machineHull_UV : CI.machineHull_LuV), 1 * (GTNH ? 2 : 1)), + ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleTriniumTitaniumAlloy", 1 * (1)), + ItemUtils.getItemStackOfAmountFromOreDict("gearGtPikyonium64B", 2 * (1)), + ALLOY.TRINIUM_REINFORCED_STEEL.getPlateDouble(4 * (1)), + ItemUtils.getSimpleStack((CI.machineHull_LuV), 1 * (1)), }, - ALLOY.MARAGING350.getFluidStack(144 * 16 * (GTNH ? 2 : 1)), + ALLOY.MARAGING350.getFluidStack(144 * 16 * (1)), GregtechItemList.Casing_BedrockMiner.get(1), (int) GT_Values.V[4], (int) GT_Values.V[6]); } } - int aCostMultiplier = GTNH ? 2 : 1; + int aCostMultiplier = 1; // Mystic Frame CORE.RA.addSixSlotAssemblingRecipe( @@ -3676,9 +3502,7 @@ public class RECIPES_Machines { Item aBaseCore = ModItems.itemControlCore; ItemStack[] aInputPrevTier = new ItemStack[] { - GTNH - ? ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore3", 1) - : ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore2", 1), + ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore2", 1), ItemUtils.simpleMetaStack(aBaseCore, 0, 1), ItemUtils.simpleMetaStack(aBaseCore, 1, 1), ItemUtils.simpleMetaStack(aBaseCore, 2, 1), @@ -3706,11 +3530,10 @@ public class RECIPES_Machines { new ItemStack[] { CI.machineHull_HV, aOutput[1], - aMat_A[1].getGear(GTNH ? 4 : 2), - aMat_B[2].getPlateDouble(GTNH ? 16 : 8), - ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + (GTNH ? "2" : "1"), GTNH ? 4 : 2), - ItemUtils.getItemStackOfAmountFromOreDict( - CI.getTieredCircuitOreDictName(GTNH ? 3 : 2), GTNH ? 10 : 5) + aMat_A[1].getGear(2), + aMat_B[2].getPlateDouble(8), + ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + ("1"), 2), + ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(2), 5) }, aMat_B[3].getFluidStack(144 * 8), // Input Fluid GregtechItemList.Hatch_Control_Core.get(1), @@ -3718,29 +3541,28 @@ public class RECIPES_Machines { MaterialUtils.getVoltageForTier(3)); for (int i = 0; i < 10; i++) { - boolean aDub = false; - ItemStack aPlateStack = aMat_A[i].getPlateDouble((GTNH ? 16 : 8) * (aDub ? 2 : 1)); - ItemStack aGearStack = aMat_B[i].getGear(GTNH ? 4 : 2 * (aDub ? 2 : 1)); - ItemStack aRodStack = aMat_A[i].getLongRod(GTNH ? 16 : 8 * (aDub ? 2 : 1)); - ItemStack aScrewStack = aMat_B[i].getScrew(32 * (aDub ? 2 : 1)); + ItemStack aPlateStack = aMat_A[i].getPlateDouble(8); + ItemStack aGearStack = aMat_B[i].getGear(2); + ItemStack aRodStack = aMat_A[i].getLongRod(8); + ItemStack aScrewStack = aMat_B[i].getScrew(32); if (!ItemUtils.checkForInvalidItems(aPlateStack)) { - aPlateStack = aMat_A[i].getPlate((GTNH ? 16 : 8) * (aDub ? 2 : 1) * 2); + aPlateStack = aMat_A[i].getPlate(16); if (!ItemUtils.checkForInvalidItems(aPlateStack)) { - aPlateStack = aMat_B[i].getPlateDouble((GTNH ? 16 : 8) * (aDub ? 2 : 1)); + aPlateStack = aMat_B[i].getPlateDouble(8); if (!ItemUtils.checkForInvalidItems(aPlateStack)) { - aPlateStack = aMat_B[i].getPlate((GTNH ? 16 : 8) * (aDub ? 2 : 1) * 2); + aPlateStack = aMat_B[i].getPlate(16); } } } if (!ItemUtils.checkForInvalidItems(aGearStack)) { - aGearStack = aMat_A[i].getGear(GTNH ? 8 : 4 * (aDub ? 2 : 1)); + aGearStack = aMat_A[i].getGear(4); } if (!ItemUtils.checkForInvalidItems(aRodStack)) { - aRodStack = aMat_B[i].getLongRod(GTNH ? 32 : 16 * (aDub ? 2 : 1)); + aRodStack = aMat_B[i].getLongRod(16); } if (!ItemUtils.checkForInvalidItems(aScrewStack)) { - aScrewStack = aMat_A[i].getScrew(32 * (aDub ? 2 : 1)); + aScrewStack = aMat_A[i].getScrew(32); } CORE.RA.addSixSlotAssemblingRecipe( @@ -3751,8 +3573,7 @@ public class RECIPES_Machines { aRodStack, aScrewStack, ItemUtils.getItemStackOfAmountFromOreDict( - CI.getTieredCircuitOreDictName((int) (4 + Math.ceil((double) i / (double) 2))), - GTNH ? (i * 2 * 2) : (i * 2)) + CI.getTieredCircuitOreDictName((int) (4 + Math.ceil((double) i / (double) 2))), i * 2) }, CI.getTieredFluid(i, 144 * 4 * (i + 1)), // Input Fluid aOutput[i], @@ -3763,112 +3584,6 @@ public class RECIPES_Machines { private static void energyCores() { - // Simpler Recipes for normal Players, Force assembly crafting in GTNH - if (!GTNH) { - // Buffer Core - /*RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[1], cableTier1, CI.component_Plate[1], - "circuitPrimitive", "plateStaballoy", "circuitPrimitive", - CI.component_Plate[1], cableTier1, CI.component_Plate[1], - RECIPE_BufferCore_ULV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[2], cableTier2, CI.component_Plate[2], - RECIPE_BufferCore_ULV, CI.machineHull_HV, RECIPE_BufferCore_ULV, - CI.component_Plate[2], cableTier2, CI.component_Plate[2], - RECIPE_BufferCore_LV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[3], cableTier3, CI.component_Plate[3], - RECIPE_BufferCore_LV, CI.circuitTier2, RECIPE_BufferCore_LV, - CI.component_Plate[3], cableTier3, CI.component_Plate[3], - RECIPE_BufferCore_MV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[4], cableTier4, CI.component_Plate[4], - RECIPE_BufferCore_MV, CI.circuitTier3, RECIPE_BufferCore_MV, - CI.component_Plate[4], cableTier4, CI.component_Plate[4], - RECIPE_BufferCore_HV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[5], cableTier5, CI.component_Plate[5], - RECIPE_BufferCore_HV, CI.circuitTier4, RECIPE_BufferCore_HV, - CI.component_Plate[5], cableTier5, CI.component_Plate[5], - RECIPE_BufferCore_EV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[6], cableTier6, CI.component_Plate[6], - RECIPE_BufferCore_EV, CI.circuitTier5, RECIPE_BufferCore_EV, - CI.component_Plate[6], cableTier6, CI.component_Plate[6], - RECIPE_BufferCore_IV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[7], cableTier7, CI.component_Plate[7], - RECIPE_BufferCore_IV, CI.circuitTier6, RECIPE_BufferCore_IV, - CI.component_Plate[7], cableTier7, CI.component_Plate[7], - RECIPE_BufferCore_LuV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[8], cableTier8, CI.component_Plate[8], - RECIPE_BufferCore_LuV, CI.circuitTier7, RECIPE_BufferCore_LuV, - CI.component_Plate[8], cableTier8, CI.component_Plate[8], - RECIPE_BufferCore_ZPM); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[9], cableTier9, CI.component_Plate[9], - RECIPE_BufferCore_ZPM, CI.circuitTier8, RECIPE_BufferCore_ZPM, - CI.component_Plate[9], cableTier9, CI.component_Plate[9], - RECIPE_BufferCore_UV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[10], cableTier10, CI.component_Plate[10], - RECIPE_BufferCore_UV, CI.circuitTier9, RECIPE_BufferCore_UV, - CI.component_Plate[10], cableTier10, CI.component_Plate[10], - RECIPE_BufferCore_MAX);*/ - - /*RecipeUtils.addShapedGregtechRecipe( - wireTier1, RECIPE_BufferCore_ULV, wireTier1, - wireTier1, CI.machineCasing_ULV, wireTier1, - CI.circuitPrimitive, CI.circuitTier1, CI.circuitPrimitive, - RECIPE_Buffer_ULV); - RecipeUtils.addShapedGregtechRecipe( - wireTier2, RECIPE_BufferCore_LV, wireTier2, - wireTier2, CI.machineCasing_LV, wireTier2, - CI.circuitTier1, RECIPE_BufferCore_LV, CI.circuitTier1, - RECIPE_Buffer_LV); - RecipeUtils.addShapedGregtechRecipe( - wireTier3, RECIPE_BufferCore_MV, wireTier3, - wireTier3, CI.machineCasing_MV, wireTier3, - CI.circuitTier2, RECIPE_BufferCore_MV, CI.circuitTier2, - RECIPE_Buffer_MV); - RecipeUtils.addShapedGregtechRecipe( - wireTier4, RECIPE_BufferCore_HV, wireTier4, - wireTier4, CI.machineCasing_HV, wireTier4, - CI.circuitTier3, RECIPE_BufferCore_HV, CI.circuitTier3, - RECIPE_Buffer_HV); - RecipeUtils.addShapedGregtechRecipe( - wireTier5, RECIPE_BufferCore_EV, wireTier5, - wireTier5, CI.machineCasing_EV, wireTier5, - CI.circuitTier4, RECIPE_BufferCore_EV, CI.circuitTier4, - RECIPE_Buffer_EV); - RecipeUtils.addShapedGregtechRecipe( - wireTier6, RECIPE_BufferCore_IV, wireTier6, - wireTier6, CI.machineCasing_IV, wireTier6, - CI.circuitTier5, RECIPE_BufferCore_IV, CI.circuitTier5, - RECIPE_Buffer_IV); - RecipeUtils.addShapedGregtechRecipe( - wireTier7, RECIPE_BufferCore_LuV, wireTier7, - wireTier7, CI.machineCasing_LuV, wireTier7, - CI.circuitTier6, RECIPE_BufferCore_LuV, CI.circuitTier6, - RECIPE_Buffer_LuV); - RecipeUtils.addShapedGregtechRecipe( - wireTier8, RECIPE_BufferCore_ZPM, wireTier8, - wireTier8, CI.machineCasing_ZPM, wireTier8, - CI.circuitTier7, RECIPE_BufferCore_ZPM, CI.circuitTier7, - RECIPE_Buffer_ZPM); - RecipeUtils.addShapedGregtechRecipe( - wireTier9, RECIPE_BufferCore_UV, wireTier9, - wireTier9, CI.machineCasing_UV, wireTier9, - CI.circuitTier8, RECIPE_BufferCore_UV, CI.circuitTier8, - RECIPE_Buffer_UV); - RecipeUtils.addShapedGregtechRecipe( - CI.component_Plate[11], RECIPE_BufferCore_MAX, CI.component_Plate[11], - wireTier10, CI.machineCasing_MAX, wireTier10, - CI.circuitTier9, RECIPE_BufferCore_MAX, CI.circuitTier9, - RECIPE_Buffer_MAX);*/ - } - ItemStack[] aBufferOutput = new ItemStack[] { RECIPE_Buffer_ULV, RECIPE_Buffer_LV, @@ -3895,21 +3610,19 @@ public class RECIPES_Machines { ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "10", 1) }; - int aCostMultiplier = GTNH ? 4 : 1; - for (int i = 0; i < 10; i++) { - ItemStack aPrevTier = (i == 0 ? CI.getTieredMachineHull(GTNH ? 2 : 1) : aOutput[i - 1]); - aPrevTier.stackSize = GTNH ? 2 : 1; + ItemStack aPrevTier = (i == 0 ? CI.getTieredMachineHull(1) : aOutput[i - 1]); + aPrevTier.stackSize = 1; int aTier = (i + 1); CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { aPrevTier, - CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.cableGt04, i, 2 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.circuit, aTier, 2 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.screw, aTier, 6 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.bolt, i, 12 * (GTNH ? 2 : 1)), + CI.getTieredComponent(OrePrefixes.plate, aTier, 4), + CI.getTieredComponent(OrePrefixes.cableGt04, i, 2), + CI.getTieredComponent(OrePrefixes.circuit, aTier, 2), + CI.getTieredComponent(OrePrefixes.screw, aTier, 6), + CI.getTieredComponent(OrePrefixes.bolt, i, 12), }, CI.getTieredFluid(i, (144 * 4 * aTier)), // Input Fluid aOutput[i], @@ -3920,11 +3633,11 @@ public class RECIPES_Machines { CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { ItemUtils.getSimpleStack(aOutput[i], 4), - CI.getTieredComponent(OrePrefixes.plate, aTier, 8 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.wireGt08, i, 4 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.circuit, i, 4 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.stickLong, aTier, 4 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.gearGt, i, 5 * (GTNH ? 2 : 1)), + CI.getTieredComponent(OrePrefixes.plate, aTier, 8), + CI.getTieredComponent(OrePrefixes.wireGt08, i, 4), + CI.getTieredComponent(OrePrefixes.circuit, i, 4), + CI.getTieredComponent(OrePrefixes.stickLong, aTier, 4), + CI.getTieredComponent(OrePrefixes.gearGt, i, 5), }, CI.getTieredFluid(aTier, (144 * 16 * aTier)), // Input Fluid aBufferOutput[i], @@ -3948,19 +3661,17 @@ public class RECIPES_Machines { GregtechItemList.Charger_MAX.get(1) }; - int aCostMultiplier = GTNH ? 2 : 1; - for (int i = 0; i < 10; i++) { if (i == 0) { continue; } int aTier = (i + 1); ItemStack[] aInputs = new ItemStack[] { - CI.getTieredMachineHull(i, 1 * aCostMultiplier), - CI.getTransmissionComponent(i, 2 * aCostMultiplier), - CI.getFieldGenerator(i, 1 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.circuit, aTier, 2 * aCostMultiplier), + CI.getTieredMachineHull(i, 1), + CI.getTransmissionComponent(i, 2), + CI.getFieldGenerator(i, 1), + CI.getTieredComponent(OrePrefixes.plate, aTier, 4), + CI.getTieredComponent(OrePrefixes.circuit, aTier, 2), }; CORE.RA.addSixSlotAssemblingRecipe( aInputs, @@ -3972,7 +3683,7 @@ public class RECIPES_Machines { } private static void largeArcFurnace() { - int aCostMultiplier = GTNH ? 2 : 1; + int aCostMultiplier = 1; CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { CI.getTieredMachineHull(-1, 1 * aCostMultiplier), @@ -3982,12 +3693,12 @@ public class RECIPES_Machines { CI.getTieredComponent(OrePrefixes.pipeSmall, 4, 1 * aCostMultiplier), }, CI.getAlternativeTieredFluid(5, (144 * 2 * 4)), // Input Fluid - GregtechItemList.Casing_Industrial_Arc_Furnace.get(Casing_Amount), + GregtechItemList.Casing_Industrial_Arc_Furnace.get(1), 20 * 10 * 1 * (6), MaterialUtils.getVoltageForTier(5)); CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { - GregtechItemList.Casing_Industrial_Arc_Furnace.get(Casing_Amount), + GregtechItemList.Casing_Industrial_Arc_Furnace.get(1), CI.getFieldGenerator(4, 2 * aCostMultiplier), CI.getRobotArm(5, 4 * aCostMultiplier), CI.getEnergyCore(4, 2 * aCostMultiplier), @@ -4001,18 +3712,17 @@ public class RECIPES_Machines { } private static void industrialVacuumFurnace() { - int aCostMultiplier = GTNH ? 2 : 1; CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { - CI.getTieredMachineHull(-1, 1 * aCostMultiplier), + CI.getTieredMachineHull(-1, 1), CI.getHeatCoil(2), - CI.getElectricPiston(3, 2 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.plate, 6, 4 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.gearGt, 6, 2 * aCostMultiplier), + CI.getElectricPiston(3, 2), + CI.getTieredComponent(OrePrefixes.plate, 6, 4), + CI.getTieredComponent(OrePrefixes.gearGt, 6, 2), }, - CI.getTertiaryTieredFluid(5, (144 * 2 * 4 * aCostMultiplier)), // Input Fluid - GregtechItemList.Casing_Vacuum_Furnace.get(Casing_Amount), + CI.getTertiaryTieredFluid(5, (144 * 2 * 4)), // Input Fluid + GregtechItemList.Casing_Vacuum_Furnace.get(1), 20 * 10 * 6, MaterialUtils.getVoltageForTier(6)); @@ -4020,14 +3730,14 @@ public class RECIPES_Machines { CORE.RA.addSixSlotAssemblingRecipe( new ItemStack[] { - GregtechItemList.Casing_Vacuum_Furnace.get(aCostMultiplier), - CI.getTieredComponent(OrePrefixes.wireGt16, 7, 4 * aCostMultiplier), - CI.getEnergyCore(6, 1 * aCostMultiplier), - CI.getRobotArm(4, 4 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.plate, 7, 8 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.circuit, 6, 8 * aCostMultiplier), + GregtechItemList.Casing_Vacuum_Furnace.get(1), + CI.getTieredComponent(OrePrefixes.wireGt16, 7, 4), + CI.getEnergyCore(6, 1), + CI.getRobotArm(4, 4), + CI.getTieredComponent(OrePrefixes.plate, 7, 8), + CI.getTieredComponent(OrePrefixes.circuit, 6, 8), }, - CI.getTieredFluid(7, (144 * 4 * 5 * aCostMultiplier)), // Input Fluid + CI.getTieredFluid(7, (144 * 4 * 5)), // Input Fluid GregtechItemList.Controller_Vacuum_Furnace.get(1), 60 * 20 * 12, MaterialUtils.getVoltageForTier(7)); @@ -4316,9 +4026,6 @@ public class RECIPES_Machines { GregtechItemList.FakeMachineCasingPlate_MAX, }; int aMaxTier = GT_Values.VOLTAGE_NAMES.length; - if (!GTNH) { - aMaxTier = 10; - } ItemStack aTier[] = new ItemStack[aMaxTier]; for (int i = 0; i < aMaxTier; i++) { aTier[i] = ItemUtils.simpleMetaStack(CoverManager.Cover_Gt_Machine_Casing, i, 7); @@ -4372,25 +4079,6 @@ public class RECIPES_Machines { aOutputs[a][i] = ItemUtils.simpleMetaStack(aCovers[a], i, 9); } } - for (int a = 0; a < 5; a++) { - for (int i = 0; i < 16; i++) { - if (GTNH) continue; - ItemStack aInput = aInputs[a][i]; - ItemStack aOutput = aOutputs[a][i]; - if (GT_Values.RA.addCutterRecipe(aInput, aOutput, null, 20 * 5, 16)) { - Logger.INFO("Added Cutting recipe for " + aInput.getDisplayName()); - } - - if (CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] {CI.getNumberedCircuit((i / 4) + 4), aOutput}, - FluidUtils.getWildcardFluidStack("glue", 250), - aInput, - 20 * 10, - 16)) { - Logger.INFO("Added Assembly recipe for " + aInput.getDisplayName()); - } - } - } } private static void superBuses() { @@ -4452,19 +4140,19 @@ public class RECIPES_Machines { ItemStack[] aInputs1 = new ItemStack[] { CI.getNumberedCircuit(17), mInputHatch[i], - CI.getElectricMotor(i, GTNH ? 8 : 2), - CI.getConveyor(i, GTNH ? 10 : 5), - CI.getBolt(i, GTNH ? 32 : 16), - CI.getTieredComponent(OrePrefixes.circuit, i, GTNH ? 4 : 2) + CI.getElectricMotor(i, 2), + CI.getConveyor(i, 5), + CI.getBolt(i, 16), + CI.getTieredComponent(OrePrefixes.circuit, i, 2) }; Logger.INFO("[FIND] " + ItemUtils.getArrayStackNames(aInputs1)); ItemStack[] aOutputs1 = new ItemStack[] { CI.getNumberedCircuit(18), mOutputHatch[i], - CI.getElectricPiston(i, GTNH ? 8 : 2), - CI.getConveyor(i, GTNH ? 10 : 5), - CI.getGear(i, GTNH ? 6 : 3), - CI.getTieredComponent(OrePrefixes.circuit, i, GTNH ? 4 : 2) + CI.getElectricPiston(i, 2), + CI.getConveyor(i, 5), + CI.getGear(i, 3), + CI.getTieredComponent(OrePrefixes.circuit, i, 2) }; Logger.INFO("[FIND] " + ItemUtils.getArrayStackNames(aOutputs1)); @@ -4487,10 +4175,10 @@ public class RECIPES_Machines { new ItemStack[] { CI.getNumberedCircuit(17), mInputHatch[i], - CI.getElectricMotor(i, GTNH ? 8 : 2), - CI.getConveyor(i, GTNH ? 10 : 5), - CI.getBolt(i, GTNH ? 32 : 16), - CI.getTieredComponent(OrePrefixes.circuit, i, GTNH ? 4 : 2) + CI.getElectricMotor(i, 2), + CI.getConveyor(i, 5), + CI.getBolt(i, 16), + CI.getTieredComponent(OrePrefixes.circuit, i, 2) }, CI.getAlternativeTieredFluid(i, 144 * 8), mSuperBusesInput[i].get(1), @@ -4503,10 +4191,10 @@ public class RECIPES_Machines { new ItemStack[] { CI.getNumberedCircuit(18), mOutputHatch[i], - CI.getElectricPiston(i, GTNH ? 8 : 2), - CI.getConveyor(i, GTNH ? 10 : 5), - CI.getGear(i, GTNH ? 6 : 3), - CI.getTieredComponent(OrePrefixes.circuit, i, GTNH ? 4 : 2) + CI.getElectricPiston(i, 2), + CI.getConveyor(i, 5), + CI.getGear(i, 3), + CI.getTieredComponent(OrePrefixes.circuit, i, 2) }, CI.getTertiaryTieredFluid(i, 144 * 8), mSuperBusesOutput[i].get(1), @@ -4537,8 +4225,6 @@ public class RECIPES_Machines { ItemUtils.simpleMetaStack(ModBlocks.blockRoundRobinator, 4, 1), }; - int aCostMultiplier = GTNH ? 2 : 1; - for (int i = 0; i < 5; i++) { if (i == 0) { CORE.RA.addSixSlotAssemblingRecipe( @@ -4557,11 +4243,11 @@ public class RECIPES_Machines { int aTier = i + 1; ItemStack[] aInputs = new ItemStack[] { aRobinators[i - 1], - CI.getTieredMachineHull(aTier, 1 * aCostMultiplier), - CI.getConveyor(aTier, 2 * aCostMultiplier), - CI.getElectricMotor(aTier, 2 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.circuit, i, 2 * aCostMultiplier), + CI.getTieredMachineHull(aTier, 1), + CI.getConveyor(aTier, 2), + CI.getElectricMotor(aTier, 2), + CI.getTieredComponent(OrePrefixes.plate, aTier, 4), + CI.getTieredComponent(OrePrefixes.circuit, i, 2), }; CORE.RA.addSixSlotAssemblingRecipe( diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java index ad7bcdd063..cb79bf12dd 100644 --- a/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ b/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java @@ -1387,6 +1387,42 @@ public class ItemUtils { if (GT_Utility.areStacksEqual(aStack, AgriculturalChem.mGreenCatalyst, true)) { return true; } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mPlatinumGroupCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mPlasticPolymerCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mRubberPolymerCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mAdhesionPromoterCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mTitaTungstenIndiumCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mRadioactivityCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mRareEarthGroupCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mSimpleNaquadahCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mAdvancedNaquadahCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mRawIntelligenceCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mUltimatePlasticCatalyst, true)) { + return true; + } + if (GT_Utility.areStacksEqual(aStack, GenericChem.mBiologicalIntelligenceCatalyst, true)) { + return true; + } return false; } diff --git a/src/main/java/gtPlusPlus/nei/NEI_GT_Config.java b/src/main/java/gtPlusPlus/nei/NEI_GT_Config.java index 18fcb90016..0a38a9b276 100644 --- a/src/main/java/gtPlusPlus/nei/NEI_GT_Config.java +++ b/src/main/java/gtPlusPlus/nei/NEI_GT_Config.java @@ -22,11 +22,13 @@ public class NEI_GT_Config implements IConfigureNEI { new GT_NEI_LFTR(); Logger.INFO("NEI Registration: Registering NEI handler for " + GTPP_Recipe_Map.sTreeSimFakeRecipes.mNEIName); new GT_NEI_MultiTreeGrowthSimulator(); + Logger.INFO("NEI Registration: Registering NEI handler for " + GTPP_Recipe_Map.sAdvFreezerRecipes_GT.mNEIName); + Logger.INFO("NEI Registration: Registering NEI handler for " + GTPP_Recipe_Map.sOreMillRecipes.mNEIName); + new GTPP_NEI_DefaultHandler(GTPP_Recipe_Map.sOreMillRecipes); Logger.INFO("NEI Registration: Registering NEI handler for " + GTPP_Recipe_Map.sOreMillRecipes.mNEIName); new GTPP_NEI_DefaultHandler(GTPP_Recipe_Map.sOreMillRecipes); Logger.INFO("NEI Registration: Registering NEI handler for " + GTPP_Recipe_Map.sSolarTowerRecipes.mNEIName); new GT_NEI_MultiSolarTower(GTPP_Recipe_Map.sSolarTowerRecipes); - Logger.INFO("NEI Registration: Registering NEI handler for " + DecayableRecipeHandler.mNEIName); API.registerRecipeHandler(new DecayableRecipeHandler()); API.registerUsageHandler(new DecayableRecipeHandler()); diff --git a/src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java b/src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java index 0d25986db7..51bf7cd187 100644 --- a/src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java +++ b/src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java @@ -7,7 +7,7 @@ import net.minecraft.nbt.NBTTagCompound; public class NEI_IMC_Sender { public static void IMCSender() { // NEI jar is using some outdated handler names - sendHandler("gtpp.recipe.alloyblastsmelter", "gregtech:gt.blockmachines:810"); + sendHandler("gtpp.recipe.alloyblastsmelter", "gregtech:gt.blockmachines:810", 1); sendCatalyst("gtpp.recipe.alloyblastsmelter", "gregtech:gt.blockmachines:31150"); sendHandler("gtpp.recipe.rocketenginefuel", "gregtech:gt.blockmachines:793"); sendHandler("gtpp.recipe.cyclotron", "gregtech:gt.blockmachines:828"); @@ -53,6 +53,9 @@ public class NEI_IMC_Sender { sendHandler("gtpp.recipe.treefarm", "gregtech:gt.blockmachines:836"); sendCatalyst("gtpp.recipe.treefarm", "gregtech:gt.blockmachines:836"); + sendHandler("gtpp.recipe.quantumforcesmelter", "gregtech:gt.blockmachines:31151"); + sendCatalyst("gtpp.recipe.quantumforcesmelter", "gregtech:gt.blockmachines:31151"); + if (LoadedMods.AdvancedSolarPanel) { sendHandler("gtpp.recipe.moleculartransformer", "AdvancedSolarPanel:BlockMolecularTransformer"); sendCatalyst("gtpp.recipe.moleculartransformer", "gregtech:gt.blockmachines:31072"); @@ -85,7 +88,6 @@ public class NEI_IMC_Sender { // overwrite yShift sendHandler("gtPlusPlus.nei.GT_NEI_FluidReactor", "gregtech:gt.blockmachines:998"); - sendHandler("gtpp.recipe.multidehydrator", "gregtech:gt.blockmachines:995"); sendCatalyst("gtpp.recipe.multidehydrator", "gregtech:gt.blockmachines:995"); sendRemoveCatalyst("gtpp.recipe.chemicaldehydrator", "gregtech:gt.blockmachines:995"); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index f3b9552800..e08cae7c00 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java @@ -267,6 +267,19 @@ public enum GregtechItemList implements GregtechItemContainer { Casing_BlastSmelter, Mega_AlloyBlastSmelter, + // Quantum Force Transformer + QuantumForceTransformer, + Casing_Coil_QuantumForceTransformer, + NeutronPulseManipulator, + CosmicFabricManipulator, + InfinityInfusedManipulator, + SpaceTimeContinuumRipper, + NeutronShieldingCore, + CosmicFabricShieldingCore, + InfinityInfusedShieldingCore, + SpaceTimeBendingCore, + ForceFieldGlass, + // Industrial Electrolyzer Industrial_Electrolyzer, Casing_Electrolyzer, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GTPP_UITextures.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GTPP_UITextures.java index 06a59cc52e..bd649fea76 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GTPP_UITextures.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GTPP_UITextures.java @@ -9,6 +9,10 @@ import java.util.stream.IntStream; public class GTPP_UITextures { + public static final UITexture OVERLAY_SLOT_COAL = UITexture.fullImage(MODID, "gui/overlay_slot/coal"); + public static final UITexture OVERLAY_SLOT_CANISTER_DARK = + UITexture.fullImage(MODID, "gui/overlay_slot/canister_dark"); + public static final AdaptableUITexture BACKGROUND_YELLOW = AdaptableUITexture.of(MODID, "gui/background/yellow", 176, 166, 4); @@ -26,9 +30,6 @@ public class GTPP_UITextures { public static final UITexture BUTTON_STANDARD_BRONZE = UITexture.fullImage(MODID, "gui/button/standard_bronze"); public static final UITexture BUTTON_STANDARD_16x16 = UITexture.fullImage(MODID, "gui/button/standard_16x16"); - public static final UITexture OVERLAY_SLOT_COAL = UITexture.fullImage(MODID, "gui/overlay_slot/coal"); - public static final UITexture OVERLAY_SLOT_CANISTER_DARK = - UITexture.fullImage(MODID, "gui/overlay_slot/canister_dark"); public static final UITexture OVERLAY_SLOT_WEED_EX = UITexture.fullImage(MODID, "gui/overlay_slot/weed_ex"); public static final UITexture OVERLAY_SLOT_FERTILIZER = UITexture.fullImage(MODID, "gui/overlay_slot/fertilizer"); public static final UITexture OVERLAY_SLOT_ELECTRIC_TOOL = diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java index a788b15a95..8d1e9d597e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java @@ -257,7 +257,21 @@ public interface IGregtech_RecipeAdder { int aSpecialValue); /** - * Adds a Recipe for the LFTRr. (up to 9 Inputs, More than 1 fluids) + * Adds a Recipe for the Quantum Force Smelter (up to 9 Inputs) + * + * + **/ + public boolean addQuantumTransformerRecipe( + ItemStack[] aInput, + FluidStack[] aFluidInput, + FluidStack[] aFluidOutput, + ItemStack[] aOutputStack, + int[] aChances, + int aDuration, + int aEUt, + int aSpecialValue); + + /** Adds a Recipe for the LFTRr. (up to 9 Inputs, More than 1 fluids) * * @param aInput = ItemStack[] (not null, and respects StackSize) * @param aFluidInput = FluidStack[] (can be null, and respects StackSize) diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java index f71805784b..3c55d2fa95 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java @@ -58,7 +58,7 @@ public class GregtechMetaCasingBlocks2 extends GregtechMetaCasingBlocksAbstract GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".9.name", "Cyclotron Coil"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", "Cyclotron Outer Casing"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".11.name", "Thermal Containment Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".12.name", "Autocrafter Frame"); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".12.name", "Bulk Production Frame"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".13.name", "Cutting Factory Frame"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".14.name", ""); // Unused GT_LanguageManager.addStringLocalization( diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java index 5456aa27a2..8256f1aa64 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java @@ -24,7 +24,8 @@ public class GregtechMetaCasingBlocks4 extends GregtechMetaCasingBlocksAbstract GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Reactor Piping"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "Naquadah Containment Chamber"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Tempered Arc Furnace Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".4.name", ""); // Unused + GT_LanguageManager.addStringLocalization( + this.getUnlocalizedName() + ".4.name", "Quantum Force Transformer Coil Casings"); // Unused GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".5.name", ""); // Unused GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".6.name", ""); // Unused GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".7.name", ""); // Unused @@ -40,6 +41,7 @@ public class GregtechMetaCasingBlocks4 extends GregtechMetaCasingBlocksAbstract GregtechItemList.Casing_Naq_Reactor_B.set(new ItemStack(this, 1, 1)); GregtechItemList.Casing_Naq_Reactor_C.set(new ItemStack(this, 1, 2)); GregtechItemList.Casing_Industrial_Arc_Furnace.set(new ItemStack(this, 1, 3)); + GregtechItemList.Casing_Coil_QuantumForceTransformer.set(new ItemStack(this, 1, 4)); GregtechItemList.Casing_Vacuum_Furnace.set(new ItemStack(this, 1, 10)); GregtechItemList.Casing_RocketEngine.set(new ItemStack(this, 1, 11)); } @@ -71,7 +73,7 @@ public class GregtechMetaCasingBlocks4 extends GregtechMetaCasingBlocksAbstract case 3: return TexturesGtBlock.TEXTURE_METAL_PANEL_A.getIcon(); case 4: - return Textures.BlockIcons.RENDERING_ERROR.getIcon(); + return TexturesGtBlock.Casing_Coil_QFT.getIcon(); case 5: return Textures.BlockIcons.RENDERING_ERROR.getIcon(); case 6: diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks5.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks5.java index 834fb2c186..68d8349ef3 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks5.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks5.java @@ -42,15 +42,17 @@ public class GregtechMetaCasingBlocks5 extends GregtechMetaCasingBlocksAbstract GT_LanguageManager.addStringLocalization( this.getUnlocalizedName() + ".6.name", "Forge Casing"); // Forge Hammer Casing TAE.registerTexture(1, 11, new GTPP_CopiedBlockTexture(this, 6, 6)); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".7.name", ""); // Unused - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".8.name", ""); // Unused - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".9.name", ""); // Unused - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", ""); // Unused - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".11.name", ""); // Unused - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".12.name", ""); // Unused - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".13.name", ""); // Unused - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".14.name", ""); // Unused - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".15.name", ""); // Unused + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".7.name", "Neutron Pulse Manipulator"); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".8.name", "Cosmic Fabric Manipulator"); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".9.name", "Infinity Infused Manipulator"); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".10.name", "SpaceTime Continuum Ripper"); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".11.name", "Neutron Shielding Core"); + GT_LanguageManager.addStringLocalization( + this.getUnlocalizedName() + ".12.name", "Cosmic Fabric Shielding Core"); + GT_LanguageManager.addStringLocalization( + this.getUnlocalizedName() + ".13.name", "Infinity Infused Shielding Core"); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".14.name", "SpaceTime Bending Core"); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".15.name", "Force Field Glass"); GregtechItemList.Casing_IsaMill_Casing.set(new ItemStack(this, 1, 0)); GregtechItemList.Casing_IsaMill_Pipe.set(new ItemStack(this, 1, 1)); @@ -59,6 +61,15 @@ public class GregtechMetaCasingBlocks5 extends GregtechMetaCasingBlocksAbstract GregtechItemList.Casing_Sparge_Tower_Exterior.set(new ItemStack(this, 1, 4)); GregtechItemList.Casing_IndustrialAutoChisel.set(new ItemStack(this, 1, 5)); GregtechItemList.Casing_IndustrialForgeHammer.set(new ItemStack(this, 1, 6)); + GregtechItemList.NeutronPulseManipulator.set(new ItemStack(this, 1, 7)); + GregtechItemList.CosmicFabricManipulator.set(new ItemStack(this, 1, 8)); + GregtechItemList.InfinityInfusedManipulator.set(new ItemStack(this, 1, 9)); + GregtechItemList.SpaceTimeContinuumRipper.set(new ItemStack(this, 1, 10)); + GregtechItemList.NeutronShieldingCore.set(new ItemStack(this, 1, 11)); + GregtechItemList.CosmicFabricShieldingCore.set(new ItemStack(this, 1, 12)); + GregtechItemList.InfinityInfusedShieldingCore.set(new ItemStack(this, 1, 13)); + GregtechItemList.SpaceTimeBendingCore.set(new ItemStack(this, 1, 14)); + GregtechItemList.ForceFieldGlass.set(new ItemStack(this, 1, 15)); } @Override @@ -83,6 +94,39 @@ public class GregtechMetaCasingBlocks5 extends GregtechMetaCasingBlocksAbstract return TexturesGtBlock.Casing_Machine_Metal_Sheet_I.getIcon(); case 6: return TexturesGtBlock.TEXTURE_TECH_PANEL_H.getIcon(); + case 7: + if (aSide == 0 || aSide == 1) { + return TexturesGtBlock.Manipulator_Top.getIcon(); + } + return TexturesGtBlock.NeutronPulseManipulator.getIcon(); + case 8: + if (aSide == 0 || aSide == 1) { + return TexturesGtBlock.Manipulator_Top.getIcon(); + } + return TexturesGtBlock.CosmicFabricManipulator.getIcon(); + case 9: + if (aSide == 0 || aSide == 1) { + return TexturesGtBlock.Manipulator_Top.getIcon(); + } + return TexturesGtBlock.InfinityInfusedManipulator.getIcon(); + case 10: + if (aSide == 0 || aSide == 1) { + return TexturesGtBlock.Manipulator_Top.getIcon(); + } + return TexturesGtBlock.SpaceTimeContinuumRipper.getIcon(); + case 11: + return TexturesGtBlock.NeutronShieldingCore.getIcon(); + case 12: + return TexturesGtBlock.CosmicFabricShieldingCore.getIcon(); + case 13: + return TexturesGtBlock.InfinityInfusedShieldingCore.getIcon(); + case 14: + return TexturesGtBlock.SpaceTimeBendingCore.getIcon(); + case 15: + if (aSide == 0 || aSide == 1) { + return TexturesGtBlock.Blank.getIcon(); + } + return TexturesGtBlock.ForceFieldGlass.getIcon(); } } return Textures.BlockIcons.RENDERING_ERROR.getIcon(); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java index d92c9fb7e1..9ee32bcaa6 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java @@ -13,6 +13,8 @@ import net.minecraft.util.ResourceLocation; public class TexturesGtBlock { + private static boolean mAnimated = CORE.ConfigSwitches.enableAnimatedTextures; + private static AutoMap<Runnable> mCustomiconMap = new AutoMap<Runnable>(); static { @@ -289,6 +291,24 @@ public class TexturesGtBlock { new CustomIcon("TileEntities/MACHINE_CASING_CENTRIFUGE"); public static final CustomIcon Casing_Material_Centrifuge = Internal_Casing_Centrifuge; + // Quantum Force Transformer Casing + // spotless:off + private static final CustomIcon Internal_Casing_QFT = mAnimated ? new CustomIcon("TileEntities/MACHINE_CASING_QFT_COIL") : new CustomIcon("TileEntites/MACHINE_CASING_QFT_COIL"); + public static final CustomIcon Casing_Coil_QFT = Internal_Casing_QFT; + public static final CustomIcon NeutronPulseManipulator = mAnimated ? new CustomIcon("NeutronPulseManipulator") : new CustomIcon("NeutronPulseManipulatorStatic"); + public static final CustomIcon CosmicFabricManipulator = mAnimated ? new CustomIcon("CosmicFabricManipulator") : new CustomIcon("CosmicFabricManipulatorStatic"); + public static final CustomIcon InfinityInfusedManipulator = mAnimated ? new CustomIcon("InfinityInfusedManipulator") : new CustomIcon("InfinityInfusedManipulatorStatic"); + public static final CustomIcon SpaceTimeContinuumRipper = mAnimated ? new CustomIcon("SpaceTimeContinuumRipper") : new CustomIcon("SpaceTimeContinuumRipperStatic"); + public static final CustomIcon Manipulator_Top = new CustomIcon("Manipulator_Top"); + public static final CustomIcon NeutronShieldingCore = mAnimated ? new CustomIcon("NeutronShieldingCore") : new CustomIcon("NeutronShieldingCoreStatic"); + public static final CustomIcon CosmicFabricShieldingCore = mAnimated ? new CustomIcon("CosmicFabricShieldingCore") : new CustomIcon("CosmicFabricShieldingCoreStatic"); + public static final CustomIcon InfinityInfusedShieldingCore = mAnimated ? new CustomIcon("InfinityInfusedShieldingCore") : new CustomIcon("InfinityInfusedShieldingCoreStatic"); + public static final CustomIcon SpaceTimeBendingCore = mAnimated ? new CustomIcon("SpaceTimeBendingCore") : new CustomIcon("SpaceTimeBendingCoreStatic"); + public static final CustomIcon ForceFieldGlass = new CustomIcon("ForceFieldGlass"); + public static final CustomIcon ForceField = new CustomIcon("rendering/ForceField"); + public static final CustomIcon Blank = new CustomIcon("Blank"); + //spotless:on + // MACHINE_CASING_FARM_MANAGER_STRUCTURAL // Farm Manager Casings private static final CustomIcon Internal_Casing_Machine_Farm_Manager = diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java index 82631d81bf..f701b23e92 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java @@ -141,7 +141,7 @@ public class GT4Entity_AutoCrafter extends GregtechMeta_MultiBlockBase<GT4Entity .addSeparator() .beginStructureBlock(3, 3, 3, true) .addController("Front Center") - .addCasingInfo("Autocrafter Frame", 10) + .addCasingInfo("Bulk Production Frame", 10) .addInputBus("Any Casing", 1) .addOutputBus("Any Casing", 1) .addInputHatch("Any Casing", 1) diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java new file mode 100644 index 0000000000..b5fc3b6ebb --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java @@ -0,0 +1,1245 @@ +package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production; + +import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static gregtech.api.enums.GT_HatchElement.*; +import static gregtech.api.util.GT_OreDictUnificator.getAssociation; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; + +import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; +import com.gtnewhorizon.structurelib.structure.*; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.TAE; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ExtendedPowerMultiBlockBase; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; +import gregtech.api.objects.ItemData; +import gregtech.api.render.TextureFactory; +import gregtech.api.util.*; +import gtPlusPlus.core.block.ModBlocks; +import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import org.apache.commons.lang3.tuple.Pair; +import org.lwjgl.opengl.GL11; + +public class GregtechMetaTileEntity_QuantumForceTransformer + extends GT_MetaTileEntity_ExtendedPowerMultiBlockBase<GregtechMetaTileEntity_QuantumForceTransformer> + implements ISurvivalConstructable { + + private int mCasing; + protected int mCraftingTier = 0; + protected int mFocusingTier = 0; + private boolean mSeparateInputBusses = false; + private boolean mFluidMode = false, doFermium = false, doNeptunium = false; + private static final Fluid mNeptunium = ELEMENT.getInstance().NEPTUNIUM.getPlasma(); + private static final Fluid mFermium = ELEMENT.getInstance().FERMIUM.getPlasma(); + private static final String MAIN_PIECE = "main"; + private GT_MetaTileEntity_Hatch_Input mNeptuniumHatch; + private GT_MetaTileEntity_Hatch_Input mFermiumHatch; + private static final IStructureDefinition<GregtechMetaTileEntity_QuantumForceTransformer> STRUCTURE_DEFINITION = + StructureDefinition.<GregtechMetaTileEntity_QuantumForceTransformer>builder() + .addShape(MAIN_PIECE, new String[][] { // A - 142, B - 234, C - 177, D - 96, E - 224, H - 36, M - 21 + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " BAB ", + " BBBBABBBB ", + " BAAAAAAAB ", + " BABBABBAB ", + " BA AB ", + " A A ", + " A A ", + " A A " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " BAB ", + " AAABBBAAA ", + " BAAAAAAAAAB ", + " B B ", + " A A ", + " A A ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " BAB ", + " AA AA ", + " AA AA ", + " BAA AAB ", + " B B ", + " A A ", + " A A ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " BAAAB ", + " AA AA ", + " AA AA ", + "BAA AAB", + "B B", + "A A", + "A A", + "A A", + "A A", + "A A" + }, + { + " TTT ", + " EEE ", + " EEE ", + " EEE ", + " DDD ", + " EEE ", + " DDD ", + " EEE ", + " EEE ", + " EEE ", + " DDD ", + " BAEEEAB ", + " AA EEE AA ", + " A EEE A ", + "BA DDD AB", + "B EEE B", + "B DDD B", + " EEE ", + " EEE ", + " EEE ", + " Z~X " + }, + { + " TTTTT ", + " ECCCE ", + " ECCCE ", + " ECCCE ", + " D D ", + " ECCCE ", + " D D ", + " ECCCE ", + " ECCCE ", + " ECCCE ", + " D D ", + " BAECCCEAB ", + " A ECCCE A ", + " A ECCCE A ", + "BA D D AB", + "B ECCCE B", + "B D D B", + "B ECCCE B", + " ECCCE ", + " ECCCE ", + " HHHHH " + }, + { + " TTTTTTT ", + " ECCCCCE ", + " EC CE ", + " EC CE ", + " D D ", + " EC CE ", + " D D ", + " EC CE ", + " EC CE ", + " EC CE ", + " D D ", + " BAEC CEAB ", + " B EC CE B ", + "BB EC CE BB", + "BA D D AB", + "A EC CE A", + "A D D A", + "A EC CE A", + " EC CE ", + " EC CE ", + " HHHHHHH " + }, + { + " TTTTTTT ", + " ECCCCCE ", + " EC CE ", + " EC CE ", + " D D ", + " EC CE ", + " D D ", + " EC CE ", + " EC CE ", + " EC CE ", + " D D ", + " AAEC CEAA ", + " A EC CE A ", + "AB EC CE BA", + "AA D D AA", + "A EC CE A", + "A D D A", + " EC CE ", + " EC CE ", + " EC CE ", + " HHHHHHH " + }, + { + " TTTTTTT ", + " ECCCCCE ", + " EC CE ", + " EC CE ", + " D D ", + " EC CE ", + " D D ", + " EC CE ", + " EC CE ", + " EC CE ", + " D D ", + " BAEC CEAB ", + " B EC CE B ", + "BB EC CE BB", + "BA D D AB", + "A EC CE A", + "A D D A", + "A EC CE A", + " EC CE ", + " EC CE ", + " HHHHHHH " + }, + { + " TTTTT ", + " ECCCE ", + " ECCCE ", + " ECCCE ", + " D D ", + " ECCCE ", + " D D ", + " ECCCE ", + " ECCCE ", + " ECCCE ", + " D D ", + " BAECCCEAB ", + " A ECCCE A ", + " A ECCCE A ", + "BA D D AB", + "B ECCCE B", + "B D D B", + "B ECCCE B", + " ECCCE ", + " ECCCE ", + " HHHHH " + }, + { + " TTT ", + " EEE ", + " EEE ", + " EEE ", + " DDD ", + " EEE ", + " DDD ", + " EEE ", + " EEE ", + " EEE ", + " DDD ", + " BAEEEAB ", + " AA EEE AA ", + " A EEE A ", + "BA DDD AB", + "B EEE B", + "B DDD B", + " EEE ", + " EEE ", + " EEE ", + " HHH " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " BAAAB ", + " AA AA ", + " AA AA ", + "BAA AB", + "B B", + "A A", + "A A", + "A A", + "A A", + "A A" + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " BAB ", + " AA AA ", + " AA AA ", + " BA AB ", + " B B ", + " A A ", + " A A ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " BAB ", + " AAABBBAAA ", + " BAAAAAAAAAB ", + " B B ", + " A A ", + " A A ", + " ", + " ", + " " + }, + { + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " BAB ", + " BBBBABBBB ", + " BBBAAABBB ", + " ABBAAABBA ", + " A BA AB A ", + " A A ", + " A A ", + " A A " + }, + }) + .addElement( + 'A', + StructureUtility.ofBlocksTiered( + craftingTierConverter(), + getAllCraftingTiers(), + 0, + GregtechMetaTileEntity_QuantumForceTransformer::setCraftingTier, + GregtechMetaTileEntity_QuantumForceTransformer::getCraftingTier)) + .addElement( + 'B', + StructureUtility.ofBlocksTiered( + focusingTierConverter(), + getAllFocusingTiers(), + 0, + GregtechMetaTileEntity_QuantumForceTransformer::setFocusingTier, + GregtechMetaTileEntity_QuantumForceTransformer::getFocusingTier)) + .addElement('C', ofBlock(ModBlocks.blockCasings4Misc, 4)) + .addElement('D', ofBlock(ModBlocks.blockCasings2Misc, 12)) + .addElement('E', lazy(t -> ofBlock(t.getCasingBlock1(), t.getCasingMeta1()))) + .addElement( + 'H', + buildHatchAdder(GregtechMetaTileEntity_QuantumForceTransformer.class) + .atLeast(InputBus, InputHatch, Maintenance, Energy.or(ExoticEnergy)) + .casingIndex(TAE.getIndexFromPage(0, 10)) + .dot(4) + .buildAndChain( + onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 12)))) + .addElement( + 'T', + buildHatchAdder(GregtechMetaTileEntity_QuantumForceTransformer.class) + .atLeast(OutputBus, OutputHatch, Maintenance) + .casingIndex(TAE.getIndexFromPage(0, 10)) + .dot(5) + .buildAndChain( + onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 12)))) + .addElement( + 'Z', + buildHatchAdder(GregtechMetaTileEntity_QuantumForceTransformer.class) + .hatchClass(GT_MetaTileEntity_Hatch_Input.class) + .adder(GregtechMetaTileEntity_QuantumForceTransformer::addNeptuniumHatch) + .casingIndex(TAE.getIndexFromPage(0, 10)) + .dot(5) + .buildAndChain( + onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 12)))) + .addElement( + 'X', + buildHatchAdder(GregtechMetaTileEntity_QuantumForceTransformer.class) + .hatchClass(GT_MetaTileEntity_Hatch_Input.class) + .adder(GregtechMetaTileEntity_QuantumForceTransformer::addFermiumHatch) + .casingIndex(TAE.getIndexFromPage(0, 10)) + .dot(5) + .buildAndChain( + onElementPass(x -> ++x.mCasing, ofBlock(ModBlocks.blockCasings2Misc, 12)))) + .build(); + + public GregtechMetaTileEntity_QuantumForceTransformer( + final int aID, final String aName, final String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public GregtechMetaTileEntity_QuantumForceTransformer(final String aName) { + super(aName); + } + + @Override + public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { + return new GregtechMetaTileEntity_QuantumForceTransformer(this.mName); + } + + @Override + protected GT_Multiblock_Tooltip_Builder createTooltip() { + GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); + tt.addMachineType("Quantum Force Transformer") + .addInfo("Controller Block for the Quantum Force Transformer") + .addInfo("Allows Complex chemical lines to be performed instantly in one step") + .addInfo("Every recipe requires a catalyst, each catalyst adds 1 parallel and lasts forever") + .addInfo("Accepts TecTech Energy and Laser Hatches") + .addInfo("All inputs go on the bottom, all outputs go on the top") + .addInfo("Put a circuit in the controller to specify the focused output") + .addInfo("Check NEI to see the order of outputs, and which circuit number you need.") + .addInfo("Uses FocusTier*4*sqrt(parallels) Neptunium Plasma if focusing") + .addInfo("Can use FocusTier*4*sqrt(parallels) Fermium Plasma for additional chance output") + .addInfo("This multi gets improved when all casings of some types are upgraded") + .addInfo("Casing functions:") + .addInfo("Pulse Manipulators: Recipe Tier Allowed (check NEI for the tier of each recipe)") + .addInfo("Shielding Cores: Focusing Tier (equal to or higher than recipe tier to allow focus)") + .addPollutionAmount(getPollutionPerSecond(null)) + .addSeparator() + .beginStructureBlock(15, 21, 15, true) + .addController("Bottom Center") + .addCasingInfo("Bulk Production Frame", 80) + .addCasingInfo("Quantum Force Conductor", 177) + .addCasingInfo("Particle Containment Casing", 224) + .addCasingInfo("Neutron Pulse Manipulators", 233) + .addCasingInfo("Neutron Shielding Cores", 142) + .addInputBus("Bottom Layer", 4) + .addInputHatch("Bottom Layer", 4) + .addOutputHatch("Top Layer", 5) + .addOutputBus("Top Layer", 5) + .addEnergyHatch("Bottom Layer", 4) + .addMaintenanceHatch("Bottom Layer", 4) + .addStructureInfo("Neptunium Plasma Hatch: Left side of Controller") + .addStructureInfo("Fermium Plasma Hatch: Right side of Controller") + .toolTipFinisher(GT_Values.AuthorBlueWeabo + EnumChatFormatting.RESET + EnumChatFormatting.GREEN + + " + Steelux" + EnumChatFormatting.RESET + " - [GT++]"); + return tt; + } + + @Override + public IStructureDefinition<GregtechMetaTileEntity_QuantumForceTransformer> getStructureDefinition() { + return STRUCTURE_DEFINITION; + } + + @Override + public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { + this.mCasing = 0; + if (!checkPiece(MAIN_PIECE, 7, 20, 4)) { + return false; + } + + if (mMaintenanceHatches.size() != 1 + || mOutputBusses.size() < 1 + || mInputBusses.size() < 1 + || mInputHatches.size() < 1 + || mOutputHatches.size() < 1) { + return false; + } + + // Makes sure that the multi can accept only 1 TT Energy Hatch OR up to 2 Normal Energy Hatches. Deform if both + // present or more than 1 TT Hatch. + if (mExoticEnergyHatches.isEmpty() && mEnergyHatches.isEmpty()) { + return false; + } + + if (mExoticEnergyHatches.size() >= 1) { + if (!mEnergyHatches.isEmpty()) { + return false; + } + + if (mExoticEnergyHatches.size() != 1) { + return false; + } + } + + if (mEnergyHatches.size() > 2) { + return false; + } + + return true; + } + + @Override + public void construct(ItemStack stackSize, boolean hintsOnly) { + buildPiece(MAIN_PIECE, stackSize, hintsOnly, 7, 20, 4); + } + + @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { + if (mMachine) return -1; + return survivialBuildPiece(MAIN_PIECE, stackSize, 7, 20, 4, elementBudget, env, false, true); + } + + public static List<Pair<Block, Integer>> getAllCraftingTiers() { + return new ArrayList<Pair<Block, Integer>>() { + { + add(Pair.of(ModBlocks.blockCasings5Misc, 7)); + add(Pair.of(ModBlocks.blockCasings5Misc, 8)); + add(Pair.of(ModBlocks.blockCasings5Misc, 9)); + add(Pair.of(ModBlocks.blockCasings5Misc, 10)); + } + }; + } + + public static List<Pair<Block, Integer>> getAllFocusingTiers() { + return new ArrayList<Pair<Block, Integer>>() { + { + add(Pair.of(ModBlocks.blockCasings5Misc, 11)); + add(Pair.of(ModBlocks.blockCasings5Misc, 12)); + add(Pair.of(ModBlocks.blockCasings5Misc, 13)); + add(Pair.of(ModBlocks.blockCasings5Misc, 14)); + } + }; + } + + public static ITierConverter<Integer> craftingTierConverter() { + return (block, meta) -> { + if (block == null) { + return -1; + } else if (block == ModBlocks.blockCasings5Misc) { // Resonance Chambers + switch (meta) { + case 7: + return 1; + case 8: + return 2; + case 9: + return 3; + case 10: + return 4; + } + } + return -1; + }; + } + + public static ITierConverter<Integer> focusingTierConverter() { + return (block, meta) -> { + if (block == null) { + return -1; + } else if (block == ModBlocks.blockCasings5Misc) { // Generation Coils + switch (meta) { + case 11: + return 1; + case 12: + return 2; + case 13: + return 3; + case 14: + return 4; + } + } + return -1; + }; + } + + private void setCraftingTier(int tier) { + mCraftingTier = tier; + } + + private void setFocusingTier(int tier) { + mFocusingTier = tier; + } + + private int getCraftingTier() { + return mCraftingTier; + } + + private int getFocusingTier() { + return mFocusingTier; + } + + public String getSound() { + return GregTech_API.sSoundList.get(Integer.valueOf(208)); + } + + protected IIconContainer getActiveOverlay() { + return TexturesGtBlock.Overlay_Machine_Controller_Advanced_Active; + } + + protected IIconContainer getInactiveOverlay() { + return TexturesGtBlock.Overlay_Machine_Controller_Advanced; + } + + protected int getCasingTextureId() { + return TAE.getIndexFromPage(0, 10); + } + + @Override + public GT_Recipe.GT_Recipe_Map getRecipeMap() { + return GTPP_Recipe.GTPP_Recipe_Map.sQuantumForceTransformerRecipes; + } + + @Override + public boolean isCorrectMachinePart(final ItemStack aStack) { + return true; + } + + private static int mMaxParallel = 64; + private int mCurrentParallel = 0; + + @Override + public boolean checkRecipe(final ItemStack aStack) { + mCurrentParallel = 0; + this.lEUt = 0; + this.mMaxProgresstime = 0; + this.mOutputItems = null; + this.mOutputFluids = null; + doFermium = false; + doNeptunium = false; + FluidStack[] tFluidList = getStoredFluids().toArray(new FluidStack[0]); + if (mSeparateInputBusses) { + ArrayList<ItemStack> tInputList = new ArrayList<ItemStack>(); + for (GT_MetaTileEntity_Hatch_InputBus tBus : mInputBusses) { + for (int i = tBus.getSizeInventory() - 1; i >= 0; i--) { + if (tBus.getStackInSlot(i) != null) { + tInputList.add(tBus.getStackInSlot(i)); + } + } + ItemStack[] tInputs = tInputList.toArray(new ItemStack[0]); + if (processRecipe(tInputs, tFluidList, getRecipeMap(), aStack)) return true; + else tInputList.clear(); + } + } else { + ItemStack[] tInputList = getStoredInputs().toArray(new ItemStack[0]); + return processRecipe(tInputList, tFluidList, getRecipeMap(), aStack); + } + this.mEfficiency = 0; + this.mEfficiencyIncrease = 0; + return false; + } + + private boolean processRecipe( + ItemStack[] aItemInputs, FluidStack[] aFluidInputs, GT_Recipe.GT_Recipe_Map aRecipeMap, ItemStack aStack) { + long tVoltage = + getMaxInputVoltage() / getExoticAndNormalEnergyHatchList().size(); + long tAmps = (long) Math.floor(getMaxInputAmps() * 0.80); + long tTotalEUt = tVoltage * tAmps; + byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); + GT_Recipe tRecipe = aRecipeMap + .findRecipe( + getBaseMetaTileEntity(), + false, + gregtech.api.enums.GT_Values.V[tTier], + aFluidInputs, + aItemInputs) + .copy(); + + if (tRecipe != null && tRecipe.mSpecialValue <= getCraftingTier()) { + ItemStack aRecipeCatalyst = null; + for (ItemStack tItem : tRecipe.mInputs) { + if (ItemUtils.isCatalyst(tItem)) { + aRecipeCatalyst = tItem; + break; + } + } + + if (aRecipeCatalyst == null) { + return false; + } + + int mCurrentMaxParallel = 0; + for (ItemStack tItem : aItemInputs) { + if (ItemUtils.isCatalyst(tItem) && tItem.isItemEqual(aRecipeCatalyst)) { + mCurrentMaxParallel += tItem.stackSize; + } + + if (mCurrentMaxParallel >= mMaxParallel) { + mCurrentMaxParallel = mMaxParallel; + break; + } + } + + if (mFermiumHatch != null) { + if (mFermiumHatch.getFluid() != null + && mFermiumHatch.getFluid().isFluidEqual(new FluidStack(mFermium, 1))) { + doFermium = true; + } else { + doFermium = false; + } + } else { + doFermium = false; + } + + while (mCurrentParallel < mCurrentMaxParallel + && tRecipe.isRecipeInputEqual(true, aFluidInputs, aItemInputs)) { + mCurrentParallel++; + } + + this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); + this.mEfficiencyIncrease = 10000; + + mMaxProgresstime = tRecipe.mDuration; + lEUt = -tRecipe.mEUt * mCurrentParallel; + + calculateOverclockedNessMultiInternal( + tRecipe.mEUt * mCurrentParallel, tRecipe.mDuration, 1, tTotalEUt, false); + + if (mMaxProgresstime == Integer.MAX_VALUE - 1 || lEUt == Long.MAX_VALUE - 1) return false; + + if (this.lEUt > 0) { + this.lEUt = (-this.lEUt); + } + + int[] tChances; + if (aStack == null + || aStack.getItemDamage() == 0 + || mNeptuniumHatch.getFluid() == null + || !mNeptuniumHatch.getFluid().isFluidEqual(new FluidStack(mNeptunium, 1))) { + doNeptunium = false; + tChances = GetChanceOutputs(tRecipe, -1); + } else { + doNeptunium = true; + tChances = GetChanceOutputs(tRecipe, aStack.getItemDamage() - 1); + } + + ArrayList<ItemStack> tItemOutputs = new ArrayList<ItemStack>(); + ArrayList<FluidStack> tFluidOutputs = new ArrayList<FluidStack>(); + + if (mFluidMode) { + for (int i = 0; i < tChances.length; i++) { + if (getBaseMetaTileEntity().getRandomNumber(10000) < tChances[i]) { + ItemData data = getAssociation(tRecipe.getOutput(i)); + Materials mat = data == null ? null : data.mMaterial.mMaterial; + if (i < tRecipe.mOutputs.length) { + if (mat != null) { + if (mat.getMolten(0) != null) { + tFluidOutputs.add( + mat.getMolten(tRecipe.getOutput(i).stackSize * 144 * mCurrentParallel)); + } else if (mat.getFluid(0) != null) { + tFluidOutputs.add( + mat.getFluid(tRecipe.getOutput(i).stackSize * 1000 * mCurrentParallel)); + } else { + ItemStack aItem = tRecipe.getOutput(i); + tItemOutputs.add( + GT_Utility.copyAmountUnsafe(aItem.stackSize * mCurrentParallel, aItem)); + } + } else { + ItemStack aItem = tRecipe.getOutput(i); + tItemOutputs.add( + GT_Utility.copyAmountUnsafe(aItem.stackSize * mCurrentParallel, aItem)); + } + } else { + FluidStack aFluid = tRecipe.getFluidOutput(i - tRecipe.mOutputs.length) + .copy(); + aFluid.amount *= mCurrentParallel; + tFluidOutputs.add(aFluid); + } + } + } + } else { + for (int i = 0; i < tChances.length; i++) { + if (getBaseMetaTileEntity().getRandomNumber(10000) < tChances[i]) { + if (i < tRecipe.mOutputs.length) { + ItemStack aItem = tRecipe.getOutput(i).copy(); + aItem.stackSize *= mCurrentParallel; + tItemOutputs.add(aItem); + } else { + FluidStack aFluid = tRecipe.getFluidOutput(i - tRecipe.mOutputs.length) + .copy(); + aFluid.amount *= mCurrentParallel; + tFluidOutputs.add(aFluid); + } + } + } + } + + mOutputItems = tItemOutputs.toArray(new ItemStack[0]); + mOutputFluids = tFluidOutputs.toArray(new FluidStack[0]); + this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); + updateSlots(); + + return true; + } + return false; + } + + private byte runningTick = 0; + + @Override + public boolean onRunningTick(ItemStack aStack) { + if (!super.onRunningTick(aStack)) { + criticalStopMachine(); + return false; + } + + if (runningTick % 20 == 0) { + if (doFermium) { + FluidStack tFluid = + new FluidStack(mFermium, (int) (getFocusingTier() * 4 * Math.sqrt(mCurrentParallel))); + FluidStack tLiquid = mFermiumHatch.drain(tFluid.amount, true); + if (tLiquid == null || tLiquid.amount < tFluid.amount) { + doFermium = false; + criticalStopMachine(); + return false; + } + } + + if (doNeptunium) { + FluidStack tFluid = + new FluidStack(mNeptunium, (int) (getFocusingTier() * 4 * Math.sqrt(mCurrentParallel))); + FluidStack tLiquid = mNeptuniumHatch.drain(tFluid.amount, true); + if (tLiquid == null || tLiquid.amount < tFluid.amount) { + doNeptunium = false; + criticalStopMachine(); + return false; + } + } + + runningTick = 1; + } else { + runningTick++; + } + + return true; + } + + public int getMaxParallelRecipes() { + return 64; + } + + public int getEuDiscountForParallelism() { + return 0; + } + + @Override + public int getMaxEfficiency(final ItemStack aStack) { + return 10000; + } + + @Override + public int getPollutionPerSecond(final ItemStack aStack) { + return 0; + } + + @Override + public int getDamageToComponent(final ItemStack aStack) { + return 0; + } + + public int getAmountOfOutputs() { + return 2; + } + + @Override + public boolean explodesOnComponentBreak(final ItemStack aStack) { + return false; + } + + private int[] GetChanceOutputs(GT_Recipe tRecipe, int aChanceIncreased) { + int difference = getFocusingTier() - tRecipe.mSpecialValue; + int aOutputsAmount = tRecipe.mOutputs.length + tRecipe.mFluidOutputs.length; + int aChancePerOutput = 10000 / aOutputsAmount; + int[] tChances = new int[aOutputsAmount]; + Arrays.fill(tChances, aChancePerOutput); + + switch (difference) { + case 0: + for (int i = 0; i < tChances.length; i++) { + if (doNeptunium) { + if (i == aChanceIncreased) { + tChances[i] = aChancePerOutput / 2 * (aOutputsAmount - 1); + } else { + tChances[i] /= 2; + } + } + + if (doFermium) { + tChances[i] += (10000 - tChances[i]) / 4; + } + } + break; + case 1: + for (int i = 0; i < tChances.length; i++) { + if (doNeptunium) { + if (i == aChanceIncreased) { + tChances[i] = aChancePerOutput * 3 / 4 * (aOutputsAmount - 1); + } else { + tChances[i] /= 4; + } + } + + if (doFermium) { + tChances[i] += (10000 - tChances[i]) / 3; + } + } + break; + case 2: + case 3: + for (int i = 0; i < tChances.length; i++) { + if (doNeptunium) { + if (i == aChanceIncreased) { + tChances[i] = 10000; + } else { + tChances[i] = 0; + } + } + + if (doFermium) { + tChances[i] += (10000 - tChances[i]) / 2; + } + } + break; + } + return tChances; + } + + @Override + public boolean onWireCutterRightClick( + byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + mSeparateInputBusses = !mSeparateInputBusses; + GT_Utility.sendChatToPlayer( + aPlayer, StatCollector.translateToLocal("GT5U.machines.separatebus") + " " + mSeparateInputBusses); + return true; + } + + @Override + public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + mFluidMode = !mFluidMode; + GT_Utility.sendChatToPlayer( + aPlayer, StatCollector.translateToLocal("miscutils.machines.QFTFluidMode") + " " + mFluidMode); + } + + public boolean addNeptuniumHatch(IGregTechTileEntity aTileEntity, short aBaseCasingIndex) { + if (aTileEntity == null) return false; + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity == null) return false; + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); + ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = null; + mNeptuniumHatch = (GT_MetaTileEntity_Hatch_Input) aMetaTileEntity; + return true; + } + return false; + } + + public boolean addFermiumHatch(IGregTechTileEntity aTileEntity, short aBaseCasingIndex) { + if (aTileEntity == null) return false; + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity == null) return false; + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); + ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = null; + mFermiumHatch = (GT_MetaTileEntity_Hatch_Input) aMetaTileEntity; + return true; + } + return false; + } + + public Block getCasingBlock1() { + return ModBlocks.blockCasings5Misc; + } + + public byte getCasingMeta1() { + return 15; + } + + @Override + public void saveNBTData(NBTTagCompound aNBT) { + aNBT.setBoolean("mSeparateInputBusses", mSeparateInputBusses); + aNBT.setBoolean("mFluidMode", mFluidMode); + aNBT.setBoolean("doFermium", doFermium); + super.saveNBTData(aNBT); + } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + this.mSeparateInputBusses = aNBT.getBoolean("mSeparateInputBusses"); + this.mFluidMode = aNBT.getBoolean("mFluidMode"); + this.doFermium = aNBT.getBoolean("doFermium"); + super.loadNBTData(aNBT); + } + + @Override + public ITexture[] getTexture( + IGregTechTileEntity aBaseMetaTileEntity, + byte aSide, + byte aFacing, + byte aColorIndex, + boolean aActive, + boolean aRedstone) { + if (aSide == aFacing) { + if (aActive) + return new ITexture[] { + getCasingTexture(), + TextureFactory.builder() + .addIcon(getActiveOverlay()) + .extFacing() + .build() + }; + return new ITexture[] { + getCasingTexture(), + TextureFactory.builder() + .addIcon(getInactiveOverlay()) + .extFacing() + .build() + }; + } + return new ITexture[] {getCasingTexture()}; + } + + private ITexture getCasingTexture() { + return Textures.BlockIcons.getCasingTextureForId(getCasingTextureId()); + } + + @Override + protected void calculateOverclockedNessMultiInternal( + long aEUt, int aDuration, int mAmperage, long maxInputVoltage, boolean perfectOC) { + // 5% space for cable loss + long zMaxInputVoltage = maxInputVoltage / 100L * 95L; + long zTime = aDuration; + long zEUt = aEUt; + while (zEUt << 2 < zMaxInputVoltage) { + zEUt = zEUt << 2; + zTime = zTime >> (perfectOC ? 2 : 1); + if (zTime <= 0) { + break; + } + } + if (zTime <= 0) { + zTime = 1; + } + + if (zTime > Integer.MAX_VALUE - 1) { + zTime = Integer.MAX_VALUE - 1; + } + this.lEUt = zEUt; + this.mMaxProgresstime = (int) zTime; + } + + @SideOnly(Side.CLIENT) + private void renderForceField( + double x, double y, double z, int side, double minU, double maxU, double minV, double maxV) { + // spotless:off + Tessellator tes = Tessellator.instance; + switch (side) { + case 0: + tes.addVertexWithUV(x + 3 - 0.5, y , z + 7, maxU, maxV); + tes.addVertexWithUV(x + 3 - 0.5, y + 4, z + 7, maxU, minV); + tes.addVertexWithUV(x - 3 + 0.5, y + 4, z + 7, minU, minV); + tes.addVertexWithUV(x - 3 + 0.5, y , z + 7, minU, maxV); + tes.addVertexWithUV(x - 3 + 0.5, y , z + 7, minU, maxV); + tes.addVertexWithUV(x - 3 + 0.5, y + 4, z + 7, minU, minV); + tes.addVertexWithUV(x + 3 - 0.5, y + 4, z + 7, maxU, minV); + tes.addVertexWithUV(x + 3 - 0.5, y , z + 7, maxU, maxV); + break; + case 1: + tes.addVertexWithUV(x + 7, y , z + 4 - 0.5, maxU, maxV); + tes.addVertexWithUV(x + 7, y + 4, z + 4 - 0.5, maxU, minV); + tes.addVertexWithUV(x + 7, y + 4, z - 4 + 0.5, minU, minV); + tes.addVertexWithUV(x + 7, y , z - 4 + 0.5, minU, maxV); + tes.addVertexWithUV(x + 7, y , z - 4 + 0.5, minU, maxV); + tes.addVertexWithUV(x + 7, y + 4, z - 4 + 0.5, minU, minV); + tes.addVertexWithUV(x + 7, y + 4, z + 4 - 0.5, maxU, minV); + tes.addVertexWithUV(x + 7, y , z + 4 - 0.5, maxU, maxV); + break; + case 2: + tes.addVertexWithUV(x + 3 + 0.5, y , z - 7, maxU, maxV); + tes.addVertexWithUV(x + 3 + 0.5, y + 4, z - 7, maxU, minV); + tes.addVertexWithUV(x - 3 - 0.5, y + 4, z - 7, minU, minV); + tes.addVertexWithUV(x - 3 - 0.5, y , z - 7, minU, maxV); + tes.addVertexWithUV(x - 3 - 0.5, y , z - 7, minU, maxV); + tes.addVertexWithUV(x - 3 - 0.5, y + 4, z - 7, minU, minV); + tes.addVertexWithUV(x + 3 + 0.5, y + 4, z - 7, maxU, minV); + tes.addVertexWithUV(x + 3 + 0.5, y , z - 7, maxU, maxV); + break; + case 3: + tes.addVertexWithUV(x - 7, y , z + 4 - 0.5, maxU, maxV); + tes.addVertexWithUV(x - 7, y + 4, z + 4 - 0.5, maxU, minV); + tes.addVertexWithUV(x - 7, y + 4, z - 4 + 0.5, minU, minV); + tes.addVertexWithUV(x - 7, y , z - 4 + 0.5, minU, maxV); + tes.addVertexWithUV(x - 7, y , z - 4 + 0.5, minU, maxV); + tes.addVertexWithUV(x - 7, y + 4, z - 4 + 0.5, minU, minV); + tes.addVertexWithUV(x - 7, y + 4, z + 4 - 0.5, maxU, minV); + tes.addVertexWithUV(x - 7, y , z + 4 - 0.5, maxU, maxV); + break; + case 4: + tes.addVertexWithUV(x - 3 - 0.5, y , z + 7 , maxU, maxV); + tes.addVertexWithUV(x - 3 - 0.5, y + 4, z + 7 , maxU, minV); + tes.addVertexWithUV(x - 7 , y + 4, z + 4 + 0.5, minU, minV); + tes.addVertexWithUV(x - 7 , y , z + 4 + 0.5, minU, maxV); + tes.addVertexWithUV(x - 7 , y , z + 4 + 0.5, minU, maxV); + tes.addVertexWithUV(x - 7 , y + 4, z + 4 + 0.5, minU, minV); + tes.addVertexWithUV(x - 3 - 0.5, y + 4, z + 7 , maxU, minV); + tes.addVertexWithUV(x - 3 - 0.5, y , z + 7 , maxU, maxV); + break; + case 5: + tes.addVertexWithUV(x - 3 - 0.5, y , z - 7 , maxU, maxV); + tes.addVertexWithUV(x - 3 - 0.5, y + 4, z - 7 , maxU, minV); + tes.addVertexWithUV(x - 7 , y + 4, z - 4 - 0.5, minU, minV); + tes.addVertexWithUV(x - 7 , y , z - 4 - 0.5, minU, maxV); + tes.addVertexWithUV(x - 7 , y , z - 4 - 0.5, minU, maxV); + tes.addVertexWithUV(x - 7 , y + 4, z - 4 - 0.5, minU, minV); + tes.addVertexWithUV(x - 3 - 0.5, y + 4, z - 7 , maxU, minV); + tes.addVertexWithUV(x - 3 - 0.5, y , z - 7 , maxU, maxV); + break; + case 6: + tes.addVertexWithUV(x + 3 + 0.5, y , z + 7 , maxU, maxV); + tes.addVertexWithUV(x + 3 + 0.5, y + 4, z + 7 , maxU, minV); + tes.addVertexWithUV(x + 7 , y + 4, z + 4 + 0.5, minU, minV); + tes.addVertexWithUV(x + 7 , y , z + 4 + 0.5, minU, maxV); + tes.addVertexWithUV(x + 7 , y , z + 4 + 0.5, minU, maxV); + tes.addVertexWithUV(x + 7 , y + 4, z + 4 + 0.5, minU, minV); + tes.addVertexWithUV(x + 3 + 0.5, y + 4, z + 7 , maxU, minV); + tes.addVertexWithUV(x + 3 + 0.5, y , z + 7 , maxU, maxV); + break; + case 7: + tes.addVertexWithUV(x + 3 + 0.5, y , z - 7 , maxU, maxV); + tes.addVertexWithUV(x + 3 + 0.5, y + 4, z - 7 , maxU, minV); + tes.addVertexWithUV(x + 7 , y + 4, z - 4 - 0.5, minU, minV); + tes.addVertexWithUV(x + 7 , y , z - 4 - 0.5, minU, maxV); + tes.addVertexWithUV(x + 7 , y , z - 4 - 0.5, minU, maxV); + tes.addVertexWithUV(x + 7 , y + 4, z - 4 - 0.5, minU, minV); + tes.addVertexWithUV(x + 3 + 0.5, y + 4, z - 7 , maxU, minV); + tes.addVertexWithUV(x + 3 + 0.5, y , z - 7 , maxU, maxV); + break; + } + } + + @SideOnly(Side.CLIENT) + @Override + public boolean renderInWorld(IBlockAccess aWorld, int x, int y, int z, Block block, RenderBlocks renderer) { + Tessellator tes = Tessellator.instance; + IIcon forceField = TexturesGtBlock.ForceField.getIcon(); + if (getBaseMetaTileEntity().isActive()) { + double minU = forceField.getMinU(); + double maxU = forceField.getMaxU(); + double minV = forceField.getMinV(); + double maxV = forceField.getMaxV(); + double xBaseOffset = 3 * getExtendedFacing().getRelativeBackInWorld().offsetX; + double zBaseOffset = 3 * getExtendedFacing().getRelativeBackInWorld().offsetZ; + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_BLEND); + tes.setColorOpaque_F(1f, 1f, 1f); + tes.setBrightness(15728880); + //Center O: 0, 0 1 ------- 8 + //Corner 1: 7, -2 / \ + //Corner 2: 3, -6 2 / \ 7 + //Corner 3: -2, -6 | | + //Corner 4: -6, -2 | O | + //Corner 5: -6, 3 | | + //Corner 6: -2, 7 3 \ / 6 + //Corner 7: 3, 7 \ / + //Corner 8: 7, 3 4 ------- 5 + renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 0, minU, maxU, minV, maxV); + renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 1, minU, maxU, minV, maxV); + renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 2, minU, maxU, minV, maxV); + renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 3, minU, maxU, minV, maxV); + renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 4, minU, maxU, minV, maxV); + renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 5, minU, maxU, minV, maxV); + renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 6, minU, maxU, minV, maxV); + renderForceField(x + xBaseOffset + 0.5, y, z + zBaseOffset + 0.5, 7, minU, maxU, minV, maxV); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); + + } + // Needs to be false to render the controller + return false; + //spotless:on + } +} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java index 1dddc64296..52053ca90e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java @@ -38,11 +38,13 @@ public class RecipeGen_Plates extends RecipeGen_Base { final ItemStack ingotStackOne = material.getIngot(1); final ItemStack ingotStackTwo = material.getIngot(2); final ItemStack ingotStackThree = material.getIngot(3); + final ItemStack ingotStackNine = material.getIngot(9); final ItemStack shape_Mold = ItemList.Shape_Mold_Plate.get(0); final ItemStack plate_Single = material.getPlate(1); final ItemStack plate_SingleTwo = material.getPlate(2); final ItemStack plate_SingleNine = material.getPlate(9); final ItemStack plate_Double = material.getPlateDouble(1); + final ItemStack plate_Dense = material.getPlateDense(1); final ItemStack block = material.getBlock(1); Logger.WARNING("Generating Plate recipes for " + material.getLocalizedName()); @@ -132,6 +134,29 @@ public class RecipeGen_Plates extends RecipeGen_Base { } else { Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Failed"); } + + // Making Dense Plates + if (ItemUtils.checkForInvalidItems(ingotStackNine) && ItemUtils.checkForInvalidItems(plate_Dense)) + if (addBenderRecipe( + ingotStackNine, + plate_Dense, + (int) Math.max(material.getMass() * 2L, 1L), + material.vVoltageMultiplier)) { + Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); + } else { + Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); + } + + if (ItemUtils.checkForInvalidItems(plate_SingleNine) && ItemUtils.checkForInvalidItems(plate_Dense)) + if (addBenderRecipe( + plate_SingleNine, + plate_Double, + (int) Math.max(material.getMass() * 2L, 1L), + material.vVoltageMultiplier)) { + Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); + } else { + Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); + } } public static boolean addBenderRecipe( diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java new file mode 100644 index 0000000000..ddbb3ccf2c --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java @@ -0,0 +1,640 @@ +package gtPlusPlus.xmod.gregtech.loaders.recipe; + +import com.dreammaster.gthandler.GT_CoreModSupport; +import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; +import com.github.technus.tectech.recipe.TT_recipeAdder; +import com.github.technus.tectech.thing.block.QuantumGlassBlock; +import gregtech.api.enums.*; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.common.items.CombType; +import gregtech.loaders.misc.GT_Bees; +import gtPlusPlus.core.item.chemistry.GenericChem; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.material.ALLOY; +import gtPlusPlus.core.material.ELEMENT; +import gtPlusPlus.core.material.MISC_MATERIALS; +import gtPlusPlus.core.recipe.common.CI; +import gtPlusPlus.core.util.minecraft.FluidUtils; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +public class RecipeLoader_ChemicalSkips { + + public static void generate() { + createRecipes(); + } + + private static void createRecipes() { + quantumTransformerRecipes(); + fusionReactorRecipes(); + catalystRecipes(); + tieredCasingRecipes(); + } + + // All the recipes that the QFT can do. Each recipe has a machine tier. + // -> Tier 1 is UEV (UEV circuits and 1 Eternal Singularity); + // -> Tier 2 needs new item from QFT, plus stacks of Infinity; + // -> Tier 3 needs new item from QFT, plus stacks of Transcendent Metal; + // -> Tier 4 needs new item from QFT, plus stacks of Spacetime; + // (Until they are created, the new items are represented by + // HSS-G for Tier 2, HSS-S for Tier 3 and HSS-E for Tier 4) + + private static void quantumTransformerRecipes() { + // Platline + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + WerkstoffLoader.PTMetallicPowder.get(OrePrefixes.dust, 32), + ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0) + }, + new FluidStack[] {}, + new FluidStack[] {}, + new ItemStack[] { + Materials.Platinum.getDust(64), + Materials.Palladium.getDust(64), + Materials.Iridium.getDust(64), + Materials.Osmium.getDust(64), + WerkstoffLoader.Rhodium.get(OrePrefixes.dust, 64), + WerkstoffLoader.Ruthenium.get(OrePrefixes.dust, 64) + }, + new int[] {1667, 1667, 1667, 1667, 1667, 1667}, + 20 * 20, + (int) GT_Values.VP[8], + 1); + + // Early Plastics + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + Materials.Carbon.getDust(64), ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 0) + }, + new FluidStack[] { + Materials.Oxygen.getGas(1000 * 16), + Materials.Hydrogen.getGas(1000 * 16), + Materials.Chlorine.getGas(1000 * 16), + Materials.Fluorine.getGas(1000 * 16) + }, + new FluidStack[] { + Materials.Plastic.getMolten(144 * 256), + Materials.PolyvinylChloride.getMolten(144 * 128), + Materials.Polystyrene.getMolten(144 * 64), + Materials.Polytetrafluoroethylene.getMolten(144 * 128), + Materials.Epoxid.getMolten(144 * 64), + Materials.Polybenzimidazole.getMolten(144 * 64) + }, + null, + new int[] {2000, 2000, 2000, 2000, 2000, 2000}, + 20 * 20, + (int) GT_Values.VP[7], + 1); + + // Early Rubbers/Cable Materials + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + Materials.Carbon.getDust(64), ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 0) + }, + new FluidStack[] { + Materials.Oxygen.getGas(1000 * 16), + Materials.Hydrogen.getGas(1000 * 16), + Materials.Chlorine.getGas(1000 * 16) + }, + new FluidStack[] { + Materials.Silicone.getMolten(144 * 64), + Materials.StyreneButadieneRubber.getMolten(144 * 64), + Materials.PolyphenyleneSulfide.getMolten(144 * 128), + Materials.Rubber.getMolten(144 * 256) + }, + null, + new int[] {2500, 2500, 2500, 2500}, + 20 * 20, + (int) GT_Values.VP[7], + 1); + + // Glues and Solders + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + Materials.Carbon.getDust(32), + Materials.Bismuth.getDust(32), + ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 0) + }, + new FluidStack[] {Materials.Oxygen.getFluid(10000), Materials.Hydrogen.getFluid(10000)}, + new FluidStack[] { + MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1000 * 32), + Materials.AdvancedGlue.getFluid(1000 * 16), + ALLOY.INDALLOY_140.getFluidStack(144 * 64), + Materials.SolderingAlloy.getMolten(144 * 128) + }, + new ItemStack[] {ItemList.StableAdhesive.get(1)}, + new int[] {2000, 2000, 2000, 2000, 2000}, + 20 * 20, + (int) GT_Values.VP[8], + 1); + + // Titanium, Tungsten, Indium + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + Materials.Lead.getDust(16), + Materials.Bauxite.getDust(32), + Materials.Tungstate.getDust(16), + ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 0) + }, + new FluidStack[] {}, + new FluidStack[] {}, + new ItemStack[] { + Materials.Titanium.getDust(64), + Materials.TungstenSteel.getDust(64), + Materials.TungstenCarbide.getDust(64), + Materials.Indium.getDust(64) + }, + new int[] {2500, 2500, 2500, 2500}, + 20 * 20, + (int) GT_Values.VP[8], + 1); + + // Thorium, Uranium, Plutonium + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + Materials.Thorium.getDust(32), + Materials.Uranium.getDust(32), + ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 0) + }, + new FluidStack[] {}, + new FluidStack[] {}, + new ItemStack[] { + ELEMENT.getInstance().THORIUM232.getDust(64), + ELEMENT.getInstance().URANIUM233.getDust(64), + Materials.Uranium235.getDust(64), + ELEMENT.getInstance().PLUTONIUM238.getDust(64), + Materials.Plutonium.getDust(64), + Materials.Plutonium241.getDust(64) + }, + new int[] {1667, 1667, 1667, 1667, 1667, 1667}, + 20 * 20, + (int) GT_Values.VP[8], + 1); + + // Monaline + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + Materials.Monazite.getDust(32), ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0) + }, + new FluidStack[] {}, + new FluidStack[] {}, + new ItemStack[] { + Materials.Cerium.getDust(64), + Materials.Gadolinium.getDust(64), + Materials.Samarium.getDust(64), + GT_ModHandler.getModItem("bartworks", "gt.bwMetaGenerateddust", 64L, 11000), // Hafnium + GT_ModHandler.getModItem("bartworks", "gt.bwMetaGenerateddust", 64L, 11007), // Zirconium + ItemList.SuperconductorComposite.get(1) + }, + new int[] {1667, 1667, 1667, 1667, 1667, 1667}, + 20 * 20, + (int) GT_Values.VP[9], + 2); + + // Stem Cells + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + Materials.Calcium.getDust(32), + Materials.MeatRaw.getDust(32), + GT_ModHandler.getModItem("dreamcraft", "GTNHBioItems", 32, 2), + ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 0) + }, + new FluidStack[] {}, + new FluidStack[] { + Materials.GrowthMediumRaw.getFluid(1000 * 1024), + Materials.GrowthMediumSterilized.getFluid(1000 * 512) + }, + new ItemStack[] {ItemList.Circuit_Chip_Stemcell.get(64)}, + new int[] {3333, 3333, 3333}, + 20 * 20, + (int) GT_Values.VP[11], + 3); + + // Lategame Plastics (Missing Radox Polymer and Heavy Radox) + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + Materials.Carbon.getDust(64), + Materials.Osmium.getDust(24), + ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0) + }, + new FluidStack[] {Materials.Hydrogen.getGas(1000 * 16), Materials.Nitrogen.getGas(1000 * 16)}, + new FluidStack[] { + GT_CoreModSupport.Xenoxene.getFluid(1000 * 16), + GT_CoreModSupport.RadoxPolymer.getMolten(144 * 64), + GT_CoreModSupport.RadoxHeavy.getFluid(1000 * 16), + MaterialsKevlar.Kevlar.getMolten(144 * 64) + }, + new ItemStack[] {}, + new int[] {2500, 2500, 2500, 2500}, + 20 * 20, + (int) GT_Values.VP[11], + 4); + + // Lategame Kevlar using Kevlar bee comb + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + GT_Bees.combs.getStackForType(CombType.KEVLAR, 24), + Materials.Carbon.getDust(64), + ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0) + }, + new FluidStack[] {Materials.Nitrogen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16)}, + new FluidStack[] { + MaterialsKevlar.PolyurethaneResin.getFluid(1000 * 32), + MaterialsKevlar.LiquidCrystalKevlar.getFluid(144 * 32), + MaterialsKevlar.Kevlar.getMolten(144 * 64) + }, + new ItemStack[] {}, + new int[] {2500, 2500, 2500, 2500}, + 20 * 20, + (int) GT_Values.VP[11], + 4); + + // Bio Cells and Mutated Solder + CORE.RA.addQuantumTransformerRecipe( + new ItemStack[] { + ItemList.Circuit_Chip_Stemcell.get(16), + Materials.InfinityCatalyst.getDust(4), + ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 0) + }, + new FluidStack[] {}, + new FluidStack[] { + MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 128), + Materials.BioMediumSterilized.getFluid(1000 * 256), + Materials.BioMediumRaw.getFluid(1000 * 512) + }, + new ItemStack[] {ItemList.Circuit_Chip_Biocell.get(64)}, + new int[] {2500, 2500, 2500, 2500}, + 20 * 20, + (int) GT_Values.VP[10], + 4); + } + + private static void fusionReactorRecipes() { + GT_Values.RA.addFusionReactorRecipe( + new FluidStack[] {Materials.Radon.getPlasma(100), Materials.Nitrogen.getPlasma(100)}, + new FluidStack[] {new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 100)}, + 30 * 20, + (int) GT_Values.VP[8], + 1000000000); + + GT_Values.RA.addFusionReactorRecipe( + new FluidStack[] {Materials.Americium.getPlasma(100), Materials.Boron.getPlasma(100)}, + new FluidStack[] {new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 100)}, + 30 * 20, + (int) GT_Values.VP[8], + 1000000000); + } + + private static void catalystRecipes() { + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + GT_ModHandler.getModItem("bartworks", "gt.bwMetaGenerateddust", 64L, 88), + Materials.Osmiridium.getDust(64), + Materials.Carbon.getNanite(64) + }, + ELEMENT.STANDALONE.HYPOGEN.getFluidStack(1440), + ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[9]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.Polybenzimidazole.getDust(64), + Materials.Tetrafluoroethylene.getDust(64), + Materials.Carbon.getNanite(64) + }, + ELEMENT.STANDALONE.HYPOGEN.getFluidStack(1440), + ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[9]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.Silicone.getDust(64), + Materials.StyreneButadieneRubber.getDust(64), + Materials.Carbon.getNanite(64) + }, + ELEMENT.STANDALONE.HYPOGEN.getFluidStack(1440), + ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[9]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + ALLOY.INDALLOY_140.getDust(64), + MISC_MATERIALS.ETHYL_CYANOACRYLATE.getCell(64), + Materials.Carbon.getNanite(64) + }, + ELEMENT.STANDALONE.HYPOGEN.getFluidStack(1440), + ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[9]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.TungstenSteel.getDust(64), + Materials.Indium.getDust(64), + Materials.Carbon.getNanite(64) + }, + ELEMENT.STANDALONE.HYPOGEN.getFluidStack(1440), + ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[9]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + ELEMENT.getInstance().URANIUM235.getDust(64), + ELEMENT.getInstance().PLUTONIUM241.getDust(64), + Materials.Carbon.getNanite(64) + }, + ELEMENT.STANDALONE.HYPOGEN.getFluidStack(1440), + ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[9]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.Samarium.getDust(64), + Materials.Gadolinium.getDust(64), + Materials.Silver.getNanite(1) + }, + ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216), + ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[10]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.Naquadah.getDust(64), + Materials.Adamantium.getDust(64), + Materials.Silver.getNanite(1) + }, + ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216), + ItemUtils.getSimpleStack(GenericChem.mSimpleNaquadahCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[10]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.Naquadria.getDust(64), + Materials.Trinium.getDust(64), + Materials.Gold.getNanite(1) + }, + Materials.SpaceTime.getMolten(9216L), + ItemUtils.getSimpleStack(GenericChem.mAdvancedNaquadahCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[11]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + ItemList.Circuit_Chip_Stemcell.get(64), + Materials.Gold.getNanite(1) + }, + Materials.SpaceTime.getMolten(9216L), + ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[11]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + MaterialsKevlar.Kevlar.getDust(64), + Materials.TranscendentMetal.getNanite(1) + }, + FluidUtils.getFluidStack("molten.shirabon", 92160), + ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[12]); + + CORE.RA.addSixSlotAssemblingRecipe( + new ItemStack[] { + CI.getNumberedCircuit(10), + CI.getEmptyCatalyst(1), + ItemList.Circuit_Chip_Biocell.get(64), + Materials.TranscendentMetal.getNanite(1) + }, + FluidUtils.getFluidStack("molten.shirabon", 92160), + ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 1), + 60 * 20, + (int) GT_Values.VP[12]); + } + + private static void tieredCasingRecipes() { + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.ForceFieldGlass.get(1), + 1024 * 30 * 20, + 1024, + (int) GT_Values.VP[7], + 32, + new ItemStack[] { + GregtechItemList.ForceFieldGlass.get(1), + Materials.Carbon.getNanite(4), + ItemList.Emitter_UV.get(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 8), + GregtechItemList.Laser_Lens_Special.get(1), + GT_ModHandler.getModItem("GoodGenerator", "advancedRadiationProtectionPlate", 2) + }, + new FluidStack[] { + Materials.Thulium.getMolten(144 * 10), + Materials.ExcitedDTCC.getFluid(5000), + new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 1000 * 10), + new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 1000 * 10) + }, + GregtechItemList.NeutronPulseManipulator.get(1), + 60 * 20, + (int) GT_Values.VP[10]); + + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.NeutronPulseManipulator.get(1), + 2048 * 30 * 20, + 2048, + (int) GT_Values.VP[8], + 32, + new ItemStack[] { + GregtechItemList.ForceFieldGlass.get(2), + Materials.Carbon.getNanite(8), + ItemList.Emitter_UEV.get(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUEV, 8), + GregtechItemList.Laser_Lens_Special.get(1), + GT_ModHandler.getModItem("GoodGenerator", "advancedRadiationProtectionPlate", 4), + ItemList.StableAdhesive.get(4) + }, + new FluidStack[] { + Materials.Thulium.getMolten(144 * 12), + Materials.ExcitedDTPC.getFluid(5000), + new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 1200 * 10), + new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 1200 * 10) + }, + GregtechItemList.CosmicFabricManipulator.get(1), + 75 * 20, + (int) GT_Values.VP[11]); + + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.CosmicFabricManipulator.get(1), + 4096 * 30 * 20, + 4096, + (int) GT_Values.VP[7], + 32, + new ItemStack[] { + GregtechItemList.ForceFieldGlass.get(4), + Materials.Carbon.getNanite(16), + ItemList.Emitter_UIV.get(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUIV, 8), + GregtechItemList.Laser_Lens_Special.get(1), + GT_ModHandler.getModItem("GoodGenerator", "advancedRadiationProtectionPlate", 8), + ItemList.SuperconductorComposite.get(4) + }, + new FluidStack[] { + Materials.Thulium.getMolten(144 * 15), + Materials.ExcitedDTRC.getFluid(5000), + new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 1500 * 10), + new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 1500 * 10) + }, + GregtechItemList.InfinityInfusedManipulator.get(1), + 90 * 20, + (int) GT_Values.VP[12]); + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.InfinityInfusedManipulator.get(1), + 1024 * 30 * 20, + 1024, + (int) GT_Values.VP[7], + 32, + new ItemStack[] { + GregtechItemList.ForceFieldGlass.get(8), + Materials.Carbon.getNanite(32), + ItemList.Emitter_UMV.get(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUMV, 8), + GregtechItemList.Laser_Lens_Special.get(1), + GT_ModHandler.getModItem("GoodGenerator", "advancedRadiationProtectionPlate", 16), + ItemList.NaquadriaSupersolid.get(4) + }, + new FluidStack[] { + Materials.Thulium.getMolten(144 * 20), + Materials.ExcitedDTEC.getFluid(5000), + new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 2000 * 10), + new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 2000 * 10) + }, + GregtechItemList.SpaceTimeContinuumRipper.get(1), + 60 * 20, + (int) GT_Values.VP[13]); + + TT_recipeAdder.addResearchableAssemblylineRecipe( + ItemList.Casing_AdvancedRadiationProof.get(1), + 1024 * 30 * 20, + 1024, + (int) GT_Values.VP[7], + 32, + new ItemStack[] { + ALLOY.QUANTUM.getFrameBox(1), + GT_OreDictUnificator.get("plateDensePreciousMetalsAlloy", 4), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 16), + ItemList.Field_Generator_UV.get(1), + ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getScrew(16) + }, + new FluidStack[] { + MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 10), + }, + GregtechItemList.NeutronShieldingCore.get(1), + 60 * 20, + (int) GT_Values.VP[10]); + + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.NeutronShieldingCore.get(1), + 2048 * 30 * 20, + 2048, + (int) GT_Values.VP[8], + 32, + new ItemStack[] { + ALLOY.QUANTUM.getFrameBox(2), + GT_OreDictUnificator.get("plateDenseEnrichedNaquadahAlloy", 4), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16), + ItemList.Field_Generator_UEV.get(1), + GT_OreDictUnificator.get(OrePrefixes.screw, GT_CoreModSupport.RadoxPolymer, 16), + ItemList.StableAdhesive.get(4) + }, + new FluidStack[] { + MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 20), + }, + GregtechItemList.CosmicFabricShieldingCore.get(1), + 75 * 20, + (int) GT_Values.VP[11]); + + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.CosmicFabricShieldingCore.get(1), + 4096 * 30 * 20, + 4096, + (int) GT_Values.VP[9], + 32, + new ItemStack[] { + ALLOY.QUANTUM.getFrameBox(4), + ELEMENT.STANDALONE.HYPOGEN.getPlateDense(4), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TranscendentMetal, 16), + ItemList.Field_Generator_UIV.get(1), + GT_OreDictUnificator.get("screwMetastableOganesson", 16), + ItemList.SuperconductorComposite.get(4) + }, + new FluidStack[] { + MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 40), + }, + GregtechItemList.InfinityInfusedShieldingCore.get(1), + 90 * 20, + (int) GT_Values.VP[12]); + + TT_recipeAdder.addResearchableAssemblylineRecipe( + GregtechItemList.InfinityInfusedShieldingCore.get(1), + 8192 * 30 * 20, + 8192, + (int) GT_Values.VP[10], + 32, + new ItemStack[] { + ALLOY.QUANTUM.getFrameBox(8), + GT_OreDictUnificator.get("plateDenseShirabon", 4), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 16), + ItemList.Field_Generator_UMV.get(1), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Dilithium, 16), + ItemList.NaquadriaSupersolid.get(4) + }, + new FluidStack[] { + MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 80), + }, + GregtechItemList.SpaceTimeBendingCore.get(1), + 120 * 20, + (int) GT_Values.VP[13]); + + GT_Values.RA.addAssemblerRecipe( + new ItemStack[] { + new ItemStack(QuantumGlassBlock.INSTANCE, 1), + ItemList.Field_Generator_ZPM.get(1), + ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getLongRod(6), + ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getPlate(6) + }, + ALLOY.QUANTUM.getFluidStack(144 * 6), + GregtechItemList.ForceFieldGlass.get(1), + 10 * 20, + (int) GT_Values.VP[10]); + } +} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java index 8de060aedf..4c95ea4f22 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java @@ -674,6 +674,59 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { } @Override + public boolean addQuantumTransformerRecipe( + ItemStack[] aInput, + FluidStack[] aFluidInput, + FluidStack[] aFluidOutput, + ItemStack[] aOutputStack, + int[] aChances, + int aDuration, + int aEUt, + int aSpecialValue) { + if (aInput == null) { + aInput = new ItemStack[0]; + } + + if (aFluidInput == null) { + aFluidInput = new FluidStack[0]; + } + + // if (aInput.length + aFluidInput.length < 1) { + // return false; + // } + + if (aOutputStack == null) { + aOutputStack = new ItemStack[0]; + } + + if (aFluidOutput == null) { + aFluidOutput = new FluidStack[0]; + } + + // if (aOutputStack.length + aFluidOutput.length < 4) { + // return false; + // } + + // if (aChances == null || aChances.length != aOutputStack.length + aFluidOutput.length) { + // return false; + // } + + GTPP_Recipe.GTPP_Recipe_Map.sQuantumForceTransformerRecipes.add(new GT_Recipe( + false, + aInput, + aOutputStack, + null, + aChances, + aFluidInput, + aFluidOutput, + aDuration, + aEUt, + aSpecialValue)); + + return true; + } + + @Override public boolean addLFTRRecipe( final ItemStack aInput1, final FluidStack aInput2, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java new file mode 100644 index 0000000000..f7032838ab --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java @@ -0,0 +1,20 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_QuantumForceTransformer; + +public class GregtechQuantumForceTransformer { + + public static void run() { + if (gtPlusPlus.core.lib.LoadedMods.Gregtech) { + Logger.INFO("Gregtech5u Content | Registering Quantum Force Transformer Multiblock."); + if (CORE.ConfigSwitches.enableMultiblock_QuantumForceTransformer) { + GregtechItemList.QuantumForceTransformer.set(new GregtechMetaTileEntity_QuantumForceTransformer( + 31151, "quantumforcetransformer.controller.tier.single", "Quantum Force Transformer") + .getStackForm(1L)); + } + } + } +} diff --git a/src/main/resources/assets/miscutils/lang/en_US.lang b/src/main/resources/assets/miscutils/lang/en_US.lang index 038be05994..2024ef66a4 100644 --- a/src/main/resources/assets/miscutils/lang/en_US.lang +++ b/src/main/resources/assets/miscutils/lang/en_US.lang @@ -3376,4 +3376,21 @@ item.miscutils:magicfeather.name=Magical Feather item.BasicGenericChemItem.14.name=Solid-Acid Catalyst //Added 30/05/22 -item.BasicGenericChemItem.15.name=Infinite Mutation Catalyst
\ No newline at end of file +item.BasicGenericChemItem.15.name=Infinite Mutation Catalyst + +//Added 23/10/22 +miscutils.machines.QFTFluidMode=Quantum Force Transformer Fluid Output Mode + +//Added 16/11/22 +item.BasicGenericChemItem.16.name=Platinum Group Catalyst +item.BasicGenericChemItem.17.name=Plastic Polymer Catalyst +item.BasicGenericChemItem.18.name=Rubber Polymer Catalyst +item.BasicGenericChemItem.19.name=Adhesion Promoter Catalyst +item.BasicGenericChemItem.20.name=Tita-Tungsten Indium Catalyst +item.BasicGenericChemItem.21.name=Radioactivity Catalyst +item.BasicGenericChemItem.22.name=Rare-Earth Group Catalyst +item.BasicGenericChemItem.23.name=Simple Naquadah Catalyst +item.BasicGenericChemItem.24.name=Advanced Naquadah Catalyst +item.BasicGenericChemItem.25.name=Raw Intelligence Catalyst +item.BasicGenericChemItem.26.name=Ultimate Plasticizer Catalyst +item.BasicGenericChemItem.27.name=Biological Intelligence Catalyst
\ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/Blank.png b/src/main/resources/assets/miscutils/textures/blocks/Blank.png Binary files differnew file mode 100644 index 0000000000..fdf950d0d7 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/Blank.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png Binary files differnew file mode 100644 index 0000000000..6514089c64 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png.mcmeta new file mode 100644 index 0000000000..cba1c43271 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":2, + "frames": [0,1,2,3,4,5,6, 7, 8, 9, 10, 11, 12, 13, 14, 15] + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulatorStatic.png b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulatorStatic.png Binary files differnew file mode 100644 index 0000000000..29b3a74f34 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulatorStatic.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png Binary files differnew file mode 100644 index 0000000000..14b5e673d0 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png.mcmeta new file mode 100644 index 0000000000..10cf8c6afd --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":1, + "frames": [0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCoreStatic.png b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCoreStatic.png Binary files differnew file mode 100644 index 0000000000..53e0e51c06 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCoreStatic.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.png b/src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.png Binary files differnew file mode 100644 index 0000000000..ad6502026e --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png Binary files differnew file mode 100644 index 0000000000..c5d7fe80b2 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png.mcmeta new file mode 100644 index 0000000000..b0c531fa79 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":1, + "frames": [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulatorStatic.png b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulatorStatic.png Binary files differnew file mode 100644 index 0000000000..40d9b8f31b --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulatorStatic.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png Binary files differnew file mode 100644 index 0000000000..4e2e761fa8 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png.mcmeta new file mode 100644 index 0000000000..9720a23866 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":1, + "frames": [0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCoreStatic.png b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCoreStatic.png Binary files differnew file mode 100644 index 0000000000..c822112126 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCoreStatic.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.png b/src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.png Binary files differnew file mode 100644 index 0000000000..2a5b8aec95 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png b/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png Binary files differnew file mode 100644 index 0000000000..97c32e5988 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png.mcmeta new file mode 100644 index 0000000000..cba1c43271 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":2, + "frames": [0,1,2,3,4,5,6, 7, 8, 9, 10, 11, 12, 13, 14, 15] + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulatorStatic.png b/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulatorStatic.png Binary files differnew file mode 100644 index 0000000000..29b3a74f34 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulatorStatic.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png b/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png Binary files differnew file mode 100644 index 0000000000..9c14ae0abf --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png.mcmeta new file mode 100644 index 0000000000..163c81b6a1 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":1, + "frames": [0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCoreStatic.png b/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCoreStatic.png Binary files differnew file mode 100644 index 0000000000..d4cd1c1dee --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCoreStatic.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png Binary files differnew file mode 100644 index 0000000000..bb8bee0ce7 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png.mcmeta new file mode 100644 index 0000000000..163c81b6a1 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":1, + "frames": [0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCoreStatic.png b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCoreStatic.png Binary files differnew file mode 100644 index 0000000000..ca38aad14f --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCoreStatic.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png Binary files differnew file mode 100644 index 0000000000..bb21d8af98 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png.mcmeta new file mode 100644 index 0000000000..c8988534a9 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation":{ + "frametime":1, + "frames": [0,1,2,3,4,5,6,7] + } +}
\ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipperStatic.png b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipperStatic.png Binary files differnew file mode 100644 index 0000000000..c54c56daaf --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipperStatic.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png b/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png Binary files differnew file mode 100644 index 0000000000..bb27184e51 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png.mcmeta new file mode 100644 index 0000000000..699d8280c3 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png.mcmeta @@ -0,0 +1,39 @@ +{ + "animation": { + "frametime": 2, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + } +} diff --git a/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL_STATIC.png b/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL_STATIC.png Binary files differnew file mode 100644 index 0000000000..de786a5cc9 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL_STATIC.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top.png b/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top.png Binary files differindex 815ad92daf..bf6624a0b1 100644 --- a/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top.png +++ b/src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top.png diff --git a/src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.png b/src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.png Binary files differnew file mode 100644 index 0000000000..32254623d1 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/16.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/16.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/16.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/17.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/17.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/17.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/18.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/18.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/18.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/19.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/19.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/19.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/20.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/20.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/20.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/21.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/21.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/21.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/22.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/22.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/22.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/23.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/23.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/23.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/24.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/24.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/24.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/25.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/25.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/25.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/26.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/26.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/26.png diff --git a/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/27.png b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/27.png Binary files differnew file mode 100644 index 0000000000..22f0a4ff73 --- /dev/null +++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/27.png |