From 7cff2e0cf365ff09b9ce2fb1ce0f4dfcae356b5d Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Wed, 24 Apr 2019 16:43:17 +0200 Subject: [PATCH] Get 1.7.10 working with source remapping Requires changing the 'core' version to 1.8 before compiling --- .drone.yml | 5 ++-- .drone.yml.sig | 2 +- jGui | 2 +- settings.gradle | 4 +++- .../extras/playeroverview/PlayerOverview.java | 1 + .../handler/RecordingEventHandler.java | 4 ++-- versions/common.gradle | 24 +++++++++++++------ 7 files changed, 28 insertions(+), 14 deletions(-) diff --git a/.drone.yml b/.drone.yml index f8bdb8f4..ed163b0b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -8,9 +8,10 @@ pipeline: commands: - curl --fail --create-dirs -o $HOME/.gradle/init.d/mirror.gradle https://maven.johni0702.de/config/gradle - git config --global user.email "replaymod@drone" && git config --global user.name "Drone" - - ./gradlew --old-gradle :1.7.10:setupCIWorkspace :jGui:1.7.10:setupCIWorkspace - - ./gradlew --old-gradle - ./gradlew --parallel + - ./gradlew :1.8:setCoreVersion + - ./gradlew --old-gradle :1.7.10:setupCIWorkspace :jGui:1.7.10:setupCIWorkspace + - ./gradlew --old-gradle :1.7.10:shadowJar archive: image: plugins/s3 acl: public-read diff --git a/.drone.yml.sig b/.drone.yml.sig index 13f8b9ec..6232a6f4 100644 --- a/.drone.yml.sig +++ b/.drone.yml.sig @@ -1 +1 @@ -eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CiAgY2xvbmU6CiAgICBpbWFnZTogcGx1Z2lucy9naXQKICAgIHRhZ3M6IHRydWUKICAgIHJlY3Vyc2l2ZTogdHJ1ZQogIGJ1aWxkOgogICAgaW1hZ2U6IG1hdmVuOjMuMy45LWpkay04CiAgICBjb21tYW5kczoKICAgICAgLSBjdXJsIC0tZmFpbCAtLWNyZWF0ZS1kaXJzIC1vICRIT01FLy5ncmFkbGUvaW5pdC5kL21pcnJvci5ncmFkbGUgaHR0cHM6Ly9tYXZlbi5qb2huaTA3MDIuZGUvY29uZmlnL2dyYWRsZQogICAgICAtIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCAicmVwbGF5bW9kQGRyb25lIiAmJiBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAiRHJvbmUiCiAgICAgIC0gLi9ncmFkbGV3IC0tb2xkLWdyYWRsZSA6MS43LjEwOnNldHVwQ0lXb3Jrc3BhY2UgOmpHdWk6MS43LjEwOnNldHVwQ0lXb3Jrc3BhY2UKICAgICAgLSAuL2dyYWRsZXcgLS1vbGQtZ3JhZGxlCiAgICAgIC0gLi9ncmFkbGV3IC0tcGFyYWxsZWwKICBhcmNoaXZlOgogICAgaW1hZ2U6IHBsdWdpbnMvczMKICAgIGFjbDogcHVibGljLXJlYWQKICAgIHJlZ2lvbjogInVzLWVhc3QtMSIKICAgIGJ1Y2tldDogInJlcGxheW1vZCIKICAgIHBhdGhfc3R5bGU6IHRydWUKICAgIHNvdXJjZTogYnVpbGQvbGlicy8qCiAgICBzdHJpcF9wcmVmaXg6IGJ1aWxkL2xpYnMvCiAgICB0YXJnZXQ6IC8K.Po5sYolLeFikmOk8YOsuyvLZL_CAmBYs16K2wAt2Dak \ No newline at end of file +eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CiAgY2xvbmU6CiAgICBpbWFnZTogcGx1Z2lucy9naXQKICAgIHRhZ3M6IHRydWUKICAgIHJlY3Vyc2l2ZTogdHJ1ZQogIGJ1aWxkOgogICAgaW1hZ2U6IG1hdmVuOjMuMy45LWpkay04CiAgICBjb21tYW5kczoKICAgICAgLSBjdXJsIC0tZmFpbCAtLWNyZWF0ZS1kaXJzIC1vICRIT01FLy5ncmFkbGUvaW5pdC5kL21pcnJvci5ncmFkbGUgaHR0cHM6Ly9tYXZlbi5qb2huaTA3MDIuZGUvY29uZmlnL2dyYWRsZQogICAgICAtIGdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5lbWFpbCAicmVwbGF5bW9kQGRyb25lIiAmJiBnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAiRHJvbmUiCiAgICAgIC0gLi9ncmFkbGV3IC0tcGFyYWxsZWwKICAgICAgLSAuL2dyYWRsZXcgOjEuODpzZXRDb3JlVmVyc2lvbgogICAgICAtIC4vZ3JhZGxldyAtLW9sZC1ncmFkbGUgOjEuNy4xMDpzZXR1cENJV29ya3NwYWNlIDpqR3VpOjEuNy4xMDpzZXR1cENJV29ya3NwYWNlCiAgICAgIC0gLi9ncmFkbGV3IC0tb2xkLWdyYWRsZSA6MS43LjEwOnNoYWRvd0phcgogIGFyY2hpdmU6CiAgICBpbWFnZTogcGx1Z2lucy9zMwogICAgYWNsOiBwdWJsaWMtcmVhZAogICAgcmVnaW9uOiAidXMtZWFzdC0xIgogICAgYnVja2V0OiAicmVwbGF5bW9kIgogICAgcGF0aF9zdHlsZTogdHJ1ZQogICAgc291cmNlOiBidWlsZC9saWJzLyoKICAgIHN0cmlwX3ByZWZpeDogYnVpbGQvbGlicy8KICAgIHRhcmdldDogLwo.ajofKDkpQ1QgIDmKn8R31iRh_D6NmmC52jAGEfwbVwQ \ No newline at end of file diff --git a/jGui b/jGui index 74d407b8..002b131c 160000 --- a/jGui +++ b/jGui @@ -1 +1 @@ -Subproject commit 74d407b82af88ca923f45016f701c41ac026b90d +Subproject commit 002b131cd259bdd4b4921a6da0f5b7a6769fec13 diff --git a/settings.gradle b/settings.gradle index 1fb85e6d..30dd1b1c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,14 +4,16 @@ def coreMcVersion = f.exists() ? f.readLines().first() as int : 11302 def jGuiVersions = [] def replayModVersions = [] if (gradle.gradleVersion.startsWith('3.')) { - if (coreMcVersion <= 10710) { + if (coreMcVersion <= 10800) { // allow 1.8 only to run The Preprocessor jGuiVersions += ['core'] replayModVersions += ['core'] } jGuiVersions += [ + '1.8', // allow 1.8 only to run The Preprocessor '1.7.10', ] replayModVersions += [ + '1.8', // allow 1.8 only to run The Preprocessor '1.7.10', ] } else { diff --git a/src/main/java/com/replaymod/extras/playeroverview/PlayerOverview.java b/src/main/java/com/replaymod/extras/playeroverview/PlayerOverview.java index 5a1d0e44..402340c4 100644 --- a/src/main/java/com/replaymod/extras/playeroverview/PlayerOverview.java +++ b/src/main/java/com/replaymod/extras/playeroverview/PlayerOverview.java @@ -28,6 +28,7 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; //$$ import cpw.mods.fml.common.eventhandler.EventPriority; //$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent; //$$ import net.minecraftforge.client.event.RenderPlayerEvent; +//$$ import java.util.stream.Collectors; //#endif import java.io.IOException; diff --git a/src/main/java/com/replaymod/recording/handler/RecordingEventHandler.java b/src/main/java/com/replaymod/recording/handler/RecordingEventHandler.java index 0c2bd37a..8709f0aa 100755 --- a/src/main/java/com/replaymod/recording/handler/RecordingEventHandler.java +++ b/src/main/java/com/replaymod/recording/handler/RecordingEventHandler.java @@ -29,7 +29,7 @@ import net.minecraft.util.SoundEvent; //#if MC>=10800 import net.minecraft.util.math.BlockPos; //#else -//$$ import net.minecraft.util.math.MathHelper; +//$$ import net.minecraft.util.MathHelper; //#endif import java.util.Objects; @@ -153,7 +153,7 @@ public class RecordingEventHandler { //$$ // Note: this leaves the lastY value offset by the eye height but because it's only used for relative //$$ // movement, that doesn't matter. //$$ S18PacketEntityTeleport teleportPacket = new S18PacketEntityTeleport(e.player); - //$$ teleportPacket.field_149457_c = MathHelper.floor(e.player.boundingBox.minY * 32); + //$$ teleportPacket.field_149457_c = MathHelper.floor_double(e.player.boundingBox.minY * 32); //$$ packet = teleportPacket; //#endif } else { diff --git a/versions/common.gradle b/versions/common.gradle index 6d0ba956..b1ecdf8b 100644 --- a/versions/common.gradle +++ b/versions/common.gradle @@ -24,7 +24,7 @@ buildscript { } dependencies { - if (mcVersion >= 10800) { + if (!gradle.gradleVersion.startsWith('3.')) { classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.2' // Gradle 4+ only } classpath 'org.ow2.asm:asm:6.0' @@ -42,7 +42,7 @@ buildscript { mcVersion >= 10710 ? '1.2-SNAPSHOT' : 'invalid' ) - classpath 'com.github.replaymod:preprocessor:92151f1' + classpath 'com.github.replaymod:preprocessor:03f3f44' } } @@ -56,9 +56,11 @@ def jGuiVersion = project.name if (['1.10.2', '1.11', '1.11.2'].contains(jGuiVersion)) jGuiVersion = '1.9.4' if (['1.12.1', '1.12.2'].contains(jGuiVersion)) jGuiVersion = '1.12' -if (mcVersion >= 10800) { +if (!gradle.gradleVersion.startsWith('3.')) { apply plugin: 'com.github.johnrengelman.shadow' +} +if (mcVersion >= 10800) { if (FG3) { apply plugin: 'net.minecraftforge.gradle' // FIXME use mixin plugin once updated @@ -267,9 +269,11 @@ if (project.name != 'core') { minecraft.accessTransformer preprocessedRes + '/META-INF/replaymod_at.cfg' } - project(":jGui:$jGuiVersion").afterEvaluate { jGui -> - project.tasks.setCoreVersion.dependsOn jGui.tasks.setCoreVersion - } + def jGui = project.evaluationDependsOn(":jGui:$jGuiVersion") + // Make sure the corresponding jGui setCoreVersion task runs + project.tasks.setCoreVersionJava.dependsOn jGui.tasks.setCoreVersion + // and it doesn't run too early (i.e. before we're done with preprocessing) + jGui.tasks.setCoreVersionJava.mustRunAfter project.tasks.preprocessJava } else { if (FG3) { minecraft.accessTransformers << file('../../src/main/resources/META-INF/replaymod_at.cfg') @@ -314,7 +318,7 @@ task configureRelocation() { } } } -if (mcVersion >= 10800) { +if (!gradle.gradleVersion.startsWith('3.')) { // Gradle 4 (never used for 1.7.10) tasks.removeByName('shadowJar') // we want to base our shadowed jar on the reobfJar output, not the sourceSet output task shadowJar(type: com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar) { from { tasks.jar.archivePath } @@ -335,6 +339,12 @@ if (mcVersion >= 10800) { exclude(dependency('.*spongepowered:mixin:.*')) } } +} else if (mcVersion >= 10800) { + // Neither Gradle 4 nor MC 1.7.10, we do not support building jars in this configuration, it + // is only supported to allow the preprocessor to convert the source from 1.8 to 1.7.10 + task shadowJar() { + doFirst { throw new UnsupportedOperationException('1.8+ jars require Gradle 4') } + } } else { tasks.reobf.dependsOn tasks.configureRelocation