25 February 2012

anime

Petit article technique pour faire en sorte de pouvoir utiliser la distance d’affichage maximale dans Minecraft pour OS X.

Vous devez bien connaitre cet écran :

Sur cet écran, lorsque vous changez la configuration du champ Render Distance et que vous le placez sur Far, vous avez peut être ce message :

Si c’est le cas, vous pouvez continuer l’article. Si non, vous êtes déjà en 64 bits pour Minecraft, et vous n’avez rien à faire (mais vous pouvez tout de même lire le message, cette astuce fonctionne pour d’autres applications basées sur Java).

Bon, donc Minecraft ne veux pas utiliser la JVM 64 bit qui normalement est installée sur votre machine. En effet, si vous utilisez le terminal, et que vous tapez cette commande [cci_bash]java -version[/cci_bash], vous avez quelque chose comme çà :

Que devez vous remarquer dans l’écran précédent ?

Si vous avez tout cela sauf le dernier point, vous devez donc avoir eu cet écran à la place :

Cela signifie que la JVM 64 bits n’est pas activée. C’est modifiable. Vous devez utiliser l’application Préférences Java, pour cela utilisez Spotlight

Sur la photo suivante, vous voyez que la seconde ligne correspond à Java en 64 bits, et elle se trouve bien en seconde position, vous devez alors la glisser, pour la mettre en première ligne.

Une fois fait, pas besoin de chercher un bouton de validation, ou se sauvegarde, c’est déjà fait, vous pouvez fermer l’application, après avoir vérifié que cela doit ressembler à ceci :

Bien, votre version de Java est à jour, en version >=1.6 et vous avez bien une version 64-bits, passons à la suite.

Alors, il faut savoir que sur Mac, une application en Java est souvent livrée avec son lanceur (dossier avec l’extension .app que le Finder vous affiche comme une application en cachant l’extension) :

[caption id=“attachment_159” align=“aligncenter” width=“300” caption=“Ici, j'ai demandé au Finder de m'afficher l'extension.”][/caption]

Donc maintenant que vous savez que ce truc est en fait un lanceur, il faut que vous sachiez en plus que ce lanceur possède un fichier de configuration. Bien connu du mon Apple, ce fichier, au format plist est un fichier au format XML (dans certains cas, il peut être compilé, pour prendre moins de place, il faut alors le dé-compiler, modifier puis re-compiler pour continuer, mais nous n’aurons pas besoin de cela pour notre cas).

Bref, pour atteindre ce fichier, vous devez afficher le contenu du lanceur, qui je le répète, est donc un dossier (comme toutes les applications du Mac).

Avez un clic droit dans le Finder dessus, vous allez sélectionner l’option Afficher le contenu du paquet :

Une fois le contenu affiché, vous devez trouver un fichier dont le nom est Info.plist :

[caption id=“attachment_178” align=“aligncenter” width=“300” caption=“C'est ce fichier que vous devez modifier”][/caption]

Choisissez votre éditeur préféré, vous pouvez utiliser Textedit, personnellement j’utilise VIM (ou plutôt la version un peut plus sexy, MacVim).

Je vous donne ici le contenue du fichier, bien indenté, histoire de savoir de quoi vous partez, et puis comme çà vous pouvez corriger les erreurs en repartant à zéro avec un ⌘+C / ⌘+V :

[cc_xml]<?xml version=“1.0” encoding=“UTF-8”?><!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"


CFBundleDevelopmentRegion
en

    <key>CFBundleName</key>
    <string>Minecraft</string>

    <key>CFBundleVersion</key>
    <string>1.0.0</string>

    <key>CFBundleShortVersionString</key>
    <string>Minecraft 1.0.0</string>

    <key>CFBundleExecutable</key>
    <string>JavaApplicationStub</string>

    <key>CFBundlePackageType</key>
    <string>APPL</string>

    <key>CFBundleSignature</key>
    <string>????</string>

    <key>CFBundleGetInfoString</key>
    <string>Minecraft 1.0.0 © Mojang Specifications, Inc, 2010</string>

    <key>CFBundleIconFile</key>
    <string>favicon.icns</string>

    <key>CFBundleAllowMixedLocalizations</key>
    <true/>

    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>

    <key>CFBundleIdentifier</key>
    <string>com.Mojang Specifications.Minecraft.Minecraft</string>

    <key>LSHasLocalizedDisplayName</key>
    <true/>

    <key>CFBundleDisplayName</key>
    <string>Minecraft</string>

    <key>Java</key>
    <dict>
       <key>MainClass</key>
       <string>net.minecraft.LauncherFrame</string>

       <key>ClassPath</key>
       <string>$APP_PACKAGE/Contents/Resources/Java/MinecraftLauncher.jar:</string>

       <key>Properties</key>
       <dict>
         <key>sun.java2d.noddraw</key>
         <string>true</string>

         <key>sun.java2d.d3d</key>
         <string>false</string>

         <key>sun.java2d.opengl</key>
         <string>false</string>

         <key>sun.java2d.pmoffscreen</key>
         <string>false</string>
       </dict>

       <key>VMOptions</key>
       <string>-Xms512M -Xmx1024M</string>

       <key>JVMVersion</key>
       <string>1.5+</string>

       <key>JVMArchs</key>
       <array>
         <string>i386</string>
         <string>ppc</string>
       </array>
    </dict>
</dict>

[/cc_xml]

Bien, que faut-il modifier pour activer le 64 bit ?

C’est très facile en fait, en bas du fichier, vous avez déjà une ligne correspondant la configuration de la version de Java minimale souhaitée. Elle est normalement, configurée sur 1.5+, remplacez le 5 par un 6 (cela donne [cci_xml]1.6+[/cci_xml])

Ensuite, vous voyez une liste d’architecture utilisées (réglage JVMArchs), il y a, dans l’ordre, i386 puis ppc. Pour notre besoin, en fait, il en manque un, et il doit se trouver en premier dans la liste. C’est l’architecture x86_64. Vous devez donc ajouter la ligne [cci_xml]x86_64[/cci_xml] juste au dessus de la ligne [cci_xml]i386[/cci_xml].

Cela donne donc une fin de fichier tel quel :
[cc_xml]JVMVersion
1.6+

JVMArchs

x86_64
i386
ppc
[/cc_xml]

Je vous donne le fichier complet modifié : [cc_xml]<?xml version=“1.0” encoding=“UTF-8”?><!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"


CFBundleDevelopmentRegion
en

    <key>CFBundleName</key>
    <string>Minecraft</string>

    <key>CFBundleVersion</key>
    <string>1.0.0</string>

    <key>CFBundleShortVersionString</key>
    <string>Minecraft 1.0.0</string>

    <key>CFBundleExecutable</key>
    <string>JavaApplicationStub</string>

    <key>CFBundlePackageType</key>
    <string>APPL</string>

    <key>CFBundleSignature</key>
    <string>????</string>

    <key>CFBundleGetInfoString</key>
    <string>Minecraft 1.0.0 © Mojang Specifications, Inc, 2010</string>

    <key>CFBundleIconFile</key>
    <string>favicon.icns</string>

    <key>CFBundleAllowMixedLocalizations</key>
    <true/>

    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>

    <key>CFBundleIdentifier</key>
    <string>com.Mojang Specifications.Minecraft.Minecraft</string>

    <key>LSHasLocalizedDisplayName</key>
    <true/>

    <key>CFBundleDisplayName</key>
    <string>Minecraft</string>

    <key>Java</key>
    <dict>
       <key>MainClass</key>
       <string>net.minecraft.LauncherFrame</string>

       <key>ClassPath</key>
       <string>$APP_PACKAGE/Contents/Resources/Java/MinecraftLauncher.jar:</string>

       <key>Properties</key>
       <dict>
         <key>sun.java2d.noddraw</key>
         <string>true</string>

         <key>sun.java2d.d3d</key>
         <string>false</string>

         <key>sun.java2d.opengl</key>
         <string>false</string>

         <key>sun.java2d.pmoffscreen</key>
         <string>false</string>
       </dict>

       <key>VMOptions</key>
       <string>-Xms512M -Xmx1024M</string>

       <key>JVMVersion</key>
       <string>1.6+</string>

       <key>JVMArchs</key>
       <array>
         <string>x86_64</string>
         <string>i386</string>
         <string>ppc</string>
       </array>
    </dict>
</dict>

[/cc_xml]

Et voila, vous pouvez sauvegarder le fichier, et lancer Minecraft pour activer le rendu lointain.

Suite :

Si vous utilisez le lanceur MagicLauncher, sachez que cela fonction exactement pareil. Vous devez chercher le fichier Info.plist du MagicLauncher, et modifier la fin de la même manière.

Note, donc ma recopie d’écran de Minecraft j’utilise le pack de texture Sphax PureBDCraft.