aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--build.gradle27
-rw-r--r--dependencies.gradle11
-rw-r--r--repositories.gradle3
-rw-r--r--src/main/java/gregtech/api/util/GTPP_Recipe.java23
-rw-r--r--src/main/java/gtPlusPlus/core/config/ConfigHandler.java4
-rw-r--r--src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java3
-rw-r--r--src/main/java/gtPlusPlus/core/item/base/BaseItemComponent.java3
-rw-r--r--src/main/java/gtPlusPlus/core/item/base/plates/BaseItemPlateDense.java11
-rw-r--r--src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java40
-rw-r--r--src/main/java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java15
-rw-r--r--src/main/java/gtPlusPlus/core/lib/CORE.java2
-rw-r--r--src/main/java/gtPlusPlus/core/material/Material.java4
-rw-r--r--src/main/java/gtPlusPlus/core/material/MaterialGenerator.java2
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java1030
-rw-r--r--src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java36
-rw-r--r--src/main/java/gtPlusPlus/nei/NEI_GT_Config.java4
-rw-r--r--src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java6
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java13
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/gui/GTPP_UITextures.java7
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java16
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java6
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks5.java62
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java20
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java1245
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java25
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java640
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java53
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java20
-rw-r--r--src/main/resources/assets/miscutils/lang/en_US.lang19
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/Blank.pngbin0 -> 120 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.pngbin0 -> 1131 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png.mcmeta6
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulatorStatic.pngbin0 -> 492 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.pngbin0 -> 1222 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png.mcmeta6
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCoreStatic.pngbin0 -> 645 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.pngbin0 -> 249 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.pngbin0 -> 1627 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png.mcmeta6
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulatorStatic.pngbin0 -> 557 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.pngbin0 -> 1869 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png.mcmeta6
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCoreStatic.pngbin0 -> 613 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.pngbin0 -> 511 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.pngbin0 -> 1309 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png.mcmeta6
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulatorStatic.pngbin0 -> 492 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.pngbin0 -> 1617 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png.mcmeta6
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCoreStatic.pngbin0 -> 607 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.pngbin0 -> 2084 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png.mcmeta6
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCoreStatic.pngbin0 -> 624 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.pngbin0 -> 1593 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png.mcmeta6
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipperStatic.pngbin0 -> 562 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.pngbin0 -> 11243 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png.mcmeta39
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL_STATIC.pngbin0 -> 688 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/TileEntities/machine_top.pngbin822 -> 531 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.pngbin0 -> 3676 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/16.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/17.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/18.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/19.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/20.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/21.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/22.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/23.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/24.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/25.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/26.pngbin0 -> 524 bytes
-rw-r--r--src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/27.pngbin0 -> 524 bytes
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
new file mode 100644
index 0000000000..fdf950d0d7
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/Blank.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png
new file mode 100644
index 0000000000..6514089c64
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulator.png
Binary files differ
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
new file mode 100644
index 0000000000..29b3a74f34
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricManipulatorStatic.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png
new file mode 100644
index 0000000000..14b5e673d0
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCore.png
Binary files differ
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
new file mode 100644
index 0000000000..53e0e51c06
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/CosmicFabricShieldingCoreStatic.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.png b/src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.png
new file mode 100644
index 0000000000..ad6502026e
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/ForceFieldGlass.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png
new file mode 100644
index 0000000000..c5d7fe80b2
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulator.png
Binary files differ
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
new file mode 100644
index 0000000000..40d9b8f31b
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedManipulatorStatic.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png
new file mode 100644
index 0000000000..4e2e761fa8
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCore.png
Binary files differ
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
new file mode 100644
index 0000000000..c822112126
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/InfinityInfusedShieldingCoreStatic.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.png b/src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.png
new file mode 100644
index 0000000000..2a5b8aec95
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/Manipulator_Top.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png b/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png
new file mode 100644
index 0000000000..97c32e5988
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulator.png
Binary files differ
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
new file mode 100644
index 0000000000..29b3a74f34
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/NeutronPulseManipulatorStatic.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png b/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png
new file mode 100644
index 0000000000..9c14ae0abf
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCore.png
Binary files differ
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
new file mode 100644
index 0000000000..d4cd1c1dee
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/NeutronShieldingCoreStatic.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png
new file mode 100644
index 0000000000..bb8bee0ce7
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCore.png
Binary files differ
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
new file mode 100644
index 0000000000..ca38aad14f
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeBendingCoreStatic.png
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png
new file mode 100644
index 0000000000..bb21d8af98
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipper.png
Binary files differ
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
new file mode 100644
index 0000000000..c54c56daaf
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/SpaceTimeContinuumRipperStatic.png
Binary files differ
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
new file mode 100644
index 0000000000..bb27184e51
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL.png
Binary files differ
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
new file mode 100644
index 0000000000..de786a5cc9
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/TileEntities/MACHINE_CASING_QFT_COIL_STATIC.png
Binary files differ
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
index 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
Binary files differ
diff --git a/src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.png b/src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.png
new file mode 100644
index 0000000000..32254623d1
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/blocks/rendering/ForceField.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/16.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/17.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/18.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/19.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/20.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/21.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/22.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/23.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/24.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/25.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/26.png
Binary files differ
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
new file mode 100644
index 0000000000..22f0a4ff73
--- /dev/null
+++ b/src/main/resources/assets/miscutils/textures/items/science/general/MetaItem1/27.png
Binary files differ