From 9bfe7df37321e9fd8229cafacaf751fa86ceea87 Mon Sep 17 00:00:00 2001 From: Christian Date: Thu, 25 Oct 2012 09:02:49 -0400 Subject: [PATCH] MCP deserves lots of credit. So here it is. --- build.xml | 2 ++ client/mcp.png | Bin 0 -> 6940 bytes .../cpw/mods/fml/common/FMLCommonHandler.java | 1 + common/cpw/mods/fml/common/Loader.java | 12 ++++++++++-- .../cpw/mods/fml/common/MCPDummyContainer.java | 14 ++++++++++++++ .../mods/fml/relauncher/FMLInjectionData.java | 8 ++++---- .../cpw/mods/fml/relauncher/FMLRelauncher.java | 4 ++-- common/mcpmod.info | 17 +++++++++++++++++ getversion.py | 5 ++--- 9 files changed, 52 insertions(+), 11 deletions(-) create mode 100644 client/mcp.png create mode 100644 common/cpw/mods/fml/common/MCPDummyContainer.java create mode 100644 common/mcpmod.info diff --git a/build.xml b/build.xml index 4283ab81b3..97d3c8e16a 100644 --- a/build.xml +++ b/build.xml @@ -178,6 +178,8 @@ + + diff --git a/client/mcp.png b/client/mcp.png new file mode 100644 index 0000000000000000000000000000000000000000..8ebae880d0244f25a76a984a55729e4c0c9c3cf1 GIT binary patch literal 6940 zcmV+%8{_1OP)N2bPDNB8 zb~7$DE;u(kfL#Cp8ktE%K~#8N?VU}MB*hVhduD_{BQs$bCbSqsW}1bTy2313VXQHh z?AdStZUCp?oUM6P^Yy%ZxJP7G6+^cai?Z&_it_OApBMfUS#|f%zkhoF#iuV%uYbS# z{Pfa2e{r9`|M}NH?)72}_g}qwb+1>BXIwYWnt#cE+27OmzdL}z!J%{R8K@)(&8~g! zHUE2XUh=QOb=lu}v+p+bnZM=xxAwmUChwxG1!fD(W)buPvoV<6xqvclNhJI7i_h-$ z%5j+TVqLKuKCX`_^!6JcSFeRhtdD?It!YyS5Ix+VW}A$Zx}xN!T}{BMEDyXTS?m@P2N zM!^EJV_W z+fGKl`Of4#n=fVb)Hl=9p|uR}_$q;1T$jsNPJtkQ{PD*Vpg5>xHGVdK8oI8f?C-z- z{zTX5rGfF;ufP8Kfd?P&3g>_LJ-UAHf>nIzUh=EYbUb(K_WS%VSyWxPYHT-OcfSh% zHD4vWBRuE1B3(OOKmvUqSxefr^VB$N645I=QH#p~mvA%;l&)Q8f1R02Uz6MM>KAbMf@Az;7 z_O)=IC{Wj37vczwN{8A#XJCTt(&>G7@AyckmwY-t_N)aR&cLLKLiAa;gHDGPn9OwO zvdQ&vjXgXDFcE<0CA;GPH*fCB!Z?0%D!`_(a8daMezg zJGVzAiZ+sN#|PjeUPn$00Qye9XZ=oBavJfG5ng48ZtQ8)6>Z73iX4y9&fQ<1uhuWU zc5AF?bbPq|X$>Q~N7mwWpTDDQVIm55$%3f|Ek1A8R#QuE!fYYqNthoUW z{S|od^6T_d=-vcOBt-3C9`@>*h(v;xLM8mp=-nB8(WxNO)eCTdCZF&40CaqQAIpv= z1Cv2Jua_vZ;sYK=U;-bkGi6FWBJX!{?bcZF*U389uer3ABQ!cb5==x_o5ZEGk(=Zs zn-H(EJ?y1h;}JPYf7plUV&_L_bbS0#VB#Q>z(I5Zu(V)O749+u=^_Tk0Vb|U-{B?f z=g*%#C}7rw@%by-awJj_(bbD+z@3l+7c~$E9-=A6dok<`erJ9?5ABe>IxpjNp)DsN zI&&FxYs~weHek5WMh5Pj)fzpF&$at}fST@gwT&bEtdToU^0NXPv)JHwh-x zwnnsFCgN{ITlCp*0F;V0^6+)LJbW!gCQethD;m;y#~*X~oWCcSbkPS92Xdhz^}*E&M_VVN3)Dv8nZhx#}Nc-LT#g|@LV{zK(!|9G_!|%r*z1T$3 z%=Pl+%aaXY|GrM<(0ZM>s@sFU8TZ#u{(SPmOZ>00Ki{OGnW>5cNag=TC+_RIr}gWz ze*d8Wdo7r_BX~68pyE5cM-?#S&gWsc-*?(52xVq#IwK^nudv>3&T2gxt2r+L6JL*Z zFHfCVeyfm?|GKeY#Cjj2!l`g9z4yy6 zzdRgt%3L{V6Pd`_^h!|5IW=F7JvwI=PrXo%p>}q?psRIw1mQe6P0gjT)J)takfF;!W4-vv82-u* zNlD;AOEQ*=9wCl55u7M%^DAo-ki)uG+)c zh4T#E>@2xH8LzR}U)L=4gek%_Fy9Yrx#DN z=8@I%N-nJ53&4D?;sx;XG@#Q*&hG}&@#2NPj_yeRT8Gnic_m2U^dnwaCu7;o0ev

_~`&Fa@&~$bKKN-Eu);~OF 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 ibuilder(); brd.add(Loader.instance().getMCVersionString()); + brd.add(Loader.instance().getMCPVersionString()); brd.add("FML v"+Loader.instance().getFMLVersionString()); String forgeBranding = (String) callForgeMethod("getBrandingVersion"); if (!Strings.isNullOrEmpty(forgeBranding)) diff --git a/common/cpw/mods/fml/common/Loader.java b/common/cpw/mods/fml/common/Loader.java index 90b89656b7..970669d0a7 100644 --- a/common/cpw/mods/fml/common/Loader.java +++ b/common/cpw/mods/fml/common/Loader.java @@ -109,7 +109,7 @@ public class Loader private static String rev; private static String build; private static String mccversion; - private static String mcsversion; + private static String mcpversion; /** * The class loader we load the mods into. @@ -138,6 +138,7 @@ public class Loader private File canonicalModsDir; private LoadController modController; private MinecraftDummyContainer minecraft; + private MCPDummyContainer mcp; private static File minecraftDir; private static List injectedContainers; @@ -159,7 +160,7 @@ public class Loader rev = (String) data[2]; build = (String) data[3]; mccversion = (String) data[4]; - mcsversion = (String) data[5]; + mcpversion = (String) data[5]; minecraftDir = (File) data[6]; injectedContainers = (List)data[7]; } @@ -175,6 +176,7 @@ public class Loader } minecraft = new MinecraftDummyContainer(actualMCVersion); + mcp = new MCPDummyContainer(MetadataCollection.from(getClass().getResourceAsStream("/mcpmod.info"), "MCP").getMetadataForId("mcp", null)); } /** @@ -304,6 +306,8 @@ public class Loader private ModDiscoverer identifyMods() { FMLLog.fine("Building injected Mod Containers %s", injectedContainers); + // Add in the MCP mod container + mods.add(new InjectedModContainer(mcp,null)); File coremod = new File(minecraftDir,"coremods"); for (String cont : injectedContainers) { @@ -733,4 +737,8 @@ public class Loader public boolean hasReachedState(LoaderState state) { return modController.hasReachedState(state); } + + public String getMCPVersionString() { + return String.format("MCP v%s", mcpversion); + } } diff --git a/common/cpw/mods/fml/common/MCPDummyContainer.java b/common/cpw/mods/fml/common/MCPDummyContainer.java new file mode 100644 index 0000000000..6ac06709aa --- /dev/null +++ b/common/cpw/mods/fml/common/MCPDummyContainer.java @@ -0,0 +1,14 @@ +package cpw.mods.fml.common; + +import com.google.common.eventbus.EventBus; + +public class MCPDummyContainer extends DummyModContainer { + public MCPDummyContainer(ModMetadata metadata) { + super(metadata); + } + + @Override + public boolean registerBus(EventBus bus, LoadController controller) { + return true; + } +} diff --git a/common/cpw/mods/fml/relauncher/FMLInjectionData.java b/common/cpw/mods/fml/relauncher/FMLInjectionData.java index cf1d164cf1..c4b86c6042 100644 --- a/common/cpw/mods/fml/relauncher/FMLInjectionData.java +++ b/common/cpw/mods/fml/relauncher/FMLInjectionData.java @@ -16,7 +16,7 @@ public class FMLInjectionData static String rev; static String build; static String mccversion; - static String mcsversion; + static String mcpversion; public static List containers = new ArrayList(); static void build(File mcHome, RelaunchClassLoader classLoader) @@ -41,14 +41,14 @@ public class FMLInjectionData minor = properties.getProperty("fmlbuild.minor.number", "missing"); rev = properties.getProperty("fmlbuild.revision.number", "missing"); build = properties.getProperty("fmlbuild.build.number", "missing"); - mccversion = properties.getProperty("fmlbuild.mcclientversion", "missing"); - mcsversion = properties.getProperty("fmlbuild.mcserverversion", "missing"); + mccversion = properties.getProperty("fmlbuild.mcversion", "missing"); + mcpversion = properties.getProperty("fmlbuild.mcpversion", "missing"); } public static Object[] data() { - return new Object[] { major, minor, rev, build, mccversion, mcsversion, minecraftHome, containers }; + return new Object[] { major, minor, rev, build, mccversion, mcpversion, minecraftHome, containers }; } } diff --git a/common/cpw/mods/fml/relauncher/FMLRelauncher.java b/common/cpw/mods/fml/relauncher/FMLRelauncher.java index 9d78630907..21592977f1 100644 --- a/common/cpw/mods/fml/relauncher/FMLRelauncher.java +++ b/common/cpw/mods/fml/relauncher/FMLRelauncher.java @@ -147,8 +147,8 @@ public class FMLRelauncher { FMLInjectionData.build(minecraftHome, classLoader); FMLRelaunchLog.minecraftHome = minecraftHome; - FMLRelaunchLog.info("Forge Mod Loader version %s.%s.%s.%s for Minecraft client:%s, server:%s loading", FMLInjectionData.major, FMLInjectionData.minor, - FMLInjectionData.rev, FMLInjectionData.build, FMLInjectionData.mccversion, FMLInjectionData.mcsversion); + FMLRelaunchLog.info("Forge Mod Loader version %s.%s.%s.%s for Minecraft %s loading", FMLInjectionData.major, FMLInjectionData.minor, + FMLInjectionData.rev, FMLInjectionData.build, FMLInjectionData.mccversion, FMLInjectionData.mcpversion); try { diff --git a/common/mcpmod.info b/common/mcpmod.info new file mode 100644 index 0000000000..4a0d4ac4d5 --- /dev/null +++ b/common/mcpmod.info @@ -0,0 +1,17 @@ +[ +{ + "modid": "mcp", + "name": "Minecraft Coder Pack", + "description": "Modding toolkit to decompile and deobfuscate the Minecraft client and server files.", + "version": "7.19", + "mcversion": "1.4.2", + "logoFile": "/mcp.png", + "url": "http://mcp.ocean-labs.de/", + "updateUrl": "", + "authors": ["Searge", "ProfMobius", "IngisKahn", "Fesh0r", "ZeuX", "R4wk", "Others"], + "credits": "Made by the MCP team", + "parent": "", + "screenshots": [], + "dependencies": [] +} +] diff --git a/getversion.py b/getversion.py index ff3432e454..53abe8f6d3 100644 --- a/getversion.py +++ b/getversion.py @@ -53,10 +53,9 @@ def main(): f.write("%s=%s\n" %("fmlbuild.revision.number",rev)) f.write("%s=%s\n" %("fmlbuild.githash",githash)) f.write("%s=%s\n" %("fmlbuild.mcpversion",mcpversion)) - f.write("%s=%s\n" %("fmlbuild.mcclientversion",mcclientversion)) - f.write("%s=%s\n" %("fmlbuild.mcserverversion",mcserverversion)) + f.write("%s=%s\n" %("fmlbuild.mcversion",mcclientversion)) - print("Version information: FML %s.%s.%s using MCP %s for c:%s, s:%s" % (major, minor, rev, mcpversion, mcclientversion, mcserverversion)) + print("Version information: FML %s.%s.%s using MCP %s for minecraft %s" % (major, minor, rev, mcpversion, mcclientversion)) if __name__ == '__main__': main()