diff --git a/build.gradle b/build.gradle index 913c905e4..59c49f78c 100644 --- a/build.gradle +++ b/build.gradle @@ -122,9 +122,18 @@ def extraTxts = [ if (project.hasProperty('forgeJenkinsPass')) extraTxts += changelog +task extractAnnotationsVanilla(type: net.minecraftforge.gradle.tasks.TaskExtractAnnotationsText, dependsOn: deobfuscateJar) { + jar = deobfuscateJar.outJar + output = 'build/vanilla_annotations.json' +} + outputJar { classifier = 'universal' from extraTxts + from(extractAnnotationsVanilla){ + into 'META-INF' + } + dependsOn extractAnnotationsVanilla // add crowdin locales from { crowdin.getDidWork() ? zipTree(crowdin.output) : null} @@ -392,7 +401,7 @@ task resetBuildNumber << { ciWriteBuildNumber.execute() } // re-add old tasks for jenkins compat -// should be remvoed, and the jenkisn fixed when no longer building with FG 1.2 +// should be removed, and the jenkins fixed when no longer building with FG 1.2 task setupForge { dependsOn 'setup', 'ciWriteBuildNumber' } task buildPackages { dependsOn 'build' } diff --git a/jsons/1.12.2.json b/jsons/1.12.2.json index fc24955a8..5f6635fc4 100644 --- a/jsons/1.12.2.json +++ b/jsons/1.12.2.json @@ -266,13 +266,13 @@ } }, { - "name": "com.mojang:realms:1.10.18", + "name": "com.mojang:realms:1.10.19", "downloads": { "artifact": { - "size": 3259151, - "sha1": "77a86d7596f49a6b01ad48f1a4a0d6546bc60df5", - "path": "com/mojang/realms/1.10.18/realms-1.10.18.jar", - "url": "https://libraries.minecraft.net/com/mojang/realms/1.10.18/realms-1.10.18.jar" + "size": 7134997, + "sha1": "c0e1cddb173faa8bf69a4236211cfd0af6c6150d", + "path": "com/mojang/realms/1.10.19/realms-1.10.19.jar", + "url": "https://libraries.minecraft.net/com/mojang/realms/1.10.19/realms-1.10.19.jar" } } }, @@ -719,6 +719,6 @@ "minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userType ${user_type} --versionType ${version_type}", "minimumLauncherVersion": 18, "releaseTime": "2017-09-18T08:39:46+00:00", - "time": "2018-01-18T09:43:47+00:00", + "time": "2018-02-15T16:26:45+00:00", "type": "release" } diff --git a/src/main/java/net/minecraftforge/common/ForgeModContainer.java b/src/main/java/net/minecraftforge/common/ForgeModContainer.java index 5b3251f47..a54a3e9ce 100644 --- a/src/main/java/net/minecraftforge/common/ForgeModContainer.java +++ b/src/main/java/net/minecraftforge/common/ForgeModContainer.java @@ -25,6 +25,7 @@ import static net.minecraftforge.common.config.Configuration.CATEGORY_CLIENT; import static net.minecraftforge.common.config.Configuration.CATEGORY_GENERAL; import java.io.File; +import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.security.cert.Certificate; @@ -85,6 +86,7 @@ import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.ModMetadata; import net.minecraftforge.fml.common.WorldAccessContainer; import net.minecraftforge.fml.common.discovery.ASMDataTable.ASMData; +import net.minecraftforge.fml.common.discovery.json.JsonAnnotationLoader; import net.minecraftforge.fml.common.event.FMLConstructionEvent; import net.minecraftforge.fml.common.event.FMLLoadCompleteEvent; import net.minecraftforge.fml.common.event.FMLModIdMappingEvent; @@ -421,6 +423,11 @@ public class ForgeModContainer extends DummyModContainer implements WorldAccessC @Subscribe public void modConstruction(FMLConstructionEvent evt) { + InputStream is = ForgeModContainer.class.getResourceAsStream("/META-INF/vanilla_annotations.json"); + if (is != null) + JsonAnnotationLoader.loadJson(is, null, evt.getASMHarvestedData()); + log.debug("Loading Vanilla annotations: " + is); + List all = Lists.newArrayList(); for (ASMData asm : evt.getASMHarvestedData().getAll(ICrashReportDetail.class.getName().replace('.', '/'))) all.add(asm.getClassName()); diff --git a/src/main/java/net/minecraftforge/fml/common/discovery/JarDiscoverer.java b/src/main/java/net/minecraftforge/fml/common/discovery/JarDiscoverer.java index b825e960d..91f714823 100644 --- a/src/main/java/net/minecraftforge/fml/common/discovery/JarDiscoverer.java +++ b/src/main/java/net/minecraftforge/fml/common/discovery/JarDiscoverer.java @@ -129,6 +129,14 @@ public class JarDiscoverer implements ITypeDiscoverer ZipEntry json = jar.getEntry(JsonAnnotationLoader.ANNOTATION_JSON); Multimap annos = JsonAnnotationLoader.loadJson(jar.getInputStream(json), candidate, table); + for (ZipEntry e : Collections.list(jar.entries())) + { + if (!e.getName().startsWith("__MACOSX") && !e.getName().startsWith("META-INF/") && e.getName().endsWith(".class")) + { + candidate.addClassEntry(e.getName()); + } + } + for (Entry> entry : ModContainerFactory.modTypes.entrySet()) { Type type = entry.getKey();