Développer sur minecraft (MacOsx + Netbeans)

Hello,

Je viens de découvrir Minecraft, j’ai mis un peu le temps à comprendre comment marchait ce jeu (je suis vieux…). J’ai regardé des videos de kikoolol (d’ailleurs c’est super rude de se faire expliquer par un gosse en qui est loin de muer, j’ai souffert pour vous) et donc j’ai passé ma journée hier + ma nuit + ce matin pour faire un tour d’horizon. Et je trouve ça finalement très marrant! Car il y a vraiment pas mal de possibilités de modification.

En effet, le java ça se décompile très facilement même quand c’est obfusqué (c’est une protection qui consiste à renommer toutes les variables et méthodes en des noms super simple par exemple MethodDeOuf() devient a(), ce qui rend la lecture difficile).

Et donc je vous ai fait un petit tuto pour décompiler et paramétrer minecraft sur netbeans

 

1) Téléchargez la dernière version sur http://mcp.ocean-labs.de/index.php/MCP_Releases, pour pou c’était la version 726. Décompressez tout ça dans un répertoire temp sur votre bureau par exemple

2) Récupérez les dossiers de votre minecraft que vous avez acheté sous mac ça se trouve dans /Users/votrenom/Library/Application Support/minecraft/bin et ressources.Mettez les dans temp/mcp726/jars/

3) Récupérer le minecraft_server.jar (sur le site de minecraft) et le mettre dans temp/mcp726/jars/

4) Dans le répertoire temp/mcp726/ lancez ./updatetemcp.sh pour mettre à jour les fichiers pour résoudre l’obfusquation

5) Dans le répertoire temp/mcp276/ lancez ./decompile.sh
Maintenant vous avez les sources !

6) Lancez netbeans, créez un nouveau projet « minecraft », dans les propriétés rajouter

-les sources qui se trouvent dans temp/mcp726/src/minecraft

 

-veiller à être en java 1.6 (perdez pas de temps ya pas de solution pour le moment pour 1.7) Pour cela il faudra peut être rajouter la librairie java de votre systeme (/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home un truc du genre)

-rajouter les librairies qui se trouvent dans temp/mcp276/jars/bin/

-rajouter les arguments qui vont bien dans mon cas:

MainClass: net.minecraft.client.Minecraft

Arguments: mettez votre username (je reviendrai dessus un peu plus tard

VM Arguments: -Xincgc -Xms1024M -Xmx1024M -Djava.library.path= »/Users/fred/Desktop/minecraft/mcp726/jars/bin/natives »

 

7) Et donc là ca devrait le faire vous pourrez lancer minecraft et le debugger :)
Le « username » c’est au cas où vous auriez un server minecraft de lancé et que vous cherchiez à vous y connecter. Je n’ai pas réussi à me connecter avec mon compte officiel pour trouver la solution faudrait regarder un peu plus en détail l’authentification voir modifier le server (début de piste https://github.com/search?q=minecraft+launch&type=Repositories&ref=simplesearch)
Bref si sur votre serveur vous voulez vous connecter tout en concervant l’evolution je vous conseille de modifier le server.properties l’option online-mode en false (online-mode=false)

Et voilà… à j’oubliais!

si vous compilez et générez le jar (repertoire dist) voici la commande pour lancer à la main

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -Xincgc -Xms1024M -Xmx1024M -cp « ../lib:../lib/*:../minecraft.jar:../lib/jinput.jar:../lib/lwjgl.jar:../lib/lwjgl_util.jar » -Djava.library.path=./natives -jar minecraft.jar username

Sinon dans temp/mcp726/ vous retrouverez la commande ./reobfuscate.sh puis ./recompile.sh (je n’ai pas testé car je n’en ai pas besoin et à mon avis ça va pas marcher car je suis en jdk 1.7…)et après vous pourrez refaire le jar, remplacer le minecraft original,etc…

 

Voilà après il y a plein de tutos sur le web pour créer vos armes, objets, mondes,…

par exemple ici

 

So Enjoy!