diff options
author | Martin Robertz <dream-master@gmx.net> | 2023-04-15 21:48:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-15 21:48:02 +0200 |
commit | f74465e5c858678ed09c0140c72c7d89480d5df3 (patch) | |
tree | 7e7d8956cfe1354255102e1056ebe8e88097c69a | |
parent | d1ec4f813c7182eda8bd9bb00feb2462e537f12e (diff) | |
parent | 9adb11d7c5a88b38bacdacdf7da2c69c9e519248 (diff) | |
download | GT5-Unofficial-f74465e5c858678ed09c0140c72c7d89480d5df3.tar.gz GT5-Unofficial-f74465e5c858678ed09c0140c72c7d89480d5df3.tar.bz2 GT5-Unofficial-f74465e5c858678ed09c0140c72c7d89480d5df3.zip |
Merge pull request #64 from GTNewHorizons/cleanup
Cleanup
31 files changed, 1389 insertions, 925 deletions
diff --git a/build.gradle b/build.gradle index 9027fe62de..055dcee435 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1675624371 +//version: 1680120787 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. @@ -9,13 +9,18 @@ import com.diffplug.blowdryer.Blowdryer import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +import com.gtnewhorizons.retrofuturagradle.ObfuscationAttribute import com.gtnewhorizons.retrofuturagradle.mcp.ReobfuscatedJar +import com.gtnewhorizons.retrofuturagradle.minecraft.RunMinecraftTask import com.matthewprenger.cursegradle.CurseArtifact import com.matthewprenger.cursegradle.CurseRelation import com.modrinth.minotaur.dependencies.ModDependency import com.modrinth.minotaur.dependencies.VersionDependency +import cpw.mods.fml.relauncher.Side +import org.gradle.api.tasks.options.Option; import org.gradle.internal.logging.text.StyledTextOutput.Style import org.gradle.internal.logging.text.StyledTextOutputFactory +import org.gradle.internal.xml.XmlTransformer import org.jetbrains.gradle.ext.* import java.nio.file.Files @@ -23,10 +28,10 @@ import java.nio.file.Paths import java.util.concurrent.TimeUnit import java.util.zip.ZipEntry import java.util.zip.ZipOutputStream +import javax.inject.Inject buildscript { repositories { - mavenLocal() mavenCentral() maven { @@ -47,6 +52,8 @@ buildscript { name 'Scala CI dependencies' url 'https://repo1.maven.org/maven2/' } + + mavenLocal() } } plugins { @@ -58,7 +65,7 @@ plugins { id 'org.jetbrains.kotlin.jvm' version '1.8.0' apply false id 'org.jetbrains.kotlin.kapt' version '1.8.0' apply false id 'com.google.devtools.ksp' version '1.8.0-1.0.9' apply false - id 'org.ajoberstar.grgit' version '4.1.1' // 4.1.1 is the last jvm8 supporting version ,unused, available for addon.gradle + id 'org.ajoberstar.grgit' version '4.1.1' // 4.1.1 is the last jvm8 supporting version, unused, available for addon.gradle id 'com.github.johnrengelman.shadow' version '7.1.2' apply false id 'com.palantir.git-version' version '0.13.0' apply false // 0.13.0 is the last jvm8 supporting version id 'de.undercouch.download' version '5.3.0' @@ -66,7 +73,7 @@ plugins { id 'com.diffplug.spotless' version '6.7.2' apply false id 'com.modrinth.minotaur' version '2.+' apply false id 'com.matthewprenger.cursegradle' version '1.4.0' apply false - id 'com.gtnewhorizons.retrofuturagradle' version '1.1.4' + id 'com.gtnewhorizons.retrofuturagradle' version '1.2.4' } boolean settingsupdated = verifySettingsGradle() settingsupdated = verifyGitAttributes() || settingsupdated @@ -122,6 +129,9 @@ propertyDefaultIfUnset("gradleTokenGroupName", "") propertyDefaultIfUnset("enableModernJavaSyntax", false) // On by default for new projects only propertyDefaultIfUnset("enableGenericInjection", false) // On by default for new projects only +// this is meant to be set using the user wide property file. by default we do nothing. +propertyDefaultIfUnset("ideaOverrideBuildType", "") // Can be nothing, "gradle" or "idea" + project.extensions.add(Blowdryer, "Blowdryer", Blowdryer) // Make blowdryer available in "apply from:" scripts if (!disableSpotless) { apply plugin: 'com.diffplug.spotless' @@ -143,13 +153,21 @@ java { } else { languageVersion.set(projectJavaVersion) } - vendor.set(JvmVendorSpec.ADOPTIUM) + vendor.set(JvmVendorSpec.AZUL) } if (!noPublishedSources) { withSourcesJar() } } +tasks.withType(JavaCompile).configureEach { + options.encoding = "UTF-8" +} + +tasks.withType(ScalaCompile).configureEach { + options.encoding = "UTF-8" +} + pluginManager.withPlugin('org.jetbrains.kotlin.jvm') { // If Kotlin is enabled in the project kotlin { @@ -186,11 +204,21 @@ configurations { } if (enableModernJavaSyntax.toBoolean()) { + repositories { + mavenCentral { + mavenContent { + includeGroup("me.eigenraven.java8unsupported") + } + } + } + dependencies { annotationProcessor 'com.github.bsideup.jabel:jabel-javac-plugin:1.0.0' compileOnly('com.github.bsideup.jabel:jabel-javac-plugin:1.0.0') { transitive = false // We only care about the 1 annotation class } + // Allow using jdk.unsupported classes like sun.misc.Unsafe in the compiled code, working around JDK-8206937. + patchedMinecraft('me.eigenraven.java8unsupported:java-8-unsupported-shim:1.0.0') } tasks.withType(JavaCompile).configureEach { @@ -202,7 +230,7 @@ if (enableModernJavaSyntax.toBoolean()) { javaCompiler.set(javaToolchains.compilerFor { languageVersion.set(JavaLanguageVersion.of(17)) - vendor.set(JvmVendorSpec.ADOPTIUM) + vendor.set(JvmVendorSpec.AZUL) }) } } @@ -234,12 +262,14 @@ if (apiPackage) { } if (accessTransformersFile) { - String targetFile = "src/main/resources/META-INF/" + accessTransformersFile - if (!getFile(targetFile).exists()) { - throw new GradleException("Could not resolve \"accessTransformersFile\"! Could not find " + targetFile) + for (atFile in accessTransformersFile.split(",")) { + String targetFile = "src/main/resources/META-INF/" + atFile.trim() + if (!getFile(targetFile).exists()) { + throw new GradleException("Could not resolve \"accessTransformersFile\"! Could not find " + targetFile) + } + tasks.deobfuscateMergedJarToSrg.accessTransformerFiles.from(targetFile) + tasks.srgifyBinpatchedJar.accessTransformerFiles.from(targetFile) } - tasks.deobfuscateMergedJarToSrg.accessTransformerFiles.from(targetFile) - tasks.srgifyBinpatchedJar.accessTransformerFiles.from(targetFile) } else { boolean atsFound = false for (File at : sourceSets.getByName("main").resources.files) { @@ -367,12 +397,14 @@ minecraft { injectMissingGenerics.set(true) } + username = developmentEnvironmentUserName.toString() + + lwjgl3Version = "3.3.2-SNAPSHOT" + // Enable assertions in the current mod extraRunJvmArguments.add("-ea:${modGroup}") if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { - extraTweakClasses.add("org.spongepowered.asm.launch.MixinTweaker") - if (usesMixinDebug.toBoolean()) { extraRunJvmArguments.addAll([ "-Dmixin.debug.countInjections=true", @@ -401,6 +433,16 @@ configurations.configureEach { } } } + def obfuscationAttr = it.attributes.getAttribute(ObfuscationAttribute.OBFUSCATION_ATTRIBUTE) + if (obfuscationAttr != null && obfuscationAttr.name == ObfuscationAttribute.SRG) { + resolutionStrategy.eachDependency { DependencyResolveDetails details -> + // Remap CoFH core cursemaven dev jar to the obfuscated version for runObfClient/Server + if (details.requested.group == 'curse.maven' && details.requested.name.endsWith('-69162') && details.requested.version == '2388751') { + details.useVersion '2388750' + details.because 'Pick obfuscated jar' + } + } + } } // Ensure tests have access to minecraft classes @@ -430,8 +472,9 @@ repositories.configureEach { repo -> apply from: 'repositories.gradle' configurations { + runtimeClasspath.extendsFrom(runtimeOnlyNonPublishable) + testRuntimeClasspath.extendsFrom(runtimeOnlyNonPublishable) for (config in [compileClasspath, runtimeClasspath, testCompileClasspath, testRuntimeClasspath]) { - config.extendsFrom(runtimeOnlyNonPublishable) if (usesShadowedDependencies.toBoolean()) { config.extendsFrom(shadowImplementation) // TODO: remove Compile after all uses are refactored to Implementation @@ -476,12 +519,11 @@ repositories { url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" allowInsecureProtocol = true } - if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { - if (usesMixinDebug.toBoolean()) { - maven { - name = "Fabric Maven" - url = "https://maven.fabricmc.net/" - } + maven { + name 'sonatype' + url 'https://oss.sonatype.org/content/repositories/snapshots/' + content { + includeGroup "org.lwjgl" } } if (includeWellKnownRepositories.toBoolean()) { @@ -515,29 +557,49 @@ repositories { } } +def mixinProviderGroup = "io.github.legacymoddingmc" +def mixinProviderModule = "unimixins" +def mixinProviderVersion = "0.1.6" +def mixinProviderSpecNoClassifer = "${mixinProviderGroup}:${mixinProviderModule}:${mixinProviderVersion}" +def mixinProviderSpec = "${mixinProviderSpecNoClassifer}:dev" + dependencies { if (usesMixins.toBoolean()) { 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('com.gtnewhorizon:gtnhmixins:2.1.12:processor') + annotationProcessor(mixinProviderSpec) if (usesMixinDebug.toBoolean()) { runtimeOnlyNonPublishable('org.jetbrains:intellij-fernflower:1.2.1.16') } } - if (usesMixins.toBoolean() || forceEnableMixins.toBoolean()) { - implementation('com.gtnewhorizon:gtnhmixins:2.1.12') + if (usesMixins.toBoolean()) { + implementation(mixinProviderSpec) + } else if (forceEnableMixins.toBoolean()) { + runtimeOnlyNonPublishable(mixinProviderSpec) } } pluginManager.withPlugin('org.jetbrains.kotlin.kapt') { if (usesMixins.toBoolean()) { dependencies { - kapt('com.gtnewhorizon:gtnhmixins:2.1.12:processor') + kapt(mixinProviderSpec) } } } +// Replace old mixin mods with unimixins +// https://docs.gradle.org/8.0.2/userguide/resolution_rules.html#sec:substitution_with_classifier +configurations.all { + resolutionStrategy.dependencySubstitution { + substitute module('com.gtnewhorizon:gtnhmixins') using module(mixinProviderSpecNoClassifer) withClassifier("dev") because("Unimixins replaces other mixin mods") + substitute module('com.github.GTNewHorizons:Mixingasm') using module(mixinProviderSpecNoClassifer) withClassifier("dev") because("Unimixins replaces other mixin mods") + substitute module('com.github.GTNewHorizons:SpongePoweredMixin') using module(mixinProviderSpecNoClassifer) withClassifier("dev") because("Unimixins replaces other mixin mods") + substitute module('com.github.GTNewHorizons:SpongeMixins') using module(mixinProviderSpecNoClassifer) withClassifier("dev") because("Unimixins replaces other mixin mods") + substitute module('io.github.legacymoddingmc:unimixins') using module(mixinProviderSpecNoClassifer) withClassifier("dev") because("Our previous unimixins upload was missing the dev classifier") + } +} + apply from: 'dependencies.gradle' def mixingConfigRefMap = 'mixins.' + modId + '.refmap.json' @@ -637,6 +699,142 @@ tasks.named("processResources", ProcessResources).configure { } } +ext.java17Toolchain = (JavaToolchainSpec spec) -> { + spec.languageVersion.set(JavaLanguageVersion.of(17)) + spec.vendor.set(JvmVendorSpec.matching("jetbrains")) +} + +ext.java17DependenciesCfg = configurations.create("java17Dependencies") { + extendsFrom(configurations.getByName("runtimeClasspath")) // Ensure consistent transitive dependency resolution + canBeConsumed = false +} +ext.java17PatchDependenciesCfg = configurations.create("java17PatchDependencies") { + canBeConsumed = false +} + +dependencies { + def lwjgl3ifyVersion = '1.3.3' + def asmVersion = '9.4' + if (modId != 'lwjgl3ify') { + java17Dependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}") + } + if (modId != 'hodgepodge') { + java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.2.4') + } + + java17PatchDependencies('net.minecraft:launchwrapper:1.15') {transitive = false} + java17PatchDependencies("org.ow2.asm:asm:${asmVersion}") + java17PatchDependencies("org.ow2.asm:asm-commons:${asmVersion}") + java17PatchDependencies("org.ow2.asm:asm-tree:${asmVersion}") + java17PatchDependencies("org.ow2.asm:asm-analysis:${asmVersion}") + java17PatchDependencies("org.ow2.asm:asm-util:${asmVersion}") + java17PatchDependencies('org.ow2.asm:asm-deprecated:7.1') + java17PatchDependencies("org.apache.commons:commons-lang3:3.12.0") + java17PatchDependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}:forgePatches") {transitive = false} +} + +ext.java17JvmArgs = [ + // Java 9+ support + "--illegal-access=warn", + "-Djava.security.manager=allow", + "-Dfile.encoding=UTF-8", + "--add-opens", "java.base/jdk.internal.loader=ALL-UNNAMED", + "--add-opens", "java.base/java.net=ALL-UNNAMED", + "--add-opens", "java.base/java.nio=ALL-UNNAMED", + "--add-opens", "java.base/java.io=ALL-UNNAMED", + "--add-opens", "java.base/java.lang=ALL-UNNAMED", + "--add-opens", "java.base/java.lang.reflect=ALL-UNNAMED", + "--add-opens", "java.base/java.text=ALL-UNNAMED", + "--add-opens", "java.base/java.util=ALL-UNNAMED", + "--add-opens", "java.base/jdk.internal.reflect=ALL-UNNAMED", + "--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", + "--add-opens", "jdk.naming.dns/com.sun.jndi.dns=ALL-UNNAMED,java.naming", + "--add-opens", "java.desktop/sun.awt.image=ALL-UNNAMED", + "--add-modules", "jdk.dynalink", + "--add-opens", "jdk.dynalink/jdk.dynalink.beans=ALL-UNNAMED", + "--add-modules", "java.sql.rowset", + "--add-opens", "java.sql.rowset/javax.sql.rowset.serial=ALL-UNNAMED" +] + +ext.hotswapJvmArgs = [ + // DCEVM advanced hot reload + "-XX:+AllowEnhancedClassRedefinition", + "-XX:HotswapAgent=fatjar" +] + +ext.setupHotswapAgentTask = tasks.register("setupHotswapAgent") { + group = "GTNH Buildscript" + description = "Installs a recent version of HotSwapAgent into the Java 17 JetBrains runtime directory" + def hsaUrl = 'https://github.com/HotswapProjects/HotswapAgent/releases/download/1.4.2-SNAPSHOT/hotswap-agent-1.4.2-SNAPSHOT.jar' + def targetFolderProvider = javaToolchains.launcherFor(java17Toolchain).map {it.metadata.installationPath.dir("lib/hotswap")} + def targetFilename = "hotswap-agent.jar" + onlyIf { + !targetFolderProvider.get().file(targetFilename).asFile.exists() + } + doLast { + def targetFolder = targetFolderProvider.get() + targetFolder.asFile.mkdirs() + download.run { + src hsaUrl + dest targetFolder.file(targetFilename).asFile + overwrite false + tempAndMove true + } + } +} + +public abstract class RunHotswappableMinecraftTask extends RunMinecraftTask { + // IntelliJ doesn't seem to allow commandline arguments so we also support an env variable + private boolean enableHotswap = Boolean.valueOf(System.getenv("HOTSWAP")); + + @Input + public boolean getEnableHotswap() { return enableHotswap } + @Option(option = "hotswap", description = "Enables HotSwapAgent for enhanced class reloading under a debugger") + public boolean setEnableHotswap(boolean enable) { enableHotswap = enable } + + @Inject + public RunHotswappableMinecraftTask(Side side, String superTask, org.gradle.api.invocation.Gradle gradle) { + super(side, gradle) + + this.lwjglVersion = 3 + this.javaLauncher = project.javaToolchains.launcherFor(project.java17Toolchain) + this.extraJvmArgs.addAll(project.java17JvmArgs) + this.extraJvmArgs.addAll(project.provider(() -> enableHotswap ? project.hotswapJvmArgs : [])) + + this.classpath(project.java17PatchDependenciesCfg) + if (side == Side.CLIENT) { + this.classpath(project.minecraftTasks.lwjgl3Configuration) + } + // Use a raw provider instead of map to not create a dependency on the task + this.classpath(project.provider(() -> project.tasks.named(superTask, RunMinecraftTask).get().classpath)) + this.classpath.filter { file -> + !file.path.contains("2.9.4-nightly-20150209") // Remove lwjgl2 + } + this.classpath(project.java17DependenciesCfg) + } +} + +def runClient17Task = tasks.register("runClient17", RunHotswappableMinecraftTask, Side.CLIENT, "runClient") +runClient17Task.configure { + setup(project) + group = "Modded Minecraft" + description = "Runs the modded client using Java 17, lwjgl3ify and Hodgepodge" + dependsOn(setupHotswapAgentTask, mcpTasks.launcherSources.classesTaskName, minecraftTasks.taskDownloadVanillaAssets, mcpTasks.taskPackagePatchedMc, 'jar') + mainClass = "GradleStart" + username = minecraft.username + userUUID = minecraft.userUUID +} + +def runServer17Task = tasks.register("runServer17", RunHotswappableMinecraftTask, Side.SERVER, "runServer") +runServer17Task.configure { + setup(project) + group = "Modded Minecraft" + description = "Runs the modded server using Java 17, lwjgl3ify and Hodgepodge" + dependsOn(setupHotswapAgentTask, mcpTasks.launcherSources.classesTaskName, minecraftTasks.taskDownloadVanillaAssets, mcpTasks.taskPackagePatchedMc, 'jar') + mainClass = "GradleStartServer" + extraArgs.add("nogui") +} + def getManifestAttributes() { def manifestAttributes = [:] if (!containsMixinsAndOrCoreModOnly.toBoolean() && (usesMixins.toBoolean() || coreModClass)) { @@ -671,7 +869,7 @@ if (usesShadowedDependencies.toBoolean()) { tasks.register('relocateShadowJar', ConfigureShadowRelocation) { target = tasks.shadowJar prefix = modGroup + ".shadow" - enabled = minimizeShadowedDependencies.toBoolean() + enabled = relocateShadowedDependencies.toBoolean() } tasks.named("shadowJar", ShadowJar).configure { manifest { @@ -687,7 +885,7 @@ if (usesShadowedDependencies.toBoolean()) { project.configurations.shadeCompile ] archiveClassifier.set('dev') - if (minimizeShadowedDependencies.toBoolean()) { + if (relocateShadowedDependencies.toBoolean()) { dependsOn(relocateShadowJar) } } @@ -706,7 +904,7 @@ if (usesShadowedDependencies.toBoolean()) { javaComponent.withVariantsFromConfiguration(configurations.shadowRuntimeElements) { skip() } - for (runTask in ["runClient", "runServer"]) { + for (runTask in ["runClient", "runServer", "runClient17", "runServer17"]) { tasks.named(runTask).configure { dependsOn("shadowJar") } @@ -748,6 +946,19 @@ idea { } project { settings { + if (ideaOverrideBuildType != "") { + delegateActions { + if ("gradle".equalsIgnoreCase(ideaOverrideBuildType)) { + delegateBuildRunToGradle = true + testRunner = org.jetbrains.gradle.ext.ActionDelegationConfig.TestRunner.GRADLE + } else if ("idea".equalsIgnoreCase(ideaOverrideBuildType)) { + delegateBuildRunToGradle = false + testRunner = org.jetbrains.gradle.ext.ActionDelegationConfig.TestRunner.PLATFORM + } else { + throw GradleScriptException('Accepted value for ideaOverrideBuildType is one of gradle or idea.') + } + } + } runConfigurations { "1. Run Client"(Gradle) { taskNames = ["runClient"] @@ -755,6 +966,20 @@ idea { "2. Run Server"(Gradle) { taskNames = ["runServer"] } + "1a. Run Client (Java 17)"(Gradle) { + taskNames = ["runClient17"] + } + "2a. Run Server (Java 17)"(Gradle) { + taskNames = ["runServer17"] + } + "1b. Run Client (Java 17, Hotswap)"(Gradle) { + taskNames = ["runClient17"] + envs = ["HOTSWAP": "true"] + } + "2b. Run Server (Java 17, Hotswap)"(Gradle) { + taskNames = ["runServer17"] + envs = ["HOTSWAP": "true"] + } "3. Run Obfuscated Client"(Gradle) { taskNames = ["runObfClient"] } @@ -772,7 +997,7 @@ idea { } "Run Client (IJ Native)"(Application) { mainClass = "GradleStart" - moduleName = project.name + ".main" + moduleName = project.name + ".ideVirtualMain" afterEvaluate { workingDirectory = tasks.runClient.workingDir.absolutePath programParameters = tasks.runClient.calculateArgs(project).collect { '"' + it + '"' }.join(' ') @@ -783,7 +1008,7 @@ idea { } "Run Server (IJ Native)"(Application) { mainClass = "GradleStartServer" - moduleName = project.name + ".main" + moduleName = project.name + ".ideVirtualMain" afterEvaluate { workingDirectory = tasks.runServer.workingDir.absolutePath programParameters = tasks.runServer.calculateArgs(project).collect { '"' + it + '"' }.join(' ') @@ -795,11 +1020,57 @@ idea { } compiler.javac { afterEvaluate { + javacAdditionalOptions = "-encoding utf8" moduleJavacAdditionalOptions = [ (project.name + ".main"): tasks.compileJava.options.compilerArgs.collect { '"' + it + '"' }.join(' ') ] } } + withIDEADir { File ideaDir -> + if (!ideaDir.path.contains(".idea")) { + // If an .ipr file exists, the project root directory is passed here instead of the .idea subdirectory + ideaDir = new File(ideaDir, ".idea") + } + if (ideaDir.isDirectory()) { + def miscFile = new File(ideaDir, "misc.xml") + if (miscFile.isFile()) { + boolean dirty = false + def miscTransformer = new XmlTransformer() + miscTransformer.addAction { root -> + Node rootNode = root.asNode() + def rootManager = rootNode + .component.find { it.@name == 'ProjectRootManager' } + if (!rootManager) { + rootManager = rootNode.appendNode('component', ['name': 'ProjectRootManager', 'version': '2']) + dirty = true + } + def output = rootManager.output + if (!output) { + output = rootManager.appendNode('output') + dirty = true + } + if (!output.@url) { + // Only modify the output url if it doesn't yet have one, or if the existing one is blank somehow. + // This is a sensible default for most setups + output.@url = 'file://$PROJECT_DIR$/build/ideaBuild' + dirty = true + } + } + def result = miscTransformer.transform(miscFile.text) + if (dirty) { + miscFile.write(result) + } + } else { + miscFile.text = """<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectRootManager" version="2"> + <output url="file://\$PROJECT_DIR\$/out" /> + </component> +</project> +""" + } + } + } } } } @@ -869,7 +1140,7 @@ if (modrinthProjectId.size() != 0 && System.getenv("MODRINTH_TOKEN") != null) { } } if (usesMixins.toBoolean()) { - addModrinthDep("required", "project", "gtnhmixins") + addModrinthDep("required", "project", "unimixins") } tasks.modrinth.dependsOn(build) tasks.publish.dependsOn(tasks.modrinth) @@ -913,7 +1184,7 @@ if (curseForgeProjectId.size() != 0 && System.getenv("CURSEFORGE_TOKEN") != null } } if (usesMixins.toBoolean()) { - addCurseForgeRelation("requiredDependency", "gtnhmixins") + addCurseForgeRelation("requiredDependency", "unimixins") } tasks.curseforge.dependsOn(build) tasks.publish.dependsOn(tasks.curseforge) @@ -947,10 +1218,21 @@ def addCurseForgeRelation(String type, String name) { } // Updating + +def buildscriptGradleVersion = "8.0.2" + +tasks.named('wrapper', Wrapper).configure { + gradleVersion = buildscriptGradleVersion +} + tasks.register('updateBuildScript') { group = 'GTNH Buildscript' description = 'Updates the build script to the latest version' + if (gradle.gradleVersion != buildscriptGradleVersion && !Boolean.getBoolean('DISABLE_BUILDSCRIPT_GRADLE_UPDATE')) { + dependsOn('wrapper') + } + doLast { if (performBuildScriptUpdate()) return @@ -963,6 +1245,9 @@ if (!project.getGradle().startParameter.isOffline() && !Boolean.getBoolean('DISA performBuildScriptUpdate() } else { out.style(Style.SuccessHeader).println("Build script update available! Run 'gradle updateBuildScript'") + if (gradle.gradleVersion != buildscriptGradleVersion) { + out.style(Style.SuccessHeader).println("updateBuildScript can update gradle from ${gradle.gradleVersion} to ${buildscriptGradleVersion}\n") + } } } diff --git a/dependencies.gradle b/dependencies.gradle index 5da2f08d65..84a337aa6e 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,10 +1,10 @@ // Add your dependencies here dependencies { - compile 'com.github.GTNewHorizons:GT5-Unofficial:5.09.42.09:dev' - compile 'com.github.GTNewHorizons:TecTech:5.0.89:dev' - compile 'com.github.GTNewHorizons:bartworks:0.5.151:dev' - compile 'com.github.GTNewHorizons:StructureLib:1.2.1:dev' + compile 'com.github.GTNewHorizons:GT5-Unofficial:5.09.42.52:dev' + compile 'com.github.GTNewHorizons:TecTech:5.1.7:dev' + compile 'com.github.GTNewHorizons:bartworks:0.6.9:dev' + compile 'com.github.GTNewHorizons:StructureLib:1.2.6:dev' compile 'com.github.GTNewHorizons:ThaumicTinkerer:2.6.11:dev' compile 'thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev' diff --git a/src/main/java/client/ClientProxy.java b/src/main/java/client/ClientProxy.java index 1423e34963..18def75a9e 100644 --- a/src/main/java/client/ClientProxy.java +++ b/src/main/java/client/ClientProxy.java @@ -27,7 +27,5 @@ public class ClientProxy extends CommonProxy { @Override public void init(final FMLInitializationEvent e) { super.init(e); - // Register Simple Block Renderers - // RenderingRegistry.registerBlockHandler(ConduitRenderer.getInstance()); } } diff --git a/src/main/java/common/Blocks.java b/src/main/java/common/Blocks.java index 16485925c2..3fccd0604c 100644 --- a/src/main/java/common/Blocks.java +++ b/src/main/java/common/Blocks.java @@ -4,33 +4,25 @@ import kekztech.KekzCore; import net.minecraft.block.Block; -import common.blocks.*; +import common.blocks.Block_GDCUnit; +import common.blocks.Block_IchorJar; +import common.blocks.Block_LapotronicEnergyUnit; +import common.blocks.Block_LargeHexPlate; +import common.blocks.Block_TFFTStorageField; +import common.blocks.Block_ThaumiumReinforcedJar; +import common.blocks.Block_YSZUnit; public class Blocks { public static Block yszUnit; public static Block gdcUnit; - public static Block tfftStorageField; - public static Block reactorChamberOFF; public static Block reactorChamberON; public static Block reactorControlRod; - - public static Block itemServerDrive; - public static Block itemServerRackCasing; - public static Block itemServerIOPort; - - public static Block itemProxyCable; - public static Block itemProxySource; - public static Block itemProxyEndpoint; - public static Block jarThaumiumReinforced; public static Block jarIchor; - public static Block lscLapotronicEnergyUnit; - public static Block beamTransmitter; - public static Block spaceElevatorStructure; public static Block spaceElevatorCapacitor; public static Block spaceElevatorTether; @@ -42,11 +34,8 @@ public class Blocks { registerBlocks_SOFC(); registerBlocks_TFFT(); - // registerBlocks_Nuclear(); - // registerBlocks_ItemProxy(); registerBlocks_Jars(); registerBlocks_LSC(); - // registerBlocks_SpaceElevator(); registerBlocks_Cosmetics(); KekzCore.LOGGER.info("Finished registering blocks"); @@ -61,14 +50,6 @@ public class Blocks { tfftStorageField = Block_TFFTStorageField.registerBlock(); } - /* - * private static void registerBlocks_Nuclear() { reactorChamberOFF = Block_ReactorChamber_OFF.registerBlock(); - * reactorChamberON = Block_ReactorChamber_ON.registerBlock(); reactorControlRod = Block_ControlRod.registerBlock(); - * } private static void registerBlocks_ItemProxy() { itemProxyCable = Block_ItemProxyCable.registerBlock(); - * itemProxySource = Block_ItemProxySource.registerBlock(); itemProxyEndpoint = - * Block_ItemProxyEndpoint.registerBlock(); } - */ - private static void registerBlocks_Jars() { jarThaumiumReinforced = Block_ThaumiumReinforcedJar.registerBlock(); jarIchor = Block_IchorJar.registerBlock(); @@ -76,15 +57,8 @@ public class Blocks { private static void registerBlocks_LSC() { lscLapotronicEnergyUnit = Block_LapotronicEnergyUnit.registerBlock(); - // beamTransmitter = Block_BeamTransmitter.registerBlock(); } - /* - * private static void registerBlocks_SpaceElevator() { spaceElevatorStructure = - * Block_SpaceElevator.registerBlock(); spaceElevatorCapacitor = Block_SpaceElevatorCapacitor.registerBlock(); - * spaceElevatorTether = Block_SpaceElevatorTether.registerBlock(); } - */ - private static void registerBlocks_Cosmetics() { largeHexPlate = Block_LargeHexPlate.registerBlock(); } diff --git a/src/main/java/common/Recipes.java b/src/main/java/common/Recipes.java index 44eb36e642..21149e1406 100644 --- a/src/main/java/common/Recipes.java +++ b/src/main/java/common/Recipes.java @@ -1,460 +1,60 @@ package common; +import static gregtech.api.enums.Mods.ThaumicTinkerer; + import java.util.HashMap; -import kekztech.Items; import kekztech.KekzCore; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; import thaumcraft.api.ItemApi; import thaumcraft.api.ThaumcraftApi; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; import thaumcraft.api.crafting.InfusionRecipe; -import util.Util; import com.github.bartimaeusnek.bartworks.system.material.GT_Enhancement.LuVTierEnhancer; -import com.github.bartimaeusnek.bartworks.util.BW_Util; -import com.github.technus.tectech.recipe.TT_recipeAdder; -import common.items.ErrorItem; -import common.items.MetaItem_CraftingComponent; +import common.recipeLoaders.AlloySmelter; +import common.recipeLoaders.Assembler; +import common.recipeLoaders.AssemblyLine; +import common.recipeLoaders.ChemicalReactor; +import common.recipeLoaders.Crafting; +import common.recipeLoaders.FormingPress; +import common.recipeLoaders.Mixer; +import common.recipeLoaders.ResearchableAssemblyLine; +import common.recipeLoaders.Unpackager; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.*; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; public class Recipes { public static final HashMap<String, InfusionRecipe> infusionRecipes = new HashMap<>(); - static Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null - ? FluidRegistry.getFluid("molten.indalloy140") - : FluidRegistry.getFluid("molten.solderingalloy"); - static Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null - ? FluidRegistry.getFluid("molten.mutatedlivingsolder") - : FluidRegistry.getFluid("molten.solderingalloy"); - - static Fluid radoxPoly = FluidRegistry.getFluid("molten.radoxpoly") != null - ? FluidRegistry.getFluid("molten.radoxpoly") - : FluidRegistry.getFluid("molten.polybenzimidazole"); public static void postInit() { KekzCore.LOGGER.info("Registering recipes..."); - registerRecipes_TFFT(); - registerRecipes_SOFC(); - // registerRecipes_Nuclear(); - registerRecipes_Jars(); - registerRecipes_LSC(); - // registerRecipes_SpaceElevator(); - registerRecipes_Cosmetics(); - - KekzCore.LOGGER.info("Finished registering recipes"); - } - - private static void registerRecipes_TFFT() { - - // TFFT Controller - GT_ModHandler.addCraftingRecipe( - TileEntities.tfft.getStackForm(1), - new Object[] { "ESE", "FTF", "CVC", 'E', - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.EnderEye, 1), 'S', - ItemList.Cover_Screen.get(1), 'F', ItemList.Field_Generator_LV.get(1), 'T', - new ItemStack(Blocks.tfftStorageField, 1), 'C', "circuitData", 'V', - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.VibrantAlloy, 1), }); - - // TFFT Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(6), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DarkSteel, 3), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnderPearl, 3), }, - Materials.Polytetrafluoroethylene.getMolten(144), - new ItemStack(Blocks.tfftStorageField, 1), - 100, - BW_Util.getMachineVoltageFromTier(3)); - - // TFFT Multi Hatch - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_HV.get(1), ItemList.Cover_FluidStorageMonitor.get(1), - ItemList.Field_Generator_LV.get(4), - GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Polytetrafluoroethylene, 25) }, - Materials.Plastic.getMolten(432), - TileEntities.tfftHatch.getStackForm(1), - 400, - BW_Util.getMachineVoltageFromTier(3)); - - // TFFTStorageField1 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(6), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CrudeSteel, 1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CrudeSteel, 6), - GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Steel, 3), - ItemList.FluidRegulator_LV.get(1) }, - Materials.Glass.getMolten(144), - new ItemStack(Blocks.tfftStorageField, 1, 1), - 100, - BW_Util.getMachineVoltageFromTier(3)); - - // TFFTStorageField2 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(6), ItemList.Casing_Tank_1.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnergeticSilver, 6), - GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Plastic, 3), - ItemList.FluidRegulator_MV.get(1) }, - Materials.Plastic.getMolten(288), - new ItemStack(Blocks.tfftStorageField, 1, 2), - 200, - BW_Util.getMachineVoltageFromTier(3)); - - // TFFTStorageField3 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(6), ItemList.Casing_Tank_3.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VividAlloy, 6), - GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.StainlessSteel, 3), - ItemList.Field_Generator_LV.get(1), ItemList.FluidRegulator_HV.get(1) }, - Materials.Plastic.getMolten(432), - new ItemStack(Blocks.tfftStorageField, 1, 3), - 400, - BW_Util.getMachineVoltageFromTier(3)); - - // TFFTStorageField4 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(6), ItemList.Casing_Tank_5.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Enderium, 6), - GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Polytetrafluoroethylene, 3), - ItemList.Field_Generator_MV.get(2), ItemList.FluidRegulator_EV.get(1) }, - Materials.Epoxid.getMolten(864), - new ItemStack(Blocks.tfftStorageField, 1, 4), - 400, - BW_Util.getMachineVoltageFromTier(4)); - - // TFFTStorageField5 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(6), ItemList.Casing_Tank_7.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CrystallineAlloy, 6), - GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Enderium, 3), - ItemList.Field_Generator_HV.get(4), ItemList.FluidRegulator_IV.get(1) }, - Materials.Epoxid.getMolten(1152), - new ItemStack(Blocks.tfftStorageField, 1, 5), - 400, - BW_Util.getMachineVoltageFromTier(5)); - - // TFFTStorageField6 - GT_Values.RA.addAssemblylineRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 5), - 40000, - new ItemStack[] { ItemList.Casing_Tank_7.get(4), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.CrystallinePinkSlime, 6), - GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Naquadah, 3), - GT_ModHandler.getModItem("dreamcraft", "item.ChromeBars", 6), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Quantium, 6), - ItemList.Field_Generator_EV.get(8), ItemList.FluidRegulator_LuV.get(1), - GT_ModHandler.getModItem("dreamcraft", "item.EngineeringProcessorFluidEmeraldCore", 4) }, - new FluidStack[] { Materials.Enderium.getMolten(1440), Materials.Polybenzimidazole.getMolten(1584) }, - new ItemStack(Blocks.tfftStorageField, 1, 6), - 600, - BW_Util.getMachineVoltageFromTier(6)); - - // TFFTStorageField7 - GT_Values.RA.addAssemblylineRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 6), - 80000, - new ItemStack[] { ItemList.Casing_Tank_10.get(16), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.MelodicAlloy, 6), - GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.NetherStar, 3), - GT_ModHandler.getModItem("dreamcraft", "item.OsmiumBars", 6), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.MysteriousCrystal, 6), - ItemList.Field_Generator_IV.get(16), ItemList.Field_Generator_LuV.get(4), - ItemList.FluidRegulator_UV.get(1), - GT_ModHandler.getModItem("dreamcraft", "item.EngineeringProcessorFluidEmeraldCore", 16) }, - new FluidStack[] { Materials.CrystallineAlloy.getMolten(2880), - Materials.Polybenzimidazole.getMolten(2016) }, - new ItemStack(Blocks.tfftStorageField, 1, 7), - 600, - BW_Util.getMachineVoltageFromTier(8)); - - // TFFTStorageField8 - GT_Values.RA.addAssemblylineRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 7), - 120000, - new ItemStack[] { ItemList.Quantum_Tank_IV.get(1), - GT_ModHandler.getModItem("Avaritia", "Neutronium_Compressor", 1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.StellarAlloy, 6), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.StellarAlloy, 6), - GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.DraconiumAwakened, 3), - GT_ModHandler.getModItem("dreamcraft", "item.NeutroniumBars", 6), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.InfinityCatalyst, 6), - ItemList.Field_Generator_ZPM.get(16), ItemList.Field_Generator_UV.get(4), - GT_ModHandler.getModItem("GoodGenerator", "huiCircuit", 4, 2), - GT_ModHandler - .getModItem("universalsingularities", "universal.tinkersConstruct.singularity", 1, 4) }, - new FluidStack[] { Materials.CrystallinePinkSlime.getMolten(4320), new FluidStack(radoxPoly, 2880) }, - new ItemStack(Blocks.tfftStorageField, 1, 8), - 600, - BW_Util.getMachineVoltageFromTier(10)); - - // TFFTStorageField9 - GT_Values.RA.addAssemblylineRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 8), - 160000, - new ItemStack[] { ItemList.Quantum_Tank_IV.get(4), - GT_ModHandler.getModItem("Avaritia", "Neutronium_Compressor", 2), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TranscendentMetal, 6), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TranscendentMetal, 6), - GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Infinity, 3), - ItemList.EnergisedTesseract.get(1), - GT_ModHandler.getModItem("miscutils", "itemRotorHypogen", 6), - ItemList.Field_Generator_UHV.get(16), ItemList.Field_Generator_UEV.get(4), - GT_ModHandler.getModItem("GoodGenerator", "huiCircuit", 4, 3), - GT_ModHandler - .getModItem("universalsingularities", "universal.tinkersConstruct.singularity", 1, 4) }, - new FluidStack[] { Materials.MelodicAlloy.getMolten(5760), new FluidStack(radoxPoly, 3456) }, - new ItemStack(Blocks.tfftStorageField, 1, 9), - 600, - BW_Util.getMachineVoltageFromTier(12)); - - // TFFTStorageField10 - GT_Values.RA.addAssemblylineRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 9), - 200000, - new ItemStack[] { ItemList.Quantum_Tank_IV.get(16), - GT_ModHandler.getModItem("Avaritia", "Neutronium_Compressor", 4), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 6), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 6), - GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.SpaceTime, 3), - ItemList.EnergisedTesseract.get(6), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.SpaceTime, 6), - ItemList.Field_Generator_UEV.get(16), ItemList.Field_Generator_UIV.get(4), - GT_ModHandler.getModItem("GoodGenerator", "huiCircuit", 4, 4), - GT_ModHandler.getModItem("GoodGenerator", "huiCircuit", 4, 4), - GT_ModHandler.getModItem("EnderIO", "itemBasicCapacitor", 64, 6), - GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1) }, - new FluidStack[] { Materials.StellarAlloy.getMolten(7200), new FluidStack(radoxPoly, 4608) }, - new ItemStack(Blocks.tfftStorageField, 1, 10), - 600, - BW_Util.getMachineVoltageFromTier(13)); - - // Recycling - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CrudeSteel, 1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CrudeSteel, 6), - 100, - BW_Util.getMachineVoltageFromTier(3)); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 2), - ItemList.Casing_Tank_1.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnergeticSilver, 6), - 100, - BW_Util.getMachineVoltageFromTier(3)); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 3), - ItemList.Casing_Tank_3.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VividAlloy, 6), - 100, - BW_Util.getMachineVoltageFromTier(3)); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 4), - ItemList.Casing_Tank_5.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Enderium, 6), - 100, - BW_Util.getMachineVoltageFromTier(3)); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 5), - ItemList.Casing_Tank_7.get(1), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CrystallineAlloy, 6), - 100, - BW_Util.getMachineVoltageFromTier(3)); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 6), - ItemList.Casing_Tank_7.get(4), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.CrystallinePinkSlime, 6), - 100, - BW_Util.getMachineVoltageFromTier(3)); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 7), - ItemList.Casing_Tank_10.get(16), - GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.MelodicAlloy, 6), - 100, - BW_Util.getMachineVoltageFromTier(3)); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 8), - ItemList.Quantum_Tank_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.StellarAlloy, 12), - 100, - BW_Util.getMachineVoltageFromTier(3)); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 9), - ItemList.Quantum_Tank_IV.get(4), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TranscendentMetal, 12), - 100, - BW_Util.getMachineVoltageFromTier(3)); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.tfftStorageField, 1, 10), - ItemList.Quantum_Tank_IV.get(16), - GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 12), - 100, - BW_Util.getMachineVoltageFromTier(3)); - } - - private static void registerRecipes_SOFC() { - - final MetaItem_CraftingComponent craftingItem = MetaItem_CraftingComponent.getInstance(); - - // Controller - final Object[] mk1_recipe = { "CCC", "PHP", "FBL", 'C', OrePrefixes.circuit.get(Materials.Advanced), 'P', - ItemList.Electric_Pump_HV.get(1L), 'H', ItemList.Hull_HV.get(1L), 'F', - GT_OreDictUnificator.get(OrePrefixes.pipeSmall, Materials.StainlessSteel, 1), 'B', - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Gold, 1), 'L', - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.StainlessSteel, 1) }; - GT_ModHandler.addCraftingRecipe(TileEntities.sofc1.getStackForm(1), mk1_recipe); - final Object[] mk2_recipe = { "CCC", "PHP", "FBL", 'C', OrePrefixes.circuit.get(Materials.Master), 'P', - ItemList.Electric_Pump_IV.get(1L), 'H', ItemList.Hull_IV.get(1L), 'F', - GT_OreDictUnificator.get(OrePrefixes.pipeSmall, Materials.Ultimate, 1), 'B', - Util.getStackofAmountFromOreDict("wireGt04SuperconductorEV", 1), 'L', - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Ultimate, 1) }; - GT_ModHandler.addCraftingRecipe(TileEntities.sofc2.getStackForm(1), mk2_recipe); - - // Blocks - final ItemStack[] yszUnit = { GT_Utility.getIntegratedCircuit(6), - craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicPlate.getMetaID(), 4), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Yttrium, 1), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 1), - ItemList.Electric_Motor_HV.get(1L), }; - GT_Values.RA.addAssemblerRecipe( - yszUnit, - Materials.Hydrogen.getGas(4000), - new ItemStack(Blocks.yszUnit, 1), - 1200, - 480); - final ItemStack[] gdcUnit = { GT_Utility.getIntegratedCircuit(6), - craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicPlate.getMetaID(), 8), - GT_OreDictUnificator - .get(OrePrefixes.frameGt, Materials.Gadolinium, new ItemStack(ErrorItem.getInstance(), 1), 1), - GT_OreDictUnificator - .get(OrePrefixes.rotor, Materials.Desh, new ItemStack(ErrorItem.getInstance(), 1), 1), - ItemList.Electric_Motor_IV.get(1L), }; - GT_Values.RA.addAssemblerRecipe( - gdcUnit, - Materials.Hydrogen.getGas(16000), - new ItemStack(Blocks.gdcUnit, 1), - 2400, - 1920); + LuVTierEnhancer.addToBlackListForOsmiridiumReplacement(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2)); - // Items - GT_Values.RA.addAlloySmelterRecipe( - craftingItem.getStackOfAmountFromDamage( - Items.YSZCeramicDust.getMetaID(), - Loader.isModLoaded("bartworks") ? 3 : 10), - ItemList.Shape_Mold_Plate.get(0), - craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicPlate.getMetaID(), 1), - 400, - 480); - GT_Values.RA.addFormingPressRecipe( - craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicDust.getMetaID(), 10), - ItemList.Shape_Mold_Plate.get(0), - craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicPlate.getMetaID(), 1), - 800, - 480); + new AlloySmelter().run(); + new Assembler().run(); + new AssemblyLine().run(); + new ChemicalReactor().run(); + new Crafting().run(); + new FormingPress().run(); + new Mixer().run(); + new ResearchableAssemblyLine().run(); + new Unpackager().run(); - if (!Loader.isModLoaded("bartworks")) { - GT_Values.RA.addChemicalRecipe( - Materials.Yttrium.getDust(1), - GT_Utility.getIntegratedCircuit(6), - Materials.Oxygen.getGas(3000), - null, - craftingItem.getStackOfAmountFromDamage(Items.YttriaDust.getMetaID(), 1), - null, - 400, - 30); - GT_Values.RA.addChemicalRecipe( - Util.getStackofAmountFromOreDict("dustZirconium", 1), - GT_Utility.getIntegratedCircuit(6), - Materials.Oxygen.getGas(2000), - null, - craftingItem.getStackOfAmountFromDamage(Items.ZirconiaDust.getMetaID(), 1), - null, - 400, - 30); - } + registerRecipes_Jars(); - GT_Values.RA.addChemicalRecipe( - Materials.Cerium.getDust(2), - GT_Utility.getIntegratedCircuit(6), - Materials.Oxygen.getGas(3000), - null, - craftingItem.getStackOfAmountFromDamage(Items.CeriaDust.getMetaID(), 2), - null, - 400, - 30); - GT_Values.RA.addMixerRecipe( - Items.YttriaDust.getOreDictedItemStack(1), - Items.ZirconiaDust.getOreDictedItemStack(5), - GT_Utility.getIntegratedCircuit(6), - null, - null, - null, - craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicDust.getMetaID(), 6), - 400, - 96); - GT_Values.RA.addMixerRecipe( - GT_OreDictUnificator - .get(OrePrefixes.dust, Materials.Gadolinium, new ItemStack(ErrorItem.getInstance(), 1), 1), - craftingItem.getStackOfAmountFromDamage(Items.CeriaDust.getMetaID(), 9), - GT_Utility.getIntegratedCircuit(6), - null, - null, - null, - craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicDust.getMetaID(), 10), - 400, - 1920); + KekzCore.LOGGER.info("Finished registering recipes"); } - /* - * private static void registerRecipes_Nuclear() { final MetaItem_CraftingComponent craftingItem = - * MetaItem_CraftingComponent.getInstance(); // Controller // Blocks final ItemStack[] controlrod = { - * GT_Utility.getIntegratedCircuit(6), GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Lead, 1), - * GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Steel, 4), GT_OreDictUnificator.get(OrePrefixes.dust, - * Materials.Carbon, 64) }; GT_Values.RA.addAssemblerRecipe( controlrod, null, new - * ItemStack(Blocks.reactorControlRod, 1), 800, 480); final ItemStack[] reactorchamber = { - * GT_Utility.getIntegratedCircuit(6), GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Lead, 1), - * GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Lead, 9), GT_OreDictUnificator.get(OrePrefixes.ring, - * Materials.TungstenSteel, 18), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Steel, 2), }; - * GT_Values.RA.addAssemblerRecipe( reactorchamber, FluidRegistry.getFluidStack("wet.concrete", 144), new - * ItemStack(Blocks.reactorChamberOFF, 1), 1600, 480); // Items - * GT_Values.RA.addMixerRecipe(Materials.Boron.getDust(1), Materials.Arsenic.getDust(1), - * GT_Utility.getIntegratedCircuit(6), null, null, null, - * craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideDust.getMetaID(), 2), 100, 1920); - * GT_Values.RA.addChemicalRecipe( Materials.Ammonia.getCells(2), Materials.CarbonDioxide.getCells(1), null, null, - * craftingItem.getStackOfAmountFromDamage(Items.AmineCarbamiteDust.getMetaID(), 1), - * Util.getStackofAmountFromOreDict("cellEmpty", 3), 400, 30); GT_Values.RA.addChemicalRecipe( - * craftingItem.getStackOfAmountFromDamage(Items.AmineCarbamiteDust.getMetaID(), 1), Materials.Diamond.getDust(16), - * Materials.CarbonDioxide.getGas(1000), null, - * craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondDust.getMetaID(), 1), null, 1200, 480); - * GT_Values.RA.addAutoclaveRecipe( - * craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondDust.getMetaID(), 4), - * Materials.CarbonDioxide.getGas(16000), - * craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondCrystal.getMetaID(), 1), 10000, 2400, 7680); - * GT_Values.RA.addAutoclaveRecipe( craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideDust.getMetaID(), 4), - * Materials.Nitrogen.getGas(4000), craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideCrystal.getMetaID(), - * 1), 10000, 2400, 1920); GT_Values.RA.addLatheRecipe( GT_OreDictUnificator.get(OrePrefixes.stick, - * Materials.AnnealedCopper, 1), craftingItem.getStackFromDamage(Items.CopperHeatPipe.getMetaID()), null, 120, 120); - * GT_Values.RA.addLatheRecipe( GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Silver, 1), - * craftingItem.getStackFromDamage(Items.SilverHeatPipe.getMetaID()), null, 120, 480); GT_Values.RA.addLatheRecipe( - * craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideCrystal.getMetaID(), 4), - * craftingItem.getStackFromDamage(Items.BoronArsenideHeatPipe.getMetaID()), null, 1200, 1920); - * GT_Values.RA.addLatheRecipe( - * craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondCrystal.getMetaID(), 4), - * craftingItem.getStackFromDamage(Items.DiamondHeatPipe.getMetaID()), null, 1200, 7680); } - */ - private static void registerRecipes_Jars() { // Thaumium Reinforced Jar @@ -497,7 +97,7 @@ public class Recipes { new ItemStack(Blocks.jarThaumiumReinforced, 1, 0), recipe_voidjarupgrade)); - final ItemStack[] recipe_jarichor = { GT_ModHandler.getModItem("ThaumicTinkerer", "kamiResource", 1, 0), + final ItemStack[] recipe_jarichor = { GT_ModHandler.getModItem(ThaumicTinkerer.ID, "kamiResource", 1, 0), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Diamond, 1), new ItemStack(net.minecraft.init.Blocks.glass_pane), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 1), @@ -533,390 +133,4 @@ public class Recipes { recipe_voidjarupgrade)); } - private static void registerRecipes_LSC() { - - // Controller - final Object[] lsc_recipe = { "LPL", "CBC", "LPL", 'L', ItemList.IC2_LapotronCrystal.getWildcard(1L), 'P', - ItemList.Circuit_Chip_PIC.get(1L), 'C', OrePrefixes.circuit.get(Materials.Master), 'B', - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0), }; - GT_ModHandler.addCraftingRecipe(TileEntities.lsc.getStackForm(1), lsc_recipe); - - // Blocks - final Object[] lcBase_recipe = { "WBW", "RLR", "WBW", 'W', OrePrefixes.plate.get(Materials.Tantalum), 'B', - OrePrefixes.frameGt.get(Materials.TungstenSteel), 'R', - OrePrefixes.stickLong.get(Materials.TungstenSteel), 'L', OrePrefixes.block.get(Materials.Lapis) }; - GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0), lcBase_recipe); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tantalum, 4), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 2), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TungstenSteel, 2), - GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lapis, 1) }, - null, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0), - 100, - 480); - - // Empty Capacitor - final Object[] lcEmpty_recipe = { "SLS", "L L", "SLS", 'S', OrePrefixes.screw.get(Materials.Lapis), 'L', - OrePrefixes.plate.get(Materials.Lapis) }; - GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), lcEmpty_recipe); - - // EV Capacitor - final Object[] lcEV_recipe = { "SLS", "LCL", "SLS", 'S', OrePrefixes.screw.get(Materials.Lapis), 'L', - OrePrefixes.plate.get(Materials.Lapis), 'C', - GT_ModHandler.getIC2Item("lapotronCrystal", 1L, GT_Values.W) }; - GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 7), lcEV_recipe); - - // EV Capacitor alt recipe - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), - GT_ModHandler.getIC2Item("lapotronCrystal", 1L, GT_Values.W), - GT_Utility.getIntegratedCircuit(7) }, - null, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 7), - 200, - BW_Util.getMachineVoltageFromTier(3)); - - // IV Capacitor - final Object[] lcIV_recipe = { "SLS", "LOL", "SLS", 'S', OrePrefixes.screw.get(Materials.Lapis), 'L', - OrePrefixes.plate.get(Materials.Lapis), 'O', ItemList.Energy_LapotronicOrb.get(1L) }; - GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), lcIV_recipe); - - // IV Capacitor alt recipe - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), - ItemList.Energy_LapotronicOrb.get(1L), GT_Utility.getIntegratedCircuit(1) }, - null, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), - 400, - BW_Util.getMachineVoltageFromTier(4)); - - // LuV Capacitor - GT_Values.RA.addAssemblylineRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), - 288000, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Osmiridium, 24), - ItemList.Circuit_Board_Elite.get(1), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.NaquadahAlloy, 64), - new Object[] { OrePrefixes.circuit.get(Materials.Master), 4 }, - ItemList.Circuit_Parts_Crystal_Chip_Master.get(36), - ItemList.Circuit_Parts_Crystal_Chip_Master.get(36), ItemList.Circuit_Chip_HPIC.get(64), - ItemList.Circuit_Parts_DiodeASMD.get(8), ItemList.Circuit_Parts_CapacitorASMD.get(8), - ItemList.Circuit_Parts_ResistorASMD.get(8), ItemList.Circuit_Parts_TransistorASMD.get(8), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Platinum, 64) }, - new FluidStack[] { new FluidStack(solderIndalloy, 720) }, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2), - 1000, - 80000); - - // LuV Capacitor alt recipe - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Energy_LapotronicOrb2.get(1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmiridium, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Osmiridium, 24), - GT_Utility.getIntegratedCircuit(6) }, - null, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2), - 800, - BW_Util.getMachineVoltageFromTier(5)); - LuVTierEnhancer.addToBlackListForOsmiridiumReplacement(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2)); - - // ZPM Capacitor - GT_Values.RA.addAssemblylineRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2), - 288000, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 24), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 16L), - new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, - ItemList.Energy_LapotronicOrb2.get(8L), ItemList.Field_Generator_LuV.get(2), - ItemList.Circuit_Wafer_SoC2.get(64), ItemList.Circuit_Wafer_SoC2.get(64), - ItemList.Circuit_Parts_DiodeASMD.get(8), - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 32) }, - new FluidStack[] { new FluidStack(solderIndalloy, 2880), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) }, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3), - 2000, - 100000); - - // ZPM Capacitor alt recipe - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Energy_Module.get(1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 24), - GT_Utility.getIntegratedCircuit(6) }, - null, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3), - 1600, - BW_Util.getMachineVoltageFromTier(6)); - - // UV Capacitor - GT_Values.RA.addAssemblylineRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3), - 288000, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 24), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 32L), - new Object[] { OrePrefixes.circuit.get(Materials.Superconductor), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Superconductor), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Superconductor), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Superconductor), 1 }, - ItemList.Energy_Module.get(8L), ItemList.Field_Generator_ZPM.get(2), - ItemList.Circuit_Wafer_HPIC.get(64), ItemList.Circuit_Wafer_HPIC.get(64), - ItemList.Circuit_Parts_DiodeASMD.get(16), - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 32) }, - new FluidStack[] { new FluidStack(solderIndalloy, 2880), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) }, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4), - 2000, - 200000); - - // UV Capacitor alt recipe - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Energy_Cluster.get(1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 24), - GT_Utility.getIntegratedCircuit(6) }, - null, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4), - 3200, - BW_Util.getMachineVoltageFromTier(7)); - - // Ultimate Capacitor (UHV) - TT_recipeAdder.addResearchableAssemblylineRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4), - 12000, - 16, - 300000, - 3, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 24), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), - new Object[] { OrePrefixes.circuit.get(Materials.Bio), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Bio), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Bio), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Bio), 1 }, ItemList.ZPM2.get(8L), - ItemList.Field_Generator_UHV.get(4), ItemList.Circuit_Wafer_UHPIC.get(64), - ItemList.Circuit_Wafer_UHPIC.get(64), ItemList.Circuit_Wafer_SoC2.get(32), - ItemList.Circuit_Parts_DiodeASMD.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64) }, - new FluidStack[] { new FluidStack(solderUEV, 4608), Materials.Naquadria.getMolten(9216), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000) }, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5), - 4000, - 1600000); - - // UHV Capacitor alt recipe - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.ZPM3.get(1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 24), - GT_Utility.getIntegratedCircuit(6) }, - null, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5), - 6400, - BW_Util.getMachineVoltageFromTier(8)); - - // Extremely Ultimate Capacitor (UEV) - TT_recipeAdder.addResearchableAssemblylineRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5), - 1200000, - 128, - 8000000, - 16, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 24), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.InfinityCatalyst, 32L), - GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.InfinityCatalyst, 32L), - new Object[] { OrePrefixes.circuit.get(Materials.Optical), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Optical), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Optical), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Optical), 1 }, ItemList.ZPM3.get(8L), - ItemList.Field_Generator_UEV.get(4), ItemList.Circuit_Wafer_PPIC.get(64), - ItemList.Circuit_Wafer_PPIC.get(64), ItemList.Circuit_Wafer_SoC2.get(64), - ItemList.Circuit_Parts_DiodeXSMD.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUEV, 64) }, - new FluidStack[] { new FluidStack(solderUEV, 9216), Materials.Quantium.getMolten(18432), - Materials.Naquadria.getMolten(18432), Materials.SuperCoolant.getFluid(64000) }, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 8), - 250 * 20, - (int) TierEU.RECIPE_UEV); - - // UEV Capacitor alt recipe - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.ZPM4.get(1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 24), - GT_Utility.getIntegratedCircuit(6) }, - null, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 8), - 640 * 20, - (int) TierEU.RECIPE_UHV); - - if (Loader.isModLoaded("miscutils")) { - // Insanely Ultimate Capacitor (UIV) - TT_recipeAdder.addResearchableAssemblylineRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 8), - 24_000_000, - 1_280, - 32_000_000, - 32, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 24), - GT_ModHandler.getModItem("miscutils", "itemPlateDoubleHypogen", 32), - GT_ModHandler.getModItem("miscutils", "itemPlateDoubleHypogen", 32), - new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 }, ItemList.ZPM4.get(8L), - ItemList.Field_Generator_UIV.get(4), ItemList.Circuit_Wafer_QPIC.get(64), - ItemList.Circuit_Wafer_QPIC.get(64), - GT_ModHandler.getModItem("dreamcraft", "item.RawPicoWafer", 64), - ItemList.Circuit_Parts_DiodeXSMD.get(64), ItemList.Circuit_Parts_InductorXSMD.get(32), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUIV, 64) }, - new FluidStack[] { new FluidStack(solderUEV, 18_432), - new FluidStack(FluidRegistry.getFluid("molten.celestialtungsten"), 18432), - Materials.Quantium.getMolten(18_432), Materials.SuperCoolant.getFluid(128_000) }, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9), - 300 * 20, - (int) TierEU.RECIPE_UIV); - - // Mega Ultimate Capacitor (UMV) - TT_recipeAdder.addResearchableAssemblylineRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9), - 480_000_000, - 12_288, - 128_000_000, - 64, - new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 24), - GT_ModHandler.getModItem("miscutils", "itemPlateDoubleDragonblood", 32), - GT_ModHandler.getModItem("miscutils", "itemPlateDoubleDragonblood", 32), - new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 }, - new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 }, ItemList.ZPM5.get(8L), - ItemList.Field_Generator_UMV.get(4), ItemList.Circuit_Wafer_QPIC.get(64), - ItemList.Circuit_Wafer_QPIC.get(64), - GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 64), - ItemList.Circuit_Parts_DiodeXSMD.get(64), ItemList.Circuit_Parts_InductorXSMD.get(64), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUMV, 64) }, - new FluidStack[] { new FluidStack(solderUEV, 36_864), - new FluidStack(FluidRegistry.getFluid("molten.astraltitanium"), 36_864), - new FluidStack(FluidRegistry.getFluid("molten.celestialtungsten"), 36_864), - Materials.SuperCoolant.getFluid(256_000) }, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 10), - 350 * 20, - (int) TierEU.RECIPE_UMV); - } - // UIV Capacitor alt recipe - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.ZPM5.get(1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 24), - GT_Utility.getIntegratedCircuit(6) }, - null, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9), - 640 * 20, - (int) TierEU.RECIPE_UEV); - - // UMV Capacitor alt recipe - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.ZPM6.get(1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 4), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 24), - GT_Utility.getIntegratedCircuit(6) }, - null, - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 10), - 640 * 20, - (int) TierEU.RECIPE_UIV); - - // Capacitor recycling - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 7), - GT_ModHandler.getIC2Item("lapotronCrystal", 1L, 26), - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), - 1200, - (int) TierEU.RECIPE_LV); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), - ItemList.Energy_LapotronicOrb.get(1L), - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), - 1200, - (int) TierEU.RECIPE_LV); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2), - ItemList.Energy_LapotronicOrb2.get(1L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Osmiridium, 24), - 1200, - (int) TierEU.RECIPE_LV); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3), - ItemList.Energy_Module.get(1L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 24), - 1200, - (int) TierEU.RECIPE_LV); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4), - ItemList.Energy_Cluster.get(1L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 24), - 1200, - (int) TierEU.RECIPE_LV); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5), - ItemList.ZPM3.get(1L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 24), - 1200, - (int) TierEU.RECIPE_LV); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 8), - ItemList.ZPM4.get(1L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 24), - 1200, - (int) TierEU.RECIPE_LV); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9), - ItemList.ZPM5.get(1L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 24), - 1200, - (int) TierEU.RECIPE_LV); - GT_Values.RA.addUnboxingRecipe( - new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 10), - ItemList.ZPM6.get(1L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 24), - 1200, - (int) TierEU.RECIPE_LV); - } - - /* - * private static void registerRecipes_SpaceElevator() { // Controller final Object[] se_recipe = { "BCB", "CPC", - * "BCB", 'B', new ItemStack(Blocks.spaceElevatorStructure, 1, 0), 'C', - * OrePrefixes.cableGt16.get(Materials.Aluminium), 'P', OrePrefixes.circuit.get(Materials.Master) }; - * GT_ModHandler.addCraftingRecipe(TileEntities.se.getStackForm(1), se_recipe); // Blocks final Object[] - * seBase_recipe = { "DRD", "RCR", "DRD", 'D', OrePrefixes.plate.get(Materials.DarkSteel), 'R', - * OrePrefixes.stick.get(Materials.Steel), 'C', OrePrefixes.block.get(Materials.Concrete), }; - * GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.spaceElevatorStructure, 1, 0), seBase_recipe); final - * Object[] seCoilHolder_recipe = { "DRD", "RCR", "DRD", 'D', OrePrefixes.plate.get(Materials.DarkSteel), 'R', - * OrePrefixes.ring.get(Materials.Steel), 'C', OrePrefixes.cableGt01.get(Materials.Aluminium) }; - * GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.spaceElevatorStructure, 1, 1), seCoilHolder_recipe); } - */ - - private static void registerRecipes_Cosmetics() { - // Hex Tiles - final ItemStack[] hexTiles = { GT_Utility.getIntegratedCircuit(6), - GT_OreDictUnificator.get(OrePrefixes.stone, Materials.Concrete, 1), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.DarkSteel, 2) }; - GT_Values.RA.addAssemblerRecipe( - hexTiles, - FluidRegistry.getFluidStack("molten.plastic", 36), - new ItemStack(Blocks.largeHexPlate, 2), - 600, - 120); - } } diff --git a/src/main/java/common/TileEntities.java b/src/main/java/common/TileEntities.java index 455bde0e63..9925e7aa27 100644 --- a/src/main/java/common/TileEntities.java +++ b/src/main/java/common/TileEntities.java @@ -1,8 +1,15 @@ package common; -import common.tileentities.*; +import common.tileentities.GTMTE_LapotronicSuperCapacitor; +import common.tileentities.GTMTE_SOFuelCellMK1; +import common.tileentities.GTMTE_SOFuelCellMK2; +import common.tileentities.GTMTE_SpaceElevator; import common.tileentities.GTMTE_TFFT; import common.tileentities.GTMTE_TFFTHatch; +import common.tileentities.TE_IchorJar; +import common.tileentities.TE_IchorVoidJar; +import common.tileentities.TE_ThaumiumReinforcedJar; +import common.tileentities.TE_ThaumiumReinforcedVoidJar; import cpw.mods.fml.common.registry.GameRegistry; public class TileEntities { @@ -19,25 +26,18 @@ public class TileEntities { public static GTMTE_TFFTHatch tfftHatch; public static void preInit() { - // GameRegistry.registerTileEntity(TE_ItemProxyCable.class, "kekztech_itemproxycable_tile"); - // GameRegistry.registerTileEntity(TE_ItemProxySource.class, "kekztech_itemproxysource_tile"); - // GameRegistry.registerTileEntity(TE_ItemProxyEndpoint.class, "kekztech_itemproxyendpoint_tile"); GameRegistry.registerTileEntity(TE_ThaumiumReinforcedJar.class, "kekztech_thaumiumreinforcedjar"); GameRegistry.registerTileEntity(TE_ThaumiumReinforcedVoidJar.class, "kekztech_thaumiumreinforcedvoidjar"); GameRegistry.registerTileEntity(TE_IchorJar.class, "kekztech_ichorjar"); GameRegistry.registerTileEntity(TE_IchorVoidJar.class, "kekztech_ichorvoidjar"); - // GameRegistry.registerTileEntity(TE_SpaceElevatorCapacitor.class, "kekztech_secapacitor"); - // GameRegistry.registerTileEntity(TE_BeamTransmitter.class, "kekztech_beamtransmitter"); } public static void init() { // Multiblock controllers sofc1 = new GTMTE_SOFuelCellMK1(13101, "multimachine.fuelcellmk1", "Solid-Oxide Fuel Cell Mk I"); sofc2 = new GTMTE_SOFuelCellMK2(13102, "multimachine.fuelcellmk2", "Solid-Oxide Fuel Cell Mk II"); - // mdr = new GTMTE_ModularNuclearReactor(13103, "multimachine.nuclearreactor", "Nuclear Reactor"); tfft = new GTMTE_TFFT(13104, "multimachine.tfft", "T.F.F.T"); lsc = new GTMTE_LapotronicSuperCapacitor(13106, "multimachine.supercapacitor", "Lapotronic Supercapacitor"); - // se = new GTMTE_SpaceElevator(13107, "multimachine.spaceelevator", "Space Elevator"); // Singleblocks tfftHatch = new GTMTE_TFFTHatch(13109, "machine.tffthatch", "T.F.F.T Multi I/O Hatch"); diff --git a/src/main/java/common/blocks/Block_IchorJar.java b/src/main/java/common/blocks/Block_IchorJar.java index 88449b7e98..2328458d2d 100644 --- a/src/main/java/common/blocks/Block_IchorJar.java +++ b/src/main/java/common/blocks/Block_IchorJar.java @@ -100,7 +100,7 @@ public class Block_IchorJar extends BlockJar { /** * Handle compatibility with Essentia Phials - * + * * @param world Pass through from onBlockActivated() * @param player Pass through from onBlockActivated() * @param x Pass through from onBlockActivated() diff --git a/src/main/java/common/blocks/Block_ItemProxyCable.java b/src/main/java/common/blocks/Block_ItemProxyCable.java index e693117d9b..bd8511d41e 100644 --- a/src/main/java/common/blocks/Block_ItemProxyCable.java +++ b/src/main/java/common/blocks/Block_ItemProxyCable.java @@ -19,7 +19,7 @@ import cpw.mods.fml.relauncher.SideOnly; public class Block_ItemProxyCable extends Block { - private static Block_ItemProxyCable instance = new Block_ItemProxyCable(); + private static final Block_ItemProxyCable instance = new Block_ItemProxyCable(); private Block_ItemProxyCable() { super(Material.glass); diff --git a/src/main/java/common/blocks/Block_ReactorChamber_OFF.java b/src/main/java/common/blocks/Block_ReactorChamber_OFF.java index 4e3cd89318..937483eec2 100644 --- a/src/main/java/common/blocks/Block_ReactorChamber_OFF.java +++ b/src/main/java/common/blocks/Block_ReactorChamber_OFF.java @@ -10,7 +10,7 @@ import cpw.mods.fml.common.registry.GameRegistry; public class Block_ReactorChamber_OFF extends BaseGTUpdateableBlock { - private static Block_ReactorChamber_OFF instance = new Block_ReactorChamber_OFF(); + private static final Block_ReactorChamber_OFF instance = new Block_ReactorChamber_OFF(); private Block_ReactorChamber_OFF() { super(Material.iron); diff --git a/src/main/java/common/blocks/Block_ReactorChamber_ON.java b/src/main/java/common/blocks/Block_ReactorChamber_ON.java index bbdd4179c5..a140c1f1d7 100644 --- a/src/main/java/common/blocks/Block_ReactorChamber_ON.java +++ b/src/main/java/common/blocks/Block_ReactorChamber_ON.java @@ -10,7 +10,7 @@ import cpw.mods.fml.common.registry.GameRegistry; public class Block_ReactorChamber_ON extends BaseGTUpdateableBlock { - private static Block_ReactorChamber_ON instance = new Block_ReactorChamber_ON(); + private static final Block_ReactorChamber_ON instance = new Block_ReactorChamber_ON(); private Block_ReactorChamber_ON() { super(Material.iron); diff --git a/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java b/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java index 5ea0d7c072..53026e1ac3 100644 --- a/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java +++ b/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java @@ -141,7 +141,7 @@ public class Block_ThaumiumReinforcedJar extends BlockJar { /** * Handle compatibility with Essentia Phials - * + * * @param world Pass through from onBlockActivated() * @param player Pass through from onBlockActivated() * @param x Pass through from onBlockActivated() diff --git a/src/main/java/common/blocks/Block_YSZUnit.java b/src/main/java/common/blocks/Block_YSZUnit.java index a02bda9fb3..b94c9c53d7 100644 --- a/src/main/java/common/blocks/Block_YSZUnit.java +++ b/src/main/java/common/blocks/Block_YSZUnit.java @@ -10,7 +10,7 @@ import cpw.mods.fml.common.registry.GameRegistry; public class Block_YSZUnit extends BaseGTUpdateableBlock { - private static Block_YSZUnit instance = new Block_YSZUnit(); + private static final Block_YSZUnit instance = new Block_YSZUnit(); private Block_YSZUnit() { super(Material.iron); diff --git a/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java b/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java index 37f597b5ae..1b074241de 100644 --- a/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java +++ b/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java @@ -43,28 +43,28 @@ public class IB_LapotronicEnergyUnit extends ItemBlock { public static BigInteger LSC_wireless_eu_cap = BigInteger.valueOf(60 * pow(10, 12)); // 10 Billion EU/t - private static BigInteger UHV_cap_eu_per_tick = LSC_wireless_eu_cap + private static final BigInteger UHV_cap_eu_per_tick = LSC_wireless_eu_cap .divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks)); // 6 Quadrillion EU. public static BigInteger UEV_wireless_eu_cap = BigInteger.valueOf(100 * 60 * pow(10, 12)); // 1 Trillion EU/t - private static BigInteger UEV_cap_eu_per_tick = UEV_wireless_eu_cap + private static final BigInteger UEV_cap_eu_per_tick = UEV_wireless_eu_cap .divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks)); // 600 Quadrillion EU. public static BigInteger UIV_wireless_eu_cap = BigInteger.valueOf(60 * pow(10, 16)); // 100 Trillion EU/t - private static BigInteger UIV_cap_eu_per_tick = UIV_wireless_eu_cap + private static final BigInteger UIV_cap_eu_per_tick = UIV_wireless_eu_cap .divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks)); // 60 Quintillion EU. public static BigInteger UMV_wireless_eu_cap = UIV_wireless_eu_cap.multiply(BigInteger.valueOf(100)); // 10 Quadrillion EU/t - private static BigInteger UMV_cap_eu_per_tick = UMV_wireless_eu_cap + private static final BigInteger UMV_cap_eu_per_tick = UMV_wireless_eu_cap .divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks)); public static long EV_cap_storage = 60_000_000L; diff --git a/src/main/java/common/recipeLoaders/AlloySmelter.java b/src/main/java/common/recipeLoaders/AlloySmelter.java new file mode 100644 index 0000000000..86af24d4a4 --- /dev/null +++ b/src/main/java/common/recipeLoaders/AlloySmelter.java @@ -0,0 +1,32 @@ +package common.recipeLoaders; + +import static gregtech.api.enums.Mods.BartWorks; +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import kekztech.Items; + +import common.items.MetaItem_CraftingComponent; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.TierEU; + +public class AlloySmelter implements Runnable { + + @Override + public void run() { + if (BartWorks.isModLoaded()) { + final MetaItem_CraftingComponent craftingItem = MetaItem_CraftingComponent.getInstance(); + + // YSZ Cermic Plate + GT_Values.RA.stdBuilder() + .itemInputs( + craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicDust.getMetaID(), 3), + ItemList.Shape_Mold_Plate.get(0)) + .itemOutputs(craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicPlate.getMetaID(), 1)) + .noFluidInputs().noFluidOutputs().duration(20 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(sAlloySmelterRecipes); + } + } +} diff --git a/src/main/java/common/recipeLoaders/Assembler.java b/src/main/java/common/recipeLoaders/Assembler.java new file mode 100644 index 0000000000..01001038bd --- /dev/null +++ b/src/main/java/common/recipeLoaders/Assembler.java @@ -0,0 +1,246 @@ +package common.recipeLoaders; + +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import kekztech.Items; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; + +import common.Blocks; +import common.TileEntities; +import common.items.ErrorItem; +import common.items.MetaItem_CraftingComponent; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class Assembler implements Runnable { + + @Override + public void run() { + // TFFT Casing + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DarkSteel, 3), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnderPearl, 3)) + .itemOutputs(new ItemStack(Blocks.tfftStorageField, 1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(144)).noFluidOutputs().duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + // TFFT Multi Hatch + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_HV.get(1), + ItemList.Cover_FluidStorageMonitor.get(1), + ItemList.Field_Generator_LV.get(4), + GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Polytetrafluoroethylene, 25)) + .itemOutputs(TileEntities.tfftHatch.getStackForm(1)).fluidInputs(Materials.Plastic.getMolten(432)) + .noFluidOutputs().duration(20 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + // TFFTStorageField1 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CrudeSteel, 1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CrudeSteel, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Steel, 3), + ItemList.FluidRegulator_LV.get(1)) + .itemOutputs(new ItemStack(Blocks.tfftStorageField, 1, 1)).fluidInputs(Materials.Glass.getMolten(144)) + .noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + // TFFTStorageField2 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), + ItemList.Casing_Tank_1.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnergeticSilver, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Plastic, 3), + ItemList.FluidRegulator_MV.get(1)) + .itemOutputs(new ItemStack(Blocks.tfftStorageField, 1, 2)).fluidInputs(Materials.Plastic.getMolten(288)) + .noFluidOutputs().duration(10 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + // TFFTStorageField3 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), + ItemList.Casing_Tank_3.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VividAlloy, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.StainlessSteel, 3), + ItemList.Field_Generator_LV.get(1), + ItemList.FluidRegulator_HV.get(1)) + .itemOutputs(new ItemStack(Blocks.tfftStorageField, 1, 3)).fluidInputs(Materials.Plastic.getMolten(432)) + .noFluidOutputs().duration(20 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + // TFFTStorageField4 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), + ItemList.Casing_Tank_5.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Enderium, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Polytetrafluoroethylene, 3), + ItemList.Field_Generator_MV.get(2), + ItemList.FluidRegulator_EV.get(1)) + .itemOutputs(new ItemStack(Blocks.tfftStorageField, 1, 4)).fluidInputs(Materials.Epoxid.getMolten(864)) + .noFluidOutputs().duration(20 * SECONDS).eut(TierEU.RECIPE_EV).addTo(sAssemblerRecipes); + // TFFTStorageField5 + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), + ItemList.Casing_Tank_7.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CrystallineAlloy, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Enderium, 3), + ItemList.Field_Generator_HV.get(4), + ItemList.FluidRegulator_IV.get(1)) + .itemOutputs(new ItemStack(Blocks.tfftStorageField, 1, 5)).fluidInputs(Materials.Epoxid.getMolten(1152)) + .noFluidOutputs().duration(20 * SECONDS).eut(TierEU.RECIPE_IV).addTo(sAssemblerRecipes); + // LSC Casing + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tantalum, 4), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 2), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TungstenSteel, 2), + GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lapis, 1)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0)).noFluidInputs().noFluidOutputs() + .duration(5 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + // EV Capacitor alt recipe + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), + GT_ModHandler.getIC2Item("lapotronCrystal", 1L, GT_Values.W), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 7)).noFluidInputs().noFluidOutputs() + .duration(10 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + // IV Capacitor alt recipe + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), + ItemList.Energy_LapotronicOrb.get(1L), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1)).noFluidInputs().noFluidOutputs() + .duration(20 * SECONDS).eut(TierEU.RECIPE_EV).addTo(sAssemblerRecipes); + // LuV Capacitor alt recipe + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Energy_LapotronicOrb2.get(1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Osmiridium, 24), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2)).noFluidInputs().noFluidOutputs() + .duration(40 * SECONDS).eut(TierEU.RECIPE_IV).addTo(sAssemblerRecipes); + // ZPM Capacitor alt recipe + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Energy_Module.get(1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 24), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3)).noFluidInputs().noFluidOutputs() + .duration(1 * MINUTES + 20 * SECONDS).eut(TierEU.RECIPE_LuV).addTo(sAssemblerRecipes); + // UV Capacitor alt recipe + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Energy_Cluster.get(1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 24), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4)).noFluidInputs().noFluidOutputs() + .duration(2 * MINUTES + 40 * SECONDS).eut(TierEU.RECIPE_ZPM).addTo(sAssemblerRecipes); + // UHV Capacitor alt recipe + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.ZPM3.get(1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 24), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5)).noFluidInputs().noFluidOutputs() + .duration(5 * MINUTES + 20 * SECONDS).eut(TierEU.RECIPE_UV).addTo(sAssemblerRecipes); + // UEV Capacitor alt recipe + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.ZPM4.get(1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 24), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 8)).noFluidInputs().noFluidOutputs() + .duration(10 * MINUTES + 40 * SECONDS).eut(TierEU.RECIPE_UHV).addTo(sAssemblerRecipes); + // UIV Capacitor alt recipe + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.ZPM5.get(1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 24), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9)).noFluidInputs().noFluidOutputs() + .duration(10 * MINUTES + 40 * SECONDS).eut(TierEU.RECIPE_UEV).addTo(sAssemblerRecipes); + // UMV Capacitor alt recipe + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.ZPM6.get(1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 24), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 10)).noFluidInputs().noFluidOutputs() + .duration(10 * MINUTES + 40 * SECONDS).eut(TierEU.RECIPE_UIV).addTo(sAssemblerRecipes); + + final MetaItem_CraftingComponent craftingItem = MetaItem_CraftingComponent.getInstance(); + + // YSZ Unit + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), + craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicPlate.getMetaID(), 4), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Yttrium, 1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 1), + ItemList.Electric_Motor_HV.get(1L)) + .itemOutputs(new ItemStack(Blocks.yszUnit, 1)).fluidInputs(Materials.Hydrogen.getGas(4000)) + .noFluidOutputs().duration(60 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + // GDC Unit + + GT_Values.RA.stdBuilder().itemInputs( + GT_Utility.getIntegratedCircuit(6), + craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicPlate.getMetaID(), 8), + GT_OreDictUnificator + .get(OrePrefixes.frameGt, Materials.Gadolinium, new ItemStack(ErrorItem.getInstance(), 1), 1), + GT_OreDictUnificator + .get(OrePrefixes.rotor, Materials.Desh, new ItemStack(ErrorItem.getInstance(), 1), 1), + ItemList.Electric_Motor_IV.get(1L)).itemOutputs(new ItemStack(Blocks.gdcUnit, 1)) + .fluidInputs(Materials.Hydrogen.getGas(16000)).noFluidOutputs().duration(2 * MINUTES) + .eut(TierEU.RECIPE_EV).addTo(sAssemblerRecipes); + // Hex Tiles + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), + GT_OreDictUnificator.get(OrePrefixes.stone, Materials.Concrete, 1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.DarkSteel, 2)) + .itemOutputs(new ItemStack(Blocks.largeHexPlate, 2)) + .fluidInputs(FluidRegistry.getFluidStack("molten.plastic", 36)).noFluidOutputs().duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV).addTo(sAssemblerRecipes); + + } +} diff --git a/src/main/java/common/recipeLoaders/AssemblyLine.java b/src/main/java/common/recipeLoaders/AssemblyLine.java new file mode 100644 index 0000000000..6c56d2ccb4 --- /dev/null +++ b/src/main/java/common/recipeLoaders/AssemblyLine.java @@ -0,0 +1,205 @@ +package common.recipeLoaders; + +import static gregtech.api.enums.Mods.Avaritia; +import static gregtech.api.enums.Mods.EnderIO; +import static gregtech.api.enums.Mods.EternalSingularity; +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.enums.Mods.GoodGenerator; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.enums.Mods.UniversalSingularities; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import common.Blocks; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class AssemblyLine implements Runnable { + + @Override + public void run() { + final Fluid radoxPoly = FluidRegistry.getFluid("molten.radoxpoly") != null + ? FluidRegistry.getFluid("molten.radoxpoly") + : FluidRegistry.getFluid("molten.polybenzimidazole"); + + final Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null + ? FluidRegistry.getFluid("molten.indalloy140") + : FluidRegistry.getFluid("molten.solderingalloy"); + + // TFFTStorageField6 + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, new ItemStack(Blocks.tfftStorageField, 1, 5)) + .metadata(RESEARCH_TIME, 1 * HOURS + 6 * MINUTES + 40 * SECONDS) + .itemInputs( + ItemList.Casing_Tank_7.get(4), + GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.CrystallinePinkSlime, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Naquadah, 3), + GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.ChromeBars", 6), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Quantium, 6), + ItemList.Field_Generator_EV.get(8), + ItemList.FluidRegulator_LuV.get(1), + GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EngineeringProcessorFluidEmeraldCore", 4)) + .fluidInputs(Materials.Enderium.getMolten(1440), Materials.Polybenzimidazole.getMolten(1584)) + .noFluidOutputs().itemOutputs(new ItemStack(Blocks.tfftStorageField, 1, 6)).eut(TierEU.RECIPE_LuV) + .duration(30 * SECONDS).addTo(AssemblyLine); + + // TFFTStorageField7 + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, new ItemStack(Blocks.tfftStorageField, 1, 6)) + .metadata(RESEARCH_TIME, 1 * HOURS + 6 * MINUTES + 40 * SECONDS) + .itemInputs( + ItemList.Casing_Tank_10.get(16), + GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.MelodicAlloy, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.NetherStar, 3), + GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.OsmiumBars", 6), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.MysteriousCrystal, 6), + ItemList.Field_Generator_IV.get(16), + ItemList.Field_Generator_LuV.get(4), + ItemList.FluidRegulator_UV.get(1), + GT_ModHandler + .getModItem(NewHorizonsCoreMod.ID, "item.EngineeringProcessorFluidEmeraldCore", 16)) + .fluidInputs(Materials.CrystallineAlloy.getMolten(2880), Materials.Polybenzimidazole.getMolten(2016)) + .noFluidOutputs().itemOutputs(new ItemStack(Blocks.tfftStorageField, 1, 7)).duration(30 * SECONDS) + .eut(TierEU.RECIPE_UV).addTo(AssemblyLine); + + // TFFTStorageField8 + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, new ItemStack(Blocks.tfftStorageField, 1, 7)) + .metadata(RESEARCH_TIME, 2 * HOURS + 40 * MINUTES) + .itemInputs( + ItemList.Quantum_Tank_IV.get(1), + GT_ModHandler.getModItem(Avaritia.ID, "Neutronium_Compressor", 1), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.StellarAlloy, 6), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.StellarAlloy, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.DraconiumAwakened, 3), + GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.NeutroniumBars", 6), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.InfinityCatalyst, 6), + ItemList.Field_Generator_ZPM.get(16), + ItemList.Field_Generator_UV.get(4), + GT_ModHandler.getModItem(GoodGenerator.ID, "huiCircuit", 4, 2), + GT_ModHandler + .getModItem(UniversalSingularities.ID, "universal.tinkersConstruct.singularity", 1, 4)) + .fluidInputs(Materials.CrystallinePinkSlime.getMolten(4320), new FluidStack(radoxPoly, 2880)) + .noFluidOutputs().itemOutputs(new ItemStack(Blocks.tfftStorageField, 1, 8)).duration(30 * SECONDS) + .eut(TierEU.RECIPE_UEV).addTo(AssemblyLine); + + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, new ItemStack(Blocks.tfftStorageField, 1, 8)) + .metadata(RESEARCH_TIME, 2 * HOURS + 13 * MINUTES + 20 * SECONDS) + .itemInputs( + ItemList.Quantum_Tank_IV.get(4), + GT_ModHandler.getModItem(Avaritia.ID, "Neutronium_Compressor", 2), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TranscendentMetal, 6), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TranscendentMetal, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Infinity, 3), + ItemList.EnergisedTesseract.get(1), + GT_ModHandler.getModItem(GTPlusPlus.ID, "itemRotorHypogen", 6), + ItemList.Field_Generator_UHV.get(16), + ItemList.Field_Generator_UEV.get(4), + GT_ModHandler.getModItem(GoodGenerator.ID, "huiCircuit", 4, 3), + GT_ModHandler + .getModItem(UniversalSingularities.ID, "universal.tinkersConstruct.singularity", 1, 4)) + .fluidInputs(Materials.MelodicAlloy.getMolten(5760), new FluidStack(radoxPoly, 3456)).noFluidOutputs() + .itemOutputs(new ItemStack(Blocks.tfftStorageField, 1, 9)).duration(30 * SECONDS).eut(TierEU.RECIPE_UMV) + .addTo(AssemblyLine); + + // TFFTStorageField10 + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, new ItemStack(Blocks.tfftStorageField, 1, 9)) + .metadata(RESEARCH_TIME, 2 * HOURS + 46 * MINUTES + 40 * SECONDS) + .itemInputs( + ItemList.Quantum_Tank_IV.get(16), + GT_ModHandler.getModItem(Avaritia.ID, "Neutronium_Compressor", 4), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 6), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 6), + GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.SpaceTime, 3), + ItemList.EnergisedTesseract.get(6), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.SpaceTime, 6), + ItemList.Field_Generator_UEV.get(16), + ItemList.Field_Generator_UIV.get(4), + GT_ModHandler.getModItem(GoodGenerator.ID, "huiCircuit", 4, 4), + GT_ModHandler.getModItem(GoodGenerator.ID, "huiCircuit", 4, 4), + GT_ModHandler.getModItem(EnderIO.ID, "itemBasicCapacitor", 64, 6), + GT_ModHandler.getModItem(EternalSingularity.ID, "eternal_singularity", 1)) + .fluidInputs(Materials.StellarAlloy.getMolten(7200), new FluidStack(radoxPoly, 4608)).noFluidOutputs() + .itemOutputs(new ItemStack(Blocks.tfftStorageField, 1, 10)).duration(30 * SECONDS) + .eut(TierEU.RECIPE_UXV).addTo(AssemblyLine); + + // LuV Capacitor + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmiridium, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Osmiridium, 24), + ItemList.Circuit_Board_Elite.get(1), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.NaquadahAlloy, 64), + new Object[] { OrePrefixes.circuit.get(Materials.Master), 4 }, + ItemList.Circuit_Parts_Crystal_Chip_Master.get(36), + ItemList.Circuit_Parts_Crystal_Chip_Master.get(36), + ItemList.Circuit_Chip_HPIC.get(64), + ItemList.Circuit_Parts_DiodeASMD.get(8), + ItemList.Circuit_Parts_CapacitorASMD.get(8), + ItemList.Circuit_Parts_ResistorASMD.get(8), + ItemList.Circuit_Parts_TransistorASMD.get(8), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Platinum, 64)) + .fluidInputs(new FluidStack(solderIndalloy, 720)).noFluidOutputs() + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2)).duration(50 * SECONDS).eut(80_000) + .addTo(AssemblyLine); + + // ZPM Capacitor + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 24), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 16L), + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Ultimate), 1 }, + ItemList.Energy_LapotronicOrb2.get(8L), + ItemList.Field_Generator_LuV.get(2), + ItemList.Circuit_Wafer_SoC2.get(64), + ItemList.Circuit_Wafer_SoC2.get(64), + ItemList.Circuit_Parts_DiodeASMD.get(8), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 32)) + .fluidInputs( + new FluidStack(solderIndalloy, 2880), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000)) + .noFluidOutputs().itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3)) + .duration(1 * MINUTES + 40 * SECONDS).eut(100_000).addTo(AssemblyLine); + + // UV Capacitor + GT_Values.RA.stdBuilder().metadata(RESEARCH_ITEM, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 24), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 32L), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, + ItemList.Energy_Module.get(8L), + ItemList.Field_Generator_ZPM.get(2), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Wafer_HPIC.get(64), + ItemList.Circuit_Parts_DiodeASMD.get(16), + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 32)) + .fluidInputs( + new FluidStack(solderIndalloy, 2880), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000)) + .noFluidOutputs().itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4)).eut(200_000) + .duration(1 * MINUTES + 40 * SECONDS).addTo(AssemblyLine); + } +} diff --git a/src/main/java/common/recipeLoaders/ChemicalReactor.java b/src/main/java/common/recipeLoaders/ChemicalReactor.java new file mode 100644 index 0000000000..8d8a4a61b7 --- /dev/null +++ b/src/main/java/common/recipeLoaders/ChemicalReactor.java @@ -0,0 +1,28 @@ +package common.recipeLoaders; + +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; + +import kekztech.Items; + +import common.items.MetaItem_CraftingComponent; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_Utility; + +public class ChemicalReactor implements Runnable { + + @Override + public void run() { + final MetaItem_CraftingComponent craftingItem = MetaItem_CraftingComponent.getInstance(); + + // Ceria Dust + GT_Values.RA.stdBuilder().itemInputs(Materials.Cerium.getDust(2), GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(craftingItem.getStackOfAmountFromDamage(Items.CeriaDust.getMetaID(), 2)) + .fluidInputs(Materials.Oxygen.getGas(3000)).noFluidOutputs().duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV).addTo(UniversalChemical); + + } +} diff --git a/src/main/java/common/recipeLoaders/Crafting.java b/src/main/java/common/recipeLoaders/Crafting.java new file mode 100644 index 0000000000..b481605204 --- /dev/null +++ b/src/main/java/common/recipeLoaders/Crafting.java @@ -0,0 +1,75 @@ +package common.recipeLoaders; + +import net.minecraft.item.ItemStack; + +import util.Util; + +import common.Blocks; +import common.TileEntities; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class Crafting implements Runnable { + + @Override + public void run() { + // TFFT Controller + GT_ModHandler.addCraftingRecipe( + TileEntities.tfft.getStackForm(1), + new Object[] { "ESE", "FTF", "CVC", 'E', + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.EnderEye, 1), 'S', + ItemList.Cover_Screen.get(1), 'F', ItemList.Field_Generator_LV.get(1), 'T', + new ItemStack(Blocks.tfftStorageField, 1), 'C', "circuitData", 'V', + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.VibrantAlloy, 1), }); + + // SOFC Controller mk1 + final Object[] mk1_recipe = { "CCC", "PHP", "FBL", 'C', OrePrefixes.circuit.get(Materials.Advanced), 'P', + ItemList.Electric_Pump_HV.get(1L), 'H', ItemList.Hull_HV.get(1L), 'F', + GT_OreDictUnificator.get(OrePrefixes.pipeSmall, Materials.StainlessSteel, 1), 'B', + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Gold, 1), 'L', + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.StainlessSteel, 1) }; + GT_ModHandler.addCraftingRecipe(TileEntities.sofc1.getStackForm(1), mk1_recipe); + + // SOFC Controller mk2 + final Object[] mk2_recipe = { "CCC", "PHP", "FBL", 'C', OrePrefixes.circuit.get(Materials.Master), 'P', + ItemList.Electric_Pump_IV.get(1L), 'H', ItemList.Hull_IV.get(1L), 'F', + GT_OreDictUnificator.get(OrePrefixes.pipeSmall, Materials.Ultimate, 1), 'B', + Util.getStackofAmountFromOreDict("wireGt04SuperconductorEV", 1), 'L', + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Ultimate, 1) }; + GT_ModHandler.addCraftingRecipe(TileEntities.sofc2.getStackForm(1), mk2_recipe); + + // LSC Controller + final Object[] lsc_recipe = { "LPL", "CBC", "LPL", 'L', ItemList.IC2_LapotronCrystal.getWildcard(1L), 'P', + ItemList.Circuit_Chip_PIC.get(1L), 'C', OrePrefixes.circuit.get(Materials.Master), 'B', + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0), }; + GT_ModHandler.addCraftingRecipe(TileEntities.lsc.getStackForm(1), lsc_recipe); + + // LSC casing + final Object[] lcBase_recipe = { "WBW", "RLR", "WBW", 'W', OrePrefixes.plate.get(Materials.Tantalum), 'B', + OrePrefixes.frameGt.get(Materials.TungstenSteel), 'R', + OrePrefixes.stickLong.get(Materials.TungstenSteel), 'L', OrePrefixes.block.get(Materials.Lapis) }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0), lcBase_recipe); + + // Empty Capacitor + final Object[] lcEmpty_recipe = { "SLS", "L L", "SLS", 'S', OrePrefixes.screw.get(Materials.Lapis), 'L', + OrePrefixes.plate.get(Materials.Lapis) }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), lcEmpty_recipe); + + // EV Capacitor + final Object[] lcEV_recipe = { "SLS", "LCL", "SLS", 'S', OrePrefixes.screw.get(Materials.Lapis), 'L', + OrePrefixes.plate.get(Materials.Lapis), 'C', + GT_ModHandler.getIC2Item("lapotronCrystal", 1L, GT_Values.W) }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 7), lcEV_recipe); + + // IV Capacitor + final Object[] lcIV_recipe = { "SLS", "LOL", "SLS", 'S', OrePrefixes.screw.get(Materials.Lapis), 'L', + OrePrefixes.plate.get(Materials.Lapis), 'O', ItemList.Energy_LapotronicOrb.get(1L) }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), lcIV_recipe); + + } +} diff --git a/src/main/java/common/recipeLoaders/FormingPress.java b/src/main/java/common/recipeLoaders/FormingPress.java new file mode 100644 index 0000000000..b53a68da27 --- /dev/null +++ b/src/main/java/common/recipeLoaders/FormingPress.java @@ -0,0 +1,28 @@ +package common.recipeLoaders; + +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPressRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import kekztech.Items; + +import common.items.MetaItem_CraftingComponent; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.TierEU; + +public class FormingPress implements Runnable { + + @Override + public void run() { + final MetaItem_CraftingComponent craftingItem = MetaItem_CraftingComponent.getInstance(); + + // YSZ Ceramic Plate + GT_Values.RA.stdBuilder() + .itemInputs( + craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicDust.getMetaID(), 10), + ItemList.Shape_Mold_Plate.get(0)) + .itemOutputs(craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicPlate.getMetaID(), 1)) + .noFluidInputs().noFluidOutputs().duration(40 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sPressRecipes); + } +} diff --git a/src/main/java/common/recipeLoaders/Mixer.java b/src/main/java/common/recipeLoaders/Mixer.java new file mode 100644 index 0000000000..a3a9d6d3e6 --- /dev/null +++ b/src/main/java/common/recipeLoaders/Mixer.java @@ -0,0 +1,44 @@ +package common.recipeLoaders; + +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import kekztech.Items; + +import net.minecraft.item.ItemStack; + +import common.items.ErrorItem; +import common.items.MetaItem_CraftingComponent; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Utility; + +public class Mixer implements Runnable { + + @Override + public void run() { + final MetaItem_CraftingComponent craftingItem = MetaItem_CraftingComponent.getInstance(); + + // YSZ Ceramic Dust + GT_Values.RA.stdBuilder() + .itemInputs( + Items.YttriaDust.getOreDictedItemStack(1), + Items.ZirconiaDust.getOreDictedItemStack(5), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicDust.getMetaID(), 6)) + .noFluidInputs().noFluidOutputs().duration(20 * SECONDS).eut(96).addTo(sMixerRecipes); + + // GDC Ceramic Dust + GT_Values.RA.stdBuilder().itemInputs( + GT_OreDictUnificator + .get(OrePrefixes.dust, Materials.Gadolinium, new ItemStack(ErrorItem.getInstance(), 1), 1), + craftingItem.getStackOfAmountFromDamage(Items.CeriaDust.getMetaID(), 9), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicDust.getMetaID(), 10)) + .noFluidInputs().noFluidOutputs().duration(20 * SECONDS).eut(TierEU.RECIPE_EV).addTo(sMixerRecipes); + } +} diff --git a/src/main/java/common/recipeLoaders/ResearchableAssemblyLine.java b/src/main/java/common/recipeLoaders/ResearchableAssemblyLine.java new file mode 100644 index 0000000000..ce8c68fd15 --- /dev/null +++ b/src/main/java/common/recipeLoaders/ResearchableAssemblyLine.java @@ -0,0 +1,136 @@ +package common.recipeLoaders; + +import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import com.github.technus.tectech.recipe.TT_recipeAdder; +import common.Blocks; + +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class ResearchableAssemblyLine implements Runnable { + + @Override + public void run() { + final Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null + ? FluidRegistry.getFluid("molten.mutatedlivingsolder") + : FluidRegistry.getFluid("molten.solderingalloy"); + + // Extremely Ultimate Capacitor (UEV) + TT_recipeAdder.addResearchableAssemblylineRecipe( + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5), + 1200000, + 128, + 8000000, + 16, + new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 24), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.InfinityCatalyst, 32L), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.InfinityCatalyst, 32L), + new Object[] { OrePrefixes.circuit.get(Materials.Optical), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Optical), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Optical), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Optical), 1 }, ItemList.ZPM3.get(8L), + ItemList.Field_Generator_UEV.get(4), ItemList.Circuit_Wafer_PPIC.get(64), + ItemList.Circuit_Wafer_PPIC.get(64), ItemList.Circuit_Wafer_SoC2.get(64), + ItemList.Circuit_Parts_DiodeXSMD.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUEV, 64) }, + new FluidStack[] { new FluidStack(solderUEV, 9216), Materials.Quantium.getMolten(18432), + Materials.Naquadria.getMolten(18432), Materials.SuperCoolant.getFluid(64000) }, + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 8), + 250 * 20, + (int) TierEU.RECIPE_UEV); + + if (GTPlusPlus.isModLoaded()) { + // Insanely Ultimate Capacitor (UIV) + TT_recipeAdder.addResearchableAssemblylineRecipe( + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 8), + 24_000_000, + 1_280, + 32_000_000, + 32, + new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 24), + GT_ModHandler.getModItem(GTPlusPlus.ID, "itemPlateDoubleHypogen", 32), + GT_ModHandler.getModItem(GTPlusPlus.ID, "itemPlateDoubleHypogen", 32), + new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 }, ItemList.ZPM4.get(8L), + ItemList.Field_Generator_UIV.get(4), ItemList.Circuit_Wafer_QPIC.get(64), + ItemList.Circuit_Wafer_QPIC.get(64), + GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RawPicoWafer", 64), + ItemList.Circuit_Parts_DiodeXSMD.get(64), ItemList.Circuit_Parts_InductorXSMD.get(32), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUIV, 64) }, + new FluidStack[] { new FluidStack(solderUEV, 18_432), + new FluidStack(FluidRegistry.getFluid("molten.celestialtungsten"), 18432), + Materials.Quantium.getMolten(18_432), Materials.SuperCoolant.getFluid(128_000) }, + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9), + 300 * 20, + (int) TierEU.RECIPE_UIV); + + // Mega Ultimate Capacitor (UMV) + TT_recipeAdder.addResearchableAssemblylineRecipe( + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9), + 480_000_000, + 12_288, + 128_000_000, + 64, + new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 24), + GT_ModHandler.getModItem(GTPlusPlus.ID, "itemPlateDoubleDragonblood", 32), + GT_ModHandler.getModItem(GTPlusPlus.ID, "itemPlateDoubleDragonblood", 32), + new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 }, ItemList.ZPM5.get(8L), + ItemList.Field_Generator_UMV.get(4), ItemList.Circuit_Wafer_QPIC.get(64), + ItemList.Circuit_Wafer_QPIC.get(64), + GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 64), + ItemList.Circuit_Parts_DiodeXSMD.get(64), ItemList.Circuit_Parts_InductorXSMD.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUMV, 64) }, + new FluidStack[] { new FluidStack(solderUEV, 36_864), + new FluidStack(FluidRegistry.getFluid("molten.astraltitanium"), 36_864), + new FluidStack(FluidRegistry.getFluid("molten.celestialtungsten"), 36_864), + Materials.SuperCoolant.getFluid(256_000) }, + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 10), + 350 * 20, + (int) TierEU.RECIPE_UMV); + } + + // Ultimate Capacitor (UHV) + TT_recipeAdder.addResearchableAssemblylineRecipe( + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4), + 12000, + 16, + 300000, + 3, + new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 4), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 24), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), + GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), + new Object[] { OrePrefixes.circuit.get(Materials.Bio), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Bio), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Bio), 1 }, + new Object[] { OrePrefixes.circuit.get(Materials.Bio), 1 }, ItemList.ZPM2.get(8L), + ItemList.Field_Generator_UHV.get(4), ItemList.Circuit_Wafer_UHPIC.get(64), + ItemList.Circuit_Wafer_UHPIC.get(64), ItemList.Circuit_Wafer_SoC2.get(32), + ItemList.Circuit_Parts_DiodeASMD.get(64), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64) }, + new FluidStack[] { new FluidStack(solderUEV, 4608), Materials.Naquadria.getMolten(9216), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000) }, + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5), + 4000, + 1600000); + } +} diff --git a/src/main/java/common/recipeLoaders/Unpackager.java b/src/main/java/common/recipeLoaders/Unpackager.java new file mode 100644 index 0000000000..ed39cd1e01 --- /dev/null +++ b/src/main/java/common/recipeLoaders/Unpackager.java @@ -0,0 +1,146 @@ +package common.recipeLoaders; + +import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import net.minecraft.item.ItemStack; + +import common.Blocks; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; + +public class Unpackager implements Runnable { + + @Override + public void run() { + + // TFFT Recycling + { + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.tfftStorageField, 1, 1), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CrudeSteel, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CrudeSteel, 6)).noFluidInputs() + .noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.tfftStorageField, 1, 2), ItemList.Casing_Tank_1.get(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnergeticSilver, 6)) + .noFluidInputs().noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.tfftStorageField, 1, 3), ItemList.Casing_Tank_3.get(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VividAlloy, 6)).noFluidInputs() + .noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.tfftStorageField, 1, 4), ItemList.Casing_Tank_5.get(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Enderium, 6)).noFluidInputs() + .noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.tfftStorageField, 1, 5), ItemList.Casing_Tank_7.get(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CrystallineAlloy, 6)) + .noFluidInputs().noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.tfftStorageField, 1, 6), ItemList.Casing_Tank_7.get(4)) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.CrystallinePinkSlime, 6)) + .noFluidInputs().noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.tfftStorageField, 1, 7), ItemList.Casing_Tank_10.get(16)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.MelodicAlloy, 6)) + .noFluidInputs().noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.tfftStorageField, 1, 8), ItemList.Quantum_Tank_IV.get(1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.StellarAlloy, 12)) + .noFluidInputs().noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.tfftStorageField, 1, 9), ItemList.Quantum_Tank_IV.get(4)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TranscendentMetal, 12)) + .noFluidInputs().noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.tfftStorageField, 1, 10), ItemList.Quantum_Tank_IV.get(16)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.SpaceTime, 12)) + .noFluidInputs().noFluidOutputs().duration(5 * SECONDS).eut(TierEU.RECIPE_HV) + .addTo(sUnboxinatorRecipes); + + } + + // Capacitor recycling + { + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 7), + GT_ModHandler.getIC2Item("lapotronCrystal", 1L, 26)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6)).noFluidInputs().noFluidOutputs() + .duration(60 * SECONDS).eut(TierEU.RECIPE_LV).addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), + ItemList.Energy_LapotronicOrb.get(1L)) + .itemOutputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6)).noFluidInputs().noFluidOutputs() + .duration(60 * SECONDS).eut(TierEU.RECIPE_LV).addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2), + ItemList.Energy_LapotronicOrb2.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Osmiridium, 24)).noFluidInputs() + .noFluidOutputs().duration(60 * SECONDS).eut(TierEU.RECIPE_LV).addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3), ItemList.Energy_Module.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 24)) + .noFluidInputs().noFluidOutputs().duration(60 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4), ItemList.Energy_Cluster.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 24)).noFluidInputs() + .noFluidOutputs().duration(60 * SECONDS).eut(TierEU.RECIPE_LV).addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5), ItemList.ZPM3.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 24)) + .noFluidInputs().noFluidOutputs().duration(60 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 8), ItemList.ZPM4.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 24)).noFluidInputs() + .noFluidOutputs().duration(60 * SECONDS).eut(TierEU.RECIPE_LV).addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9), ItemList.ZPM5.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 24)) + .noFluidInputs().noFluidOutputs().duration(60 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(sUnboxinatorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 10), ItemList.ZPM6.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 24)).noFluidInputs() + .noFluidOutputs().duration(60 * SECONDS).eut(TierEU.RECIPE_LV).addTo(sUnboxinatorRecipes); + + } + } +} diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index 7568bbb659..78338e4a27 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -1,7 +1,23 @@ package common.tileentities; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static common.itemBlocks.IB_LapotronicEnergyUnit.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.onlyIf; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.withChannel; +import static common.itemBlocks.IB_LapotronicEnergyUnit.EV_cap_storage; +import static common.itemBlocks.IB_LapotronicEnergyUnit.IV_cap_storage; +import static common.itemBlocks.IB_LapotronicEnergyUnit.LSC_time_between_wireless_rebalance_in_ticks; +import static common.itemBlocks.IB_LapotronicEnergyUnit.LSC_wireless_eu_cap; +import static common.itemBlocks.IB_LapotronicEnergyUnit.LuV_cap_storage; +import static common.itemBlocks.IB_LapotronicEnergyUnit.UEV_wireless_eu_cap; +import static common.itemBlocks.IB_LapotronicEnergyUnit.UIV_cap_storage; +import static common.itemBlocks.IB_LapotronicEnergyUnit.UIV_wireless_eu_cap; +import static common.itemBlocks.IB_LapotronicEnergyUnit.UMV_cap_storage; +import static common.itemBlocks.IB_LapotronicEnergyUnit.UMV_wireless_eu_cap; +import static common.itemBlocks.IB_LapotronicEnergyUnit.UV_cap_storage; +import static common.itemBlocks.IB_LapotronicEnergyUnit.ZPM_cap_storage; import static gregtech.api.enums.GT_HatchElement.Maintenance; import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; @@ -10,7 +26,14 @@ import static java.lang.Math.min; import java.math.BigInteger; import java.text.NumberFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import java.util.Set; import java.util.function.Consumer; import net.minecraft.block.Block; @@ -40,7 +63,6 @@ import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructa import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.IStructureElement; -import com.gtnewhorizon.structurelib.structure.IStructureElement.PlaceResult; import com.gtnewhorizon.structurelib.structure.StructureUtility; import com.gtnewhorizon.structurelib.util.ItemStackPredicate.NBTMode; import com.gtnewhorizons.modularui.api.drawable.IDrawable; @@ -60,7 +82,11 @@ import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.*; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Utility; @@ -84,10 +110,10 @@ public class GTMTE_LapotronicSuperCapacitor private final Queue<Long> energyInputValues = new LinkedList<>(); private final Queue<Long> energyOutputValues = new LinkedList<>(); - private long max_passive_drain_eu_per_tick_per_uhv_cap = 1_000_000; - private long max_passive_drain_eu_per_tick_per_uev_cap = 100_000_000; - private long max_passive_drain_eu_per_tick_per_uiv_cap = (long) Math.pow(10, 10); - private long max_passive_drain_eu_per_tick_per_umv_cap = (long) Math.pow(10, 12); + private final long max_passive_drain_eu_per_tick_per_uhv_cap = 1_000_000; + private final long max_passive_drain_eu_per_tick_per_uev_cap = 100_000_000; + private final long max_passive_drain_eu_per_tick_per_uiv_cap = (long) Math.pow(10, 10); + private final long max_passive_drain_eu_per_tick_per_umv_cap = (long) Math.pow(10, 12); private enum Capacitor { diff --git a/src/main/java/common/tileentities/GTMTE_SOFuelCellMK1.java b/src/main/java/common/tileentities/GTMTE_SOFuelCellMK1.java index 888f2c71e6..a17694b579 100644 --- a/src/main/java/common/tileentities/GTMTE_SOFuelCellMK1.java +++ b/src/main/java/common/tileentities/GTMTE_SOFuelCellMK1.java @@ -1,7 +1,14 @@ package common.tileentities; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static gregtech.api.enums.Textures.BlockIcons.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlockAnyMeta; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_HEAT_EXCHANGER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_HEAT_EXCHANGER_ACTIVE; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_HEAT_EXCHANGER_ACTIVE_GLOW; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_HEAT_EXCHANGER_GLOW; import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; import java.util.ArrayList; diff --git a/src/main/java/common/tileentities/GTMTE_SOFuelCellMK2.java b/src/main/java/common/tileentities/GTMTE_SOFuelCellMK2.java index 56986228ae..baaef17858 100644 --- a/src/main/java/common/tileentities/GTMTE_SOFuelCellMK2.java +++ b/src/main/java/common/tileentities/GTMTE_SOFuelCellMK2.java @@ -1,8 +1,13 @@ package common.tileentities; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlockAnyMeta; -import static gregtech.api.enums.Textures.BlockIcons.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_HEAT_EXCHANGER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_HEAT_EXCHANGER_ACTIVE; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_HEAT_EXCHANGER_ACTIVE_GLOW; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_HEAT_EXCHANGER_GLOW; import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; diff --git a/src/main/java/common/tileentities/GTMTE_TFFT.java b/src/main/java/common/tileentities/GTMTE_TFFT.java index 8978ae90a9..3c679bd514 100644 --- a/src/main/java/common/tileentities/GTMTE_TFFT.java +++ b/src/main/java/common/tileentities/GTMTE_TFFT.java @@ -1,7 +1,14 @@ package common.tileentities; -import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; -import static gregtech.api.enums.GT_HatchElement.*; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlockUnlocalizedName; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; +import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; +import static gregtech.api.enums.GT_HatchElement.Energy; +import static gregtech.api.enums.GT_HatchElement.InputHatch; +import static gregtech.api.enums.GT_HatchElement.Maintenance; +import static gregtech.api.enums.GT_HatchElement.OutputHatch; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import static java.lang.Math.min; @@ -27,7 +34,11 @@ import com.github.bartimaeusnek.bartworks.API.BorosilicateGlass; import com.gtnewhorizon.structurelib.StructureLibAPI; import com.gtnewhorizon.structurelib.alignment.constructable.ChannelDataAccessor; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; -import com.gtnewhorizon.structurelib.structure.*; +import com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment; +import com.gtnewhorizon.structurelib.structure.IStructureDefinition; +import com.gtnewhorizon.structurelib.structure.IStructureElement; +import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; +import com.gtnewhorizon.structurelib.structure.StructureUtility; import com.gtnewhorizon.structurelib.util.ItemStackPredicate; import common.Blocks; diff --git a/src/main/java/common/tileentities/GTMTE_TFFTHatch.java b/src/main/java/common/tileentities/GTMTE_TFFTHatch.java index 37e3ade77a..414eb4a7fb 100644 --- a/src/main/java/common/tileentities/GTMTE_TFFTHatch.java +++ b/src/main/java/common/tileentities/GTMTE_TFFTHatch.java @@ -11,7 +11,11 @@ import appeng.api.AEApi; import appeng.api.config.AccessRestriction; import appeng.api.config.Actionable; import appeng.api.networking.security.BaseActionSource; -import appeng.api.storage.*; +import appeng.api.storage.IExternalStorageHandler; +import appeng.api.storage.IMEInventory; +import appeng.api.storage.IMEMonitor; +import appeng.api.storage.IMEMonitorHandlerReceiver; +import appeng.api.storage.StorageChannel; import appeng.api.storage.data.IAEFluidStack; import appeng.api.storage.data.IItemList; import appeng.util.item.AEFluidStack; diff --git a/src/main/java/common/tileentities/TE_BeamTransmitter.java b/src/main/java/common/tileentities/TE_BeamTransmitter.java index 1d6915ade2..e8999e393f 100644 --- a/src/main/java/common/tileentities/TE_BeamTransmitter.java +++ b/src/main/java/common/tileentities/TE_BeamTransmitter.java @@ -13,7 +13,7 @@ public class TE_BeamTransmitter extends TileEntity { private final Vector3ic position; - private Vector3ic target = new Vector3i(10, 20, 10); + private final Vector3ic target = new Vector3i(10, 20, 10); private double distanceCache; private boolean distanceCacheValid = false; diff --git a/src/main/java/common/tileentities/TE_ItemProxySource.java b/src/main/java/common/tileentities/TE_ItemProxySource.java index 78c338b920..31403f5352 100644 --- a/src/main/java/common/tileentities/TE_ItemProxySource.java +++ b/src/main/java/common/tileentities/TE_ItemProxySource.java @@ -7,7 +7,7 @@ import net.minecraft.tileentity.TileEntity; public class TE_ItemProxySource extends TileEntity implements IInventory { - private ItemStack[] slots = new ItemStack[16]; + private final ItemStack[] slots = new ItemStack[16]; private String idCache = null; /** diff --git a/src/main/java/kekztech/KekzCore.java b/src/main/java/kekztech/KekzCore.java index 557cfcb28c..59d5cab059 100644 --- a/src/main/java/kekztech/KekzCore.java +++ b/src/main/java/kekztech/KekzCore.java @@ -8,7 +8,6 @@ import org.apache.logging.log4j.Logger; import com.google.common.collect.ImmutableSet; import common.CommonProxy; -import common.tileentities.*; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; @@ -16,6 +15,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLMissingMappingsEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import gregtech.api.enums.Mods; /** * My GT-Meta-IDs are: 13101 - 13500 @@ -35,12 +35,12 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; public class KekzCore { public static final String NAME = "KekzTech"; - public static final String MODID = "kekztech"; + public static final String MODID = Mods.Names.KEKZ_TECH; public static final String VERSION = "GRADLETOKEN_VERSION"; public static final Logger LOGGER = LogManager.getLogger(NAME); - @Mod.Instance("kekztech") + @Mod.Instance(Mods.Names.KEKZ_TECH) public static KekzCore instance; @SidedProxy(clientSide = "client.ClientProxy", serverSide = "kekztech.ServerProxy") diff --git a/src/main/java/util/Vector3ic.java b/src/main/java/util/Vector3ic.java index ea9a429d6f..296c4f0268 100644 --- a/src/main/java/util/Vector3ic.java +++ b/src/main/java/util/Vector3ic.java @@ -2,9 +2,9 @@ package util; public interface Vector3ic { - public int x(); + int x(); - public int y(); + int y(); - public int z(); + int z(); } |