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
