Krenair

README-MCP.TXT

Nov 5th, 2011
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.32 KB | None | 0 0
  1. Minecraft Coder Pack 4.4 for Minecraft 1.9 pre 5
  2. ================================================
  3. MCP is (c) Copyright by the MCP Team
  4.  
  5. License and terms of use.
  6. =========================
  7.  
  8. No warranties. If MCP does not work for you, or causes any damage, it's your problem. Use it at own risk.
  9.  
  10. You are allowed to:
  11. - Use MCP to decompile the Minecraft client and server jar files.
  12. - Use the decompiled source code to create mods for Minecraft.
  13. - Recompile modified versions of Minecraft.
  14. - Reobfuscate the classes of your mod for Minecraft.
  15.  
  16. You are NOT allowed to:
  17. - Use MCP to do anything that violated Mojangs terms of use for Minecraft.
  18. - Release Minecraft versions or modifications that allow you to play without having bought Minecraft from Mojang.
  19. - Release modified or unmodified versions of MCP anywhere.
  20. - Use any of MCPs scripts, tools or data files without explicit written permission.
  21. - Make money with anything based on MCP (excluding Minecraft mods created by using MCP).
  22. - Use MCP to create clients that are used for griefing or exploiting server bugs.
  23. - Release the decompiled source code of Minecraft in any way.
  24.  
  25. Prerequisites:
  26. ==============
  27. 1.) Install Java SDK Standard Edition (short JDK).
  28. Link: http://www.oracle.com/technetwork/java/javase/downloads/
  29.  
  30. 2.) Add the paths to your JDK and JRE bin folders to the Environment Variable PATH.
  31.  
  32. Description where to find the variable:
  33. http://www.java.com/en/download/help/path.xml
  34.  
  35. Example for Windows users of what you have to add to the variable (entries are seperated by ";" )
  36. C:\Program Files\Java\jdk1.6.0_24\bin;C:\Program Files\Java\jre6\bin
  37.  
  38. We wont provide any help setting it up - this _is_ a prerequesite.
  39.  
  40. Note: MCP versions 4.4 and higher should also work properly with JDK 1.7
  41.  
  42. How to use:
  43. ===========
  44. 1) Prepare the files:
  45. - Copy the "minecraft_server.jar" file into the "jars" folder.
  46. - Copy the folders "bin" and "resources" from your .minecraft folder into the "jars" folder.
  47.  
  48. 2) Decompilation and patching
  49. - Start the decompile script in this folder.
  50.  
  51. 3) Modding
  52. - Modify the sourcecode in the "src\minecraft" folder or in the "src\minecraft_server" folder.
  53.  
  54. 4) Compile
  55. - Start the recompile script in this folder.
  56.  
  57. 5) Testing
  58. - To test the modified game, start the startclient script
  59. - To test the modified server, start the startserver script
  60.  
  61. 6) Obfuscation
  62. - Decompile the code, modify and recompile.
  63. - Start reobfuscate to start the reobfuscation step, it will automatically detect changed classes and reobfuscate them.
  64. - Your obfuscated classes are now available in "reobf\minecraft" and "reobf\minecraft_server", ready to be injected in MC.
  65. - Make sure to delete the META-INF folder in minecraft.jar, otherwise the game will just black-screen when you start it.
  66.  
  67. WARNINGS:
  68. =========
  69. - Make sure that you backup the modified sources before you run decompile again or all changes will be lost!
  70. - The cleanup script will delete most of the generated files and sources. Be careful with this one :)
  71.  
  72. Notes:
  73. ======
  74. * If you want to include external libraries (either as .jar or .class) to the classpath during recompilation add them
  75. to a folder called "lib" creating it first if required.
  76.  
  77. * Should mcp complain about "java.lang.NoClassDefFoundError: Start" when trying to run startclient or startserver
  78. try cleanup (make backups of you sources!), decompile again and recompile as the final step.
  79.  
  80. * Do not use this to release complete packages of minecraft.jar, class or java files. They are copyrighted
  81. material by Notch and mods should only contain small changes to some classes, never complete sets that
  82. can be used by people who did not buy the game to play it.
  83.  
  84. * Make sure you use the original minecraft.jar and minecraft_server.jar files. If you have already modded them
  85. they will NOT work with the patches in these scripts.
  86.  
  87. * The startclient script uses the "Start.class" file to start the game. This will make sure the game will not
  88. use your .minecraft folder, but instead use the "jars" folder for all saves. So any bugs in the modified
  89. game will not corrupt your normal worlds.
  90.  
  91. * If you have any problems using this toolpack, put the "logs\*.log" files that the scripts generated into a
  92. zip-file and send it to us (post it in the minecraft forum):
  93. http://www.minecraftforum.net/viewtopic.php?f=25&t=58464
  94.  
  95. * This version of the MCP uses a deobfuscator to change all field and method names in the sources.
  96. Look in the csv files in "conf", namely "conf\classes.csv", "conf\fields.csv" and "conf\methods.csv" files for a complete mapping of the names.
  97.  
  98. * There are currently no known bugs in the recompiled game or server, except those that were already in the original
  99. game :)
  100.  
  101. * If your reobfuscated classes cause a black screen in Minecraft, make sure that you've deleted the META-INF folder
  102. in the minecraft.jar file.
  103.  
  104. * To add new resources to the game, for example png files, put them in the bin folder tree, they will also get copied to the reob folder
  105. automatically when you reobfuscate your changes.
  106.  
  107. Credits:
  108. ========
  109. == Currently Active ==
  110. Searge
  111. * Creator of MCP
  112. * Fixes all compile errors in the decompiled sourcecode
  113. * Created the MCP mod system and API
  114. * Created the Eclipse workspace for MCP 4.x
  115. * Created the new RetroGuard deobfuscation module for MCP 3.0
  116. * Created the new mod system
  117. ProfMobius
  118. * Creator of the renaming codes and re-obfuscation procedures
  119. * Helped to port scripts to Linux
  120. * Developer and maintainer of the MCP chan bot
  121. * Is now bald after working too much with java constant pool and re-obfuscation
  122. * Created the new workflow scripts and renamer for MCP 3.0
  123. IngisKahn
  124. * Creator of the bytecode compare tool that helps us to update the name mappings quickly for new minecraft versions
  125. * Contributed to the de-obfuscation spreadsheet
  126. * Working hard on creating better internal tools for mapping updates and decompiling
  127. Fesh0r
  128. * php/sql code monkey
  129. * Uses his magic to create mappings, patches, and general release work
  130. * Has Searge's approval to make official MCP releases ;)
  131. * Makes sure we get proper patches for the sourcecode that JAD generates
  132. * Maintains our scripts and toolkits
  133. * Optimized the Retroguard and Exceptor tools
  134. R4WK
  135. * Works on MCP updates and contributes to the new mod system
  136. * Helps ZeuX with Techne improvements
  137. ZeuX
  138. * Helps out in the IRC channels - Head of HR
  139. * Did server patches for the most recent versions - if you run into any (patch-related) problems, it's his fault :P
  140. * Created the famous Techne model editor for Minecraft
  141. * Contributes features to the new mod system
  142. 303
  143. * Wiki contributor
  144. * Tries to help out newbies in the IRC channels
  145. * Makes sure modloader mods can be created with MCP
  146. Mr_okushama
  147. * Wiki contributor
  148. * Public Support Manager
  149. * IRC Operator
  150. * Savior of the 2011 April fools prank
  151. Cryect
  152. * Contributed a lot of deobfuscation mappings
  153. * Created the awesome AdventureCraft mod
  154.  
  155. == Former Contributors ==
  156. Generic
  157. * Works on improving IngisKahn's bytecode compare tool
  158. * Added some important features to retroguard
  159. Risugami
  160. * The guy who created the first mods I (Searge) ever used in Minecraft
  161. * The creator of modloader who gave us permission to include files from his system in MCP
  162. fotoply
  163. * Helped to improve the batch files
  164. Cadde
  165. * Community manager and Wiki manager
  166. * Works on the de-obfuscation spreadsheet
  167. * Mod support (making old mods work with MCP)
  168. * All round handyman
  169. Vaprtek
  170. * Works on the de-obfuscation spreadsheet
  171. * Knows how to make pet creepers
  172. gronk
  173. * Script support
  174. n00bish
  175. * Linux script maintenance
  176. Sage Pourpre
  177. * His thread in the forums inspired me (Searge) to create this toolpack in the first place
  178. Tei
  179. * Supported the MCP project since the first version was released
  180. spec10
  181. * The new linux scripts guy
  182. Head
  183. * Wiki contributor / Administrator
  184. * Explains classes and their members on the Wiki
  185. MissLil
  186. * Various scripting stuff
  187. * Lots of reverse engineering
  188. * OpenGL constants annoting
  189. ScottyDoesKnow
  190. * obfuscathonCharmer, the obfuscathon GUI
  191. Chase
  192. * MCP Launcher Work
  193. * External jar loading
  194. * Scrollable mod list.
  195. titegtnodI
  196. * Wiki contributor
  197. * IRC Operator
  198.  
  199. and of course:
  200. - Everybody who contributed to the great google spreadsheet or who created some mods (I've got them all :).
  201. - NOTCH for creating a game that is just awesome, I hope he does not feel offended by our decompiling efforts.
  202. Please, Notch, support our ambitions to mod your game. I know people who bought it just because of
  203. some great mods.
  204.  
  205. History:
  206. ========
  207. 4.5 - Updated to support Minecraft 1.9 pre 5 and MinecraftServer 1.9 pre 5
  208. 4.4 - Updated to support Minecraft 1.8.1 and MinecraftServer 1.8.1
  209. 4.3 - Updated to support Minecraft 1.7.3 and MinecraftServer 1.7.3
  210. 4.2 - Updated to support Minecraft 1.7.2 and MinecraftServer 1.7.2
  211. 4.1 - Added an Eclipse workspace and included a reobfuscation bugfix
  212. 4.0 - Added improved decompile scripts with new Exceptor tool
  213. 3.4 - Updated to support Minecraft 1.6.6 and MinecraftServer 1.6.6
  214. 3.3 - Updated to support Minecraft 1.6.5 and MinecraftServer 1.6.5
  215. 3.2 - Updated to support Minecraft 1.6.4 and MinecraftServer 1.6.4
  216. 3.1 - Complete rewrite of the framework, works with Minecraft 1.5_01 and MinecraftServer 1.5_02
  217. 2.12 - Updated to support Minecraft 1.5_01 and MinecraftServer 1.5_02
  218. 2.11 - Updated to support Minecraft 1.4_01 and MinecraftServer 1.4_01
  219. 2.10 - Updated to support Minecraft 1.4 and MinecraftServer 1.4
  220. 2.9a - Added MCP Mod System for 1.3_01, added mod loader support, updated mappings
  221. 2.9 - Updated to support Minecraft 1.3_01 and MinecraftServer 1.3
  222. 2.8 - Added the MCP mod system SDK and support for OSX
  223. 2.7 - Updated to support Minecraft 1.2_02 and MinecraftServer 1.2_01
  224. 2.6 - Updated to support Minecraft 1.1_02 and MinecraftServer 1.1_02
  225. 2.5 - Updated to support Minecraft 1.2.6 and MinecraftServer 0.2.8
  226. 2.4 - Updated to support Minecraft 1.2.5 and MinecraftServer 0.2.7
  227. 2.3 - Updated to support Minecraft 1.2.3_04 and MinecraftServer 0.2.5_02. Linux support beta.
  228. 2.2a - Bugfix release to improve the re-obfuscation tools
  229. 2.2 - The reobfuscation beta test release. Still for Minecraft 1.2.2
  230. 2.1 - Updated to support Minecraft 1.2.2
  231. 2.0a - Bugfix release
  232. 2.0 - Major updates to MCP and support for post-Halloween versions of Minecraft
  233. 1.6 - All classes have meaningful names now, the class name mappings and the field name mappings are applied
  234. 1.5 - Extend the scripts to also support decompiling, recompiling and testing the minecraft_server.jar file
  235. 1.4 - Using a deobfuscator to rename all fields and methods and jadretro to fix some decompile bugs
  236. 1.3 - Added upgrade scripts to decompile and recompile Minecraft.class, MinecraftApplet.class and MinecraftServer.class
  237. 1.2 - Redirect output of all tools to a logfile
  238. 1.1 - Fixed TNT bug
  239. 1.0 - First release
  240.  
  241. Roadmap:
  242. ========
  243. 4.5+ - New awesome features, improvements and updates :)
  244.  
  245. _________________________________________________________________________________________________________________
  246. _________________________________________________________________________________________________________________
  247. ________,.--:=r=.._______________________________________________________________________________,,...___________
  248. _ -:'` :^)-.!..[``P: ___________________________________________________________ ,.=~r?`[:_i=. `'~-._ _
  249. _ . :=)~.|:.| [j ___________________________________________________________ l| [3 .:,[:. ! _
  250. _ : :.[ .|:.( [| ______________________________________________________________[|=^): [_ | . ! _
  251. __ :~)=.i..j [] ___________________________________________________________ )|:') [ _|;. ! _
  252. _ . :.)..i._|;.)| ___________________________________________________________ [!:=[` |: | . ! _
  253. _ ) _ :.[ .! | .[| ___________________________________________________________ )j:^[` (: | . ! _
  254. _ :_ <=l:.____ . | ___________________________________________________________ [!:`` :.|:. . ! _
  255. _ ._ _ __ __:..;.|,.) .[j ___________________________________________________________ [!3`T``l:. . ` ! _
  256. ____ [,...-+=c=f7l`!-( _____.~~~~~~~~._____=~~~~~~~/_____,>====~<.y=.__y~~~~~~~~~~=~.._ ```[j)=[=[.;,,_ _|'`` _
  257. ____ [ -~= ( '=r::::~( _____!<. L____F .=._ ,c ;>~~<. [_ F<. .>~~<. ".__ (.......!.( .. | ____
  258. ____ [`) [ ! !^) !') ______ [ JL (___F Z. ( ___/ ./ ____ ". J___ L ? ___J. J _ |-l ,.( !-| )-| ____
  259. ____ ) !` ( ```[ ( _____ :. [[ J__F /] .L___F .F _______"L L__J [____/ / _ | )~~~~ r- !~! | ____
  260. ____ [ . . [_) (___|_( _____ | :L! J.F / L J __[ | _________ _ [ =+~~=l ;/ __ |'[^^^( [ :'. ::( ____
  261. ____ [.. (.;.i.) ( ______L ? :. * / J. [__ L L______________:L ;...=+=^` ____ (`["[ l [`` ! ! | ____
  262. ____ ).. .... !.. ( _____J. L_ L / _[ :L__ [ [_________,.__ | .L_____________ ( . ! | ____
  263. ____ ).. --. --..!-( _____[ :.__| / _.L J ___"c ?.______,/.;F _L J._____________ [_[___ __ _| ____
  264. ____ )~)~r -)~r - ( ( __:tT ":LJ / r^` ")___ \. 7*==^`.;* r^` "tL___________ ! ( ,,[ ._].|_____
  265. ___ _z;! : = ( ( : !=( __'^^^^^^" ^^ *^^^^^^^^`____ "*~~~~^` __"^^^^^^^^" ___________ ;.) ( ( ..!.!.| ____
  266. ____F"*:P*si_(^^======.____________________________________________________________________j.....[.( !,.ztSP\ ___
  267. _ _! 7*.) L L___________________________________________________________________: J :?x>'` l___
  268. __[ ;~.! ; :=l .-<--~~[___________________________________________________________________|,J .__ !. :. _,_ . _
  269. I :`~. `\[ (.J-= [___________________________________________________________________| ._L_)~\./ ..==`.
  270. -.;`'=._ .L!;)-+--=-=-l___________________________________________________________________|___;__[_;=[\ ,>=`
  271. _ =-: `` _ --:...-...___________________________________________________________________ :_: ._[ \=^ .-!
  272. _ ` - L______-.- ..-___________________________________________________________________: ! ._____ -' _ -' _
  273. _____ _________________________________________________________________________________ ______ ' _____
  274.  
  275.  
  276. d8b db .d88b. db d8b db d888888b d888888b d888888b .d8888.
  277. 888o 88 .8P Y8. 88 I8I 88 `88' `~~88~~' `88' 88' YP
  278. 88V8o 88 88 88 88 I8I 88 88 88 88 `8bo.
  279. 88 V8o88 88 88 Y8 I8I 88 88 88 88 `Y8b.
  280. 88 V888 `8b d8' `8b d8'8b d8' .88. 88 .88. db 8D
  281. VP V8P `Y88P' `8b8' `8d8' Y888888P YP Y888888P `8888Y'
  282.  
  283.  
  284. db db .d88b. db db d8888b. .o88b. d8888b. .d8b. d88888b d888888b
  285. `8b d8' .8P Y8. 88 88 88 `8D d8P Y8 88 `8D d8' `8b 88' `~~88~~'
  286. `8bd8' 88 88 88 88 88oobY' 8P 88oobY' 88ooo88 88ooo 88
  287. 88 88 88 88 88 88`8b 8b 88`8b 88~~~88 88~~~ 88
  288. 88 `8b d8' 88b d88 88 `88. Y8b d8 88 `88. 88 88 88 88
  289. YP `Y88P' ~Y8888P' 88 YD `Y88P' 88 YD YP YP YP YP
  290.  
  291. ======================================================================================================================
  292.  
Advertisement
Add Comment
Please, Sign In to add comment