Télécharger le patch – Patch ombre source
Simple utilisateur :
Pour l’installer :
Allez dans votre dossier roaming, pour se faire appuyez simultanément sur la touche « Windows » puis « R » , et entrez le texte « %appdata% » avant de valider.
Dirigez-vous dans le dossier « Minecraft » puis allez dans « Bin »
Ouvrez minecraft.jar avec winzip, winrar ou autre et déposer les fichier du patch a la racine; supprimez META-INF
Et le tour est joué
Développeur :
Les sources contiennent aussi les fichier compilé si jamais vous souhaitez seulement patcher votre jeu
Le problème :
Ce bug ce produit quand il y a un bloc opaque au-dessu.
Étude
Le problème est dû une mauvaise gestion de l’opacité, allons donc voir dans minecraft comment cela est géré :
« BlockStep.java » dans le package « net.minecraft.src » le bloc est crée cette façon :
public BlockStep(int par1, boolean par2) { super(par1, 6, Material.rock); blockType = par2; if (!par2) { setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); } else { opaqueCubeLookup[par1] = true; } setLightOpacity(255); }
Cette condition définie si c’est une demi-dalles ou un bloc
if (!par2) { setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); } else { opaqueCubeLookup[par1] = true; }
Nous allons l’utiliser pour supprimer l’opacité des demi-dalles.
Développement :
Pour supprimer l’opacité des demi-dalles nous allons définir une variable « opacity » que l’on mettra par défaut a 255 avant
« public BlockStep(int par1, boolean par2) »
et « setLightOpacity( ) » prendra maintenant pour valeur opacity .
Votre début de fichier devrait ressembler à ceci :
private int opacity=255; public BlockStep(int par1, boolean par2) { super(par1, 6, Material.rock); blockType = par2; if (!par2) { setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); } else { opaqueCubeLookup[par1] = true; } setLightOpacity(opacity); }
Maintenant il suffit de mettre opacity à 0 quand c’est une demi-dalle, si vous avez bien suivi vous devriez avoir ceci.
private int opacity=255; public BlockStep(int par1, boolean par2) { super(par1, 6, Material.rock); blockType = par2; if (!par2) { setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); opacity=0; } else { opaqueCubeLookup[par1] = true; } setLightOpacity(opacity); }
Et voilà c’est tout 😉 vous pouvez reproduire cela sur le serveur bien que je pense que ça ne sert pas vu que la lumière est gérée par le client