diff --git a/fml/build.xml b/fml/build.xml
index 83f204eafe..76344da211 100644
--- a/fml/build.xml
+++ b/fml/build.xml
@@ -287,6 +287,7 @@
+
diff --git a/fml/common/cpw/mods/fml/common/asm/ReobfuscationMarker.java b/fml/common/cpw/mods/fml/common/asm/ReobfuscationMarker.java
new file mode 100644
index 0000000000..ac6c1d4423
--- /dev/null
+++ b/fml/common/cpw/mods/fml/common/asm/ReobfuscationMarker.java
@@ -0,0 +1,17 @@
+package cpw.mods.fml.common.asm;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Used to force certain classes to reobfuscate
+ * @author cpw
+ *
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.TYPE})
+public @interface ReobfuscationMarker {
+
+}
diff --git a/fml/common/cpw/mods/fml/common/registry/LanguageRegistry.java b/fml/common/cpw/mods/fml/common/registry/LanguageRegistry.java
index cd5f524bce..3e32966b80 100644
--- a/fml/common/cpw/mods/fml/common/registry/LanguageRegistry.java
+++ b/fml/common/cpw/mods/fml/common/registry/LanguageRegistry.java
@@ -7,6 +7,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
+import cpw.mods.fml.common.FMLLog;
+
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
diff --git a/fml/common/cpw/mods/fml/relauncher/CoreFMLLibraries.java b/fml/common/cpw/mods/fml/relauncher/CoreFMLLibraries.java
index e5f6949fe9..303258257a 100644
--- a/fml/common/cpw/mods/fml/relauncher/CoreFMLLibraries.java
+++ b/fml/common/cpw/mods/fml/relauncher/CoreFMLLibraries.java
@@ -2,8 +2,8 @@ package cpw.mods.fml.relauncher;
public class CoreFMLLibraries implements ILibrarySet
{
- private static String[] libraries = { "argo-2.25.jar","guava-12.0.1.jar","asm-all-4.0.jar" };
- private static String[] checksums = { "bb672829fde76cb163004752b86b0484bd0a7f4b", "b8e78b9af7bf45900e14c6f958486b6ca682195f", "98308890597acb64047f7e896638e0d98753ae82" };
+ private static String[] libraries = { "argo-2.25.jar","guava-12.0.1.jar","asm-all-4.0.jar", "bcprov-jdk15on-147.jar" };
+ private static String[] checksums = { "bb672829fde76cb163004752b86b0484bd0a7f4b", "b8e78b9af7bf45900e14c6f958486b6ca682195f", "98308890597acb64047f7e896638e0d98753ae82", "b6f5d9926b0afbde9f4dbe3db88c5247be7794bb" };
@Override
public String[] getLibraries()
diff --git a/fml/conf/mcp.cfg b/fml/conf/mcp.cfg
index ac07ea643f..39de26094d 100644
--- a/fml/conf/mcp.cfg
+++ b/fml/conf/mcp.cfg
@@ -96,7 +96,7 @@ ClassPathClient = %(DirLib)s/,%(DirLib)s/*,%(DirJars)s/bin/minecraft.jar,%(DirJa
ClassPathServer = %(DirLib)s/,%(DirLib)s/*,%(DirJars)s/minecraft_server.jar
ClientFixes = %(DirConf)s/patches
FixStart = Start
-IgnorePkg = paulscode,com/jcraft,isom,ibxm,de/matthiasmann/twl,org/xmlpull,javax/xml
+IgnorePkg = paulscode,com/jcraft,isom,ibxm,de/matthiasmann/twl,org/xmlpull,javax/xml,org/bouncycastle,argo
[REOBF]
MD5Client = %(DirTemp)s/client.md5
diff --git a/fml/install/fml.py b/fml/install/fml.py
index 99ab5a5344..a749b5a9a0 100644
--- a/fml/install/fml.py
+++ b/fml/install/fml.py
@@ -12,7 +12,7 @@ mcp_version = '7.23'
def download_deps(mcp_path):
ret = True
- for lib in ['argo-2.25.jar', 'guava-12.0.1.jar', 'guava-12.0.1-sources.jar', 'asm-all-4.0.jar', 'asm-all-4.0-source.jar']:
+ for lib in ['argo-2.25.jar', 'guava-12.0.1.jar', 'guava-12.0.1-sources.jar', 'asm-all-4.0.jar', 'asm-all-4.0-source.jar', 'bcprov-jdk15on-147.jar']:
libF = os.path.join(mcp_path, 'lib')
if not os.path.isdir(libF):
os.makedirs(libF)
diff --git a/fml/patches/minecraft/net/minecraft/entity/boss/IBossDisplayData.java.patch b/fml/patches/minecraft/net/minecraft/entity/boss/IBossDisplayData.java.patch
new file mode 100644
index 0000000000..06e3558804
--- /dev/null
+++ b/fml/patches/minecraft/net/minecraft/entity/boss/IBossDisplayData.java.patch
@@ -0,0 +1,12 @@
+--- ../src-base/minecraft/net/minecraft/entity/boss/IBossDisplayData.java
++++ ../src-work/minecraft/net/minecraft/entity/boss/IBossDisplayData.java
+@@ -1,9 +1,5 @@
+ package net.minecraft.entity.boss;
+
+-import cpw.mods.fml.common.Side;
+-import cpw.mods.fml.common.asm.SideOnly;
+-
+-@SideOnly(Side.CLIENT)
+ public interface IBossDisplayData
+ {
+ int func_70667_aM();
diff --git a/fml/patches/minecraft/net/minecraft/stats/StatFileWriter.java.patch b/fml/patches/minecraft/net/minecraft/stats/StatFileWriter.java.patch
new file mode 100644
index 0000000000..cdd1a87cc4
--- /dev/null
+++ b/fml/patches/minecraft/net/minecraft/stats/StatFileWriter.java.patch
@@ -0,0 +1,18 @@
+--- ../src-base/minecraft/net/minecraft/stats/StatFileWriter.java
++++ ../src-work/minecraft/net/minecraft/stats/StatFileWriter.java
+@@ -6,6 +6,7 @@
+ import argo.jdom.JsonStringNode;
+ import argo.saj.InvalidSyntaxException;
+ import cpw.mods.fml.common.Side;
++import cpw.mods.fml.common.asm.ReobfuscationMarker;
+ import cpw.mods.fml.common.asm.SideOnly;
+ import java.io.File;
+ import java.util.HashMap;
+@@ -16,6 +17,7 @@
+ import net.minecraft.util.MD5String;
+ import net.minecraft.util.Session;
+
++@ReobfuscationMarker
+ @SideOnly(Side.CLIENT)
+ public class StatFileWriter
+ {
diff --git a/fml/patches/minecraft/net/minecraft/util/CryptManager.java.patch b/fml/patches/minecraft/net/minecraft/util/CryptManager.java.patch
new file mode 100644
index 0000000000..02ea2dcb38
--- /dev/null
+++ b/fml/patches/minecraft/net/minecraft/util/CryptManager.java.patch
@@ -0,0 +1,18 @@
+--- ../src-base/minecraft/net/minecraft/util/CryptManager.java
++++ ../src-work/minecraft/net/minecraft/util/CryptManager.java
+@@ -1,6 +1,7 @@
+ package net.minecraft.util;
+
+ import cpw.mods.fml.common.Side;
++import cpw.mods.fml.common.asm.ReobfuscationMarker;
+ import cpw.mods.fml.common.asm.SideOnly;
+ import java.io.InputStream;
+ import java.io.OutputStream;
+@@ -36,6 +37,7 @@
+ import org.bouncycastle.crypto.params.ParametersWithIV;
+ import org.bouncycastle.jce.provider.BouncyCastleProvider;
+
++@ReobfuscationMarker
+ public class CryptManager
+ {
+ public static final Charset field_75898_a = Charset.forName("ISO_8859_1");