aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle265
-rw-r--r--dependencies.gradle40
-rw-r--r--repositories.gradle52
-rw-r--r--src/main/java/goodgenerator/blocks/myFluids/BaseFluid.java34
-rw-r--r--src/main/java/goodgenerator/blocks/myFluids/FluidsBuilder.java118
-rw-r--r--src/main/java/goodgenerator/blocks/regularBlock/Casing.java17
-rw-r--r--src/main/java/goodgenerator/blocks/regularBlock/ComplexTextureCasing.java10
-rw-r--r--src/main/java/goodgenerator/blocks/regularBlock/Frame.java9
-rw-r--r--src/main/java/goodgenerator/blocks/regularBlock/ITextureBlock.java1
-rw-r--r--src/main/java/goodgenerator/blocks/regularBlock/TEBlock.java43
-rw-r--r--src/main/java/goodgenerator/blocks/regularBlock/TurbineCasing.java40
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/CoolantTower.java287
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/EssentiaHatch.java25
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/EssentiaOutputHatch.java6
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/EssentiaOutputHatch_ME.java36
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/ExtremeHeatExchanger.java242
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/FuelRefineFactory.java182
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/DieselGenerator.java142
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/NeutronAccelerator.java16
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/NeutronSensor.java50
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/YOTTAHatch.java161
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaGenerator.java333
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java189
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/LargeFusionComputer1.java59
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/LargeFusionComputer2.java19
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/LargeFusionComputer3.java19
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/LargeFusionComputer4.java68
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/LargeFusionComputer5.java66
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/MegaPlasmaTurbine.java19
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/MultiNqGenerator.java220
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java172
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java155
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/SupercriticalFluidTurbine.java31
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/UniversalChemicalFuelEngine.java215
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java206
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java232
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_TooltipMultiBlockBase_EM.java7
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputer.java677
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputerPP.java669
-rw-r--r--src/main/java/goodgenerator/client/ClientProxy.java10
-rw-r--r--src/main/java/goodgenerator/client/GUI/LargeFusionComputerGUIClient.java18
-rw-r--r--src/main/java/goodgenerator/client/GUI/NeutronActivatorGUIClient.java6
-rw-r--r--src/main/java/goodgenerator/client/GUI/NeutronSensorGUIClient.java41
-rw-r--r--src/main/java/goodgenerator/client/GUI/YOTTankGUIClient.java26
-rw-r--r--src/main/java/goodgenerator/client/render/BlockRenderHandler.java89
-rw-r--r--src/main/java/goodgenerator/common/CommonProxy.java8
-rw-r--r--src/main/java/goodgenerator/common/container/NeutronActivatorGUIContainer.java9
-rw-r--r--src/main/java/goodgenerator/common/container/YOTTankGUIContainer.java20
-rw-r--r--src/main/java/goodgenerator/crossmod/LoadedList.java1
-rw-r--r--src/main/java/goodgenerator/crossmod/ic2/CropsLoader.java1
-rw-r--r--src/main/java/goodgenerator/crossmod/ic2/GGCropsSaltyRoot.java14
-rw-r--r--src/main/java/goodgenerator/crossmod/nei/ExtremeHeatExchangerHandler.java26
-rw-r--r--src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java6
-rw-r--r--src/main/java/goodgenerator/crossmod/nei/NEI_Config.java4
-rw-r--r--src/main/java/goodgenerator/crossmod/nei/NeutronActivatorHandler.java32
-rw-r--r--src/main/java/goodgenerator/crossmod/nei/PreciseAssemblerHandler.java8
-rw-r--r--src/main/java/goodgenerator/crossmod/thaumcraft/LargeEssentiaEnergyData.java56
-rw-r--r--src/main/java/goodgenerator/crossmod/thaumcraft/Research.java1166
-rw-r--r--src/main/java/goodgenerator/items/DepletedFuelRod.java7
-rw-r--r--src/main/java/goodgenerator/items/FuelRod.java87
-rw-r--r--src/main/java/goodgenerator/items/MyItemBlocks.java37
-rw-r--r--src/main/java/goodgenerator/items/MyItems.java194
-rw-r--r--src/main/java/goodgenerator/items/MyMaterial.java780
-rw-r--r--src/main/java/goodgenerator/items/RadioactiveItem.java3
-rw-r--r--src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java17
-rw-r--r--src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java6
-rw-r--r--src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java44
-rw-r--r--src/main/java/goodgenerator/items/nuclear/NuclearTextures.java10
-rw-r--r--src/main/java/goodgenerator/loader/AchievementLoader.java3
-rw-r--r--src/main/java/goodgenerator/loader/FuelRecipeLoader.java113
-rw-r--r--src/main/java/goodgenerator/loader/FuelRodLoader.java183
-rw-r--r--src/main/java/goodgenerator/loader/Loaders.java253
-rw-r--r--src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java658
-rw-r--r--src/main/java/goodgenerator/loader/NeutronActivatorLoader.java45
-rw-r--r--src/main/java/goodgenerator/loader/RecipeLoader.java1841
-rw-r--r--src/main/java/goodgenerator/loader/RecipeLoader_02.java2713
-rw-r--r--src/main/java/goodgenerator/main/GG_Config_Loader.java133
-rw-r--r--src/main/java/goodgenerator/main/GoodGenerator.java49
-rw-r--r--src/main/java/goodgenerator/network/MessageMTEBase.java15
-rw-r--r--src/main/java/goodgenerator/network/MessageOpenNeutronSensorGUI.java5
-rw-r--r--src/main/java/goodgenerator/network/MessageResetTileTexture.java4
-rw-r--r--src/main/java/goodgenerator/network/MessageSetNeutronSensorData.java8
-rw-r--r--src/main/java/goodgenerator/tabs/MyTabs.java2
-rw-r--r--src/main/java/goodgenerator/util/CharExchanger.java94
-rw-r--r--src/main/java/goodgenerator/util/CrackRecipeAdder.java454
-rw-r--r--src/main/java/goodgenerator/util/DescTextLocalization.java8
-rw-r--r--src/main/java/goodgenerator/util/ItemRefer.java6
-rw-r--r--src/main/java/goodgenerator/util/MaterialFix.java207
-rw-r--r--src/main/java/goodgenerator/util/MyRecipeAdder.java357
-rw-r--r--src/main/java/goodgenerator/util/StructureHelper.java39
-rw-r--r--src/main/resources/assets/goodgenerator/textures/gui/neutron_activator.pngbin2986 -> 4019 bytes
91 files changed, 8371 insertions, 6677 deletions
diff --git a/build.gradle b/build.gradle
index c8cf37cd1f..5073008f95 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,4 +1,4 @@
-//version: 1644894948
+//version: 1656760732
/*
DO NOT CHANGE THIS FILE!
@@ -6,14 +6,18 @@ Also, you may replace this file at any time if there is an update available.
Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/main/build.gradle for updates.
*/
-import org.gradle.internal.logging.text.StyledTextOutput
-import org.gradle.internal.logging.text.StyledTextOutputFactory
-import org.gradle.internal.logging.text.StyledTextOutput.Style
import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
+import org.gradle.internal.logging.text.StyledTextOutput.Style
+import org.gradle.internal.logging.text.StyledTextOutputFactory
+import java.nio.file.Files
+import java.nio.file.Paths
import java.util.concurrent.TimeUnit
+import java.util.zip.ZipEntry
+import java.util.zip.ZipInputStream
+import java.util.zip.ZipOutputStream
buildscript {
repositories {
@@ -45,13 +49,15 @@ plugins {
id 'eclipse'
id 'scala'
id 'maven-publish'
- id 'org.jetbrains.kotlin.jvm' version '1.5.30' apply false
- id 'org.jetbrains.kotlin.kapt' version '1.5.30' apply false
+ id 'org.jetbrains.kotlin.jvm' version '1.5.30' apply false
+ id 'org.jetbrains.kotlin.kapt' version '1.5.30' apply false
+ id 'com.google.devtools.ksp' version '1.5.30-1.0.0' apply false
id 'org.ajoberstar.grgit' version '4.1.1'
id 'com.github.johnrengelman.shadow' version '4.0.4'
- id 'com.palantir.git-version' version '0.13.0' apply false
+ id 'com.palantir.git-version' version '0.13.0' apply false
id 'de.undercouch.download' version '5.0.1'
- id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false
+ id 'com.github.gmazzo.buildconfig' version '3.0.3' apply false
+ id "com.diffplug.spotless" version "6.7.2"
}
if (project.file('.git/HEAD').isFile()) {
@@ -78,6 +84,37 @@ idea {
}
}
+// Spotless autoformatter
+// See https://github.com/diffplug/spotless/tree/main/plugin-gradle
+// Can be locally toggled via spotless:off/spotless:on comments
+spotless {
+ encoding 'UTF-8'
+
+ format 'misc', {
+ target '.gitignore'
+
+ trimTrailingWhitespace()
+ indentWithSpaces(4)
+ endWithNewline()
+ }
+ java {
+ toggleOffOn()
+ importOrder()
+ removeUnusedImports()
+ palantirJavaFormat('1.1.0') // last version supporting jvm 8
+ }
+ kotlin {
+ toggleOffOn()
+ ktfmt('0.39')
+ }
+ groovyGradle {
+ toggleOffOn()
+ importOrder()
+ target '*.gradle'
+ greclipse('4.19.0') // last version supporting jvm 8
+ }
+}
+
if(JavaVersion.current() != JavaVersion.VERSION_1_8) {
throw new GradleException("This project requires Java 8, but it's running on " + JavaVersion.current())
}
@@ -104,6 +141,11 @@ checkPropertyExists("usesShadowedDependencies")
checkPropertyExists("developmentEnvironmentUserName")
boolean noPublishedSources = project.findProperty("noPublishedSources") ? project.noPublishedSources.toBoolean() : false
+boolean usesMixinDebug = project.findProperty('usesMixinDebug') ?: project.usesMixins.toBoolean()
+boolean forceEnableMixins = project.findProperty('forceEnableMixins') ? project.forceEnableMixins.toBoolean() : false
+String channel = project.findProperty('channel') ? project.channel : 'stable'
+String mappingsVersion = project.findProperty('mappingsVersion') ? project.mappingsVersion : '12'
+String remoteMappings = project.findProperty('remoteMappings') ? project.remoteMappings : 'https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/'
String javaSourceDir = "src/main/java/"
String scalaSourceDir = "src/main/scala/"
@@ -214,13 +256,17 @@ else {
def arguments = []
def jvmArguments = []
-if(usesMixins.toBoolean()) {
+if (usesMixins.toBoolean() || forceEnableMixins) {
arguments += [
- "--tweakClass org.spongepowered.asm.launch.MixinTweaker"
- ]
- jvmArguments += [
- "-Dmixin.debug.countInjections=true", "-Dmixin.debug.verbose=true", "-Dmixin.debug.export=true"
+ "--tweakClass org.spongepowered.asm.launch.MixinTweaker"
]
+ if (usesMixinDebug.toBoolean()) {
+ jvmArguments += [
+ "-Dmixin.debug.countInjections=true",
+ "-Dmixin.debug.verbose=true",
+ "-Dmixin.debug.export=true"
+ ]
+ }
}
minecraft {
@@ -275,7 +321,7 @@ repositories {
name 'Overmind forge repo mirror'
url 'https://gregtech.overminddl1.com/'
}
- if(usesMixins.toBoolean()) {
+ if(usesMixins.toBoolean() || forceEnableMixins) {
maven {
name 'sponge'
url 'https://repo.spongepowered.org/repository/maven-public'
@@ -292,6 +338,8 @@ dependencies {
annotationProcessor('com.google.guava:guava:24.1.1-jre')
annotationProcessor('com.google.code.gson:gson:2.8.6')
annotationProcessor('org.spongepowered:mixin:0.8-SNAPSHOT')
+ }
+ if(usesMixins.toBoolean() || forceEnableMixins) {
// using 0.8 to workaround a issue in 0.7 which fails mixin application
compile('com.github.GTNewHorizons:SpongePoweredMixin:0.7.12-GTNH') {
// Mixin includes a lot of dependencies that are too up-to-date
@@ -312,18 +360,23 @@ def refMap = "${tasks.compileJava.temporaryDir}" + File.separator + mixingConfig
def mixinSrg = "${tasks.reobf.temporaryDir}" + File.separator + "mixins.srg"
task generateAssets {
- if(usesMixins.toBoolean()) {
- getFile("/src/main/resources/mixins." + modId + ".json").text = """{
+ if (usesMixins.toBoolean()) {
+ def mixinConfigFile = getFile("/src/main/resources/mixins." + modId + ".json");
+ if (!mixinConfigFile.exists()) {
+ mixinConfigFile.text = """{
"required": true,
"minVersion": "0.7.11",
"package": "${modGroup}.${mixinsPackage}",
"plugin": "${modGroup}.${mixinPlugin}",
"refmap": "${mixingConfigRefMap}",
"target": "@env(DEFAULT)",
- "compatibilityLevel": "JAVA_8"
+ "compatibilityLevel": "JAVA_8",
+ "mixins": [],
+ "client": [],
+ "server": []
}
-
"""
+ }
}
}
@@ -462,7 +515,7 @@ def getManifestAttributes() {
}
task sourcesJar(type: Jar) {
- from (sourceSets.main.allJava)
+ from (sourceSets.main.allSource)
from (file("$projectDir/LICENSE"))
getArchiveClassifier().set('sources')
}
@@ -517,7 +570,7 @@ task devJar(type: Jar) {
}
task apiJar(type: Jar) {
- from (sourceSets.main.allJava) {
+ from (sourceSets.main.allSource) {
include modGroup.toString().replaceAll("\\.", "/") + "/" + apiPackage.toString().replaceAll("\\.", "/") + '/**'
}
@@ -559,7 +612,7 @@ publishing {
artifact source: shadowJar, classifier: ""
}
if(!noPublishedSources) {
- artifact source: sourcesJar, classifier: "src"
+ artifact source: sourcesJar, classifier: "sources"
}
artifact source: usesShadowedDependencies.toBoolean() ? shadowDevJar : devJar, classifier: "dev"
if (apiPackage) {
@@ -659,7 +712,103 @@ configure(updateBuildScript) {
description = 'Updates the build script to the latest version'
}
-// Deobfuscation
+// Parameter Deobfuscation
+
+task deobfParams {
+ doLast {
+
+ String mcpDir = "$project.gradle.gradleUserHomeDir/caches/minecraft/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion"
+ String mcpZIP = "$mcpDir/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip"
+ String paramsCSV = "$mcpDir/params.csv"
+
+ download.run {
+ src "https://maven.minecraftforge.net/de/oceanlabs/mcp/mcp_$channel/$mappingsVersion-$minecraftVersion/mcp_$channel-$mappingsVersion-${minecraftVersion}.zip"
+ dest mcpZIP
+ overwrite false
+ }
+
+ if(!file(paramsCSV).exists()) {
+ println("Extracting MCP archive ...")
+ unzip(mcpZIP, mcpDir)
+ }
+
+ println("Parsing params.csv ...")
+ Map<String, String> params = new HashMap<>()
+ Files.lines(Paths.get(paramsCSV)).forEach{line ->
+ String[] cells = line.split(",")
+ if(cells.length > 2 && cells[0].matches("p_i?\\d+_\\d+_")) {
+ params.put(cells[0], cells[1])
+ }
+ }
+
+ out.style(Style.Success).println("Modified ${replaceParams(file("$projectDir/src/main/java"), params)} files!")
+ out.style(Style.Failure).println("Don't forget to verify that the code still works as before!\n It could be broken due to duplicate variables existing now\n or parameters taking priority over other variables.")
+ }
+}
+
+static int replaceParams(File file, Map<String, String> params) {
+ int fileCount = 0
+
+ if(file.isDirectory()) {
+ for(File f : file.listFiles()) {
+ fileCount += replaceParams(f, params)
+ }
+ return fileCount
+ }
+ println("Visiting ${file.getName()} ...")
+ try {
+ String content = new String(Files.readAllBytes(file.toPath()))
+ int hash = content.hashCode()
+ params.forEach{key, value ->
+ content = content.replaceAll(key, value)
+ }
+ if(hash != content.hashCode()) {
+ Files.write(file.toPath(), content.getBytes("UTF-8"))
+ return 1
+ }
+ } catch(Exception e) {
+ e.printStackTrace()
+