From 8f03658f1f5545e7feaa5aed00e50c8b2876575e Mon Sep 17 00:00:00 2001 From: LexManos Date: Sun, 20 Nov 2016 16:15:15 -0800 Subject: [PATCH] Fix AbstractMethodException in FML Registries. Closes #3427 --- build.gradle | 6 ++++++ .../common/registry/FMLControlledNamespacedRegistry.java | 6 ++++++ src/main/resources/forge.srg | 1 + 3 files changed, 13 insertions(+) diff --git a/build.gradle b/build.gradle index 73e2c12c1..305ec48b4 100644 --- a/build.gradle +++ b/build.gradle @@ -374,6 +374,12 @@ String getVersionFromJava(File file) return out; } +reobfuscate { + extraSrg = [ + 'MD: net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry/getKeys ()Ljava/util/Set; net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry/getKeys ()Ljava/util/Set;' + ] +} + task resetBuildNumber << { project.ext.properties.buildNumber = 0; ciWriteBuildNumber.execute() diff --git a/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java b/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java index 2bdbc2516..5a9e5a0bf 100644 --- a/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java +++ b/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java @@ -854,6 +854,12 @@ public class FMLControlledNamespacedRegistry> e return getNameForObject(value); } + @Override //Bouncer for OBF, as the super class's function is NotchCode and gets obfed. This plus the SRG lines prevents a AbstractMethodException + public Set getKeys() + { + return super.getKeys(); + } + @Override public List getValues() { diff --git a/src/main/resources/forge.srg b/src/main/resources/forge.srg index e8eb7d47b..38de807fe 100644 --- a/src/main/resources/forge.srg +++ b/src/main/resources/forge.srg @@ -1 +1,2 @@ MD: net/minecraft/server/management/ServerConfigurationManager/initializeConnectionToPlayer (Lnet/minecraft/network/NetworkManager;Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/network/NetHandlerPlayServer;)V net/minecraft/server/management/ServerConfigurationManager/func_72355_a (Lnet/minecraft/network/NetworkManager;Lnet/minecraft/entity/player/EntityPlayerMP;Lnet/minecraft/network/NetHandlerPlayServer;)V +MD: net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry/getKeys ()Ljava/util/Set; net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry/getKeys ()Ljava/util/Set;