Description:
Texture on all non-full width non-symmetrical blocks on south and east sides are misaligned, like :
Door
trapdoor
Fences
Fencegates
Wall
Buttons
Levers
Stairs
hopper
Tripwire hook
This does not affect some blocks like cocoa, because they don't use the standard block method.
With that bug, it's very difficult to make HD texture pack since these details are near invisible with 16x packs but not on 64x packs for example.
Expected:
Having textures correctly aligned, like on Ax.png screenshots.
Actual:
Textures are misaligned, like on Bx.png screenshots.
Solution:
RenderBlocks.java
public class RenderBlocks {
public void renderEastFace(Block par1Block, double par2, double par4, double par6, Icon texture) {
Tessellator tessellator = Tessellator.instance;
if (this.hasOverrideBlockTexture()) {
texture = this.overrideBlockTexture;
}
/* START OF OLD CODE *
double var10 = (double)texture.getInterpolatedU(this.renderMinX * 16.0D);
double var12 = (double)texture.getInterpolatedU(this.renderMaxX * 16.0D);
* END OF OLD CODE */
/* START OF NEW CODE */
double var10 = (double)texture.getInterpolatedU(16.0D - this.renderMaxX * 16.0D);
double var12 = (double)texture.getInterpolatedU(16.0D - this.renderMinX * 16.0D);
/* END OF NEW CODE */
double var14 = (double)texture.getInterpolatedV(16.0D - this.renderMaxY * 16.0D);
double var16 = (double)texture.getInterpolatedV(16.0D - this.renderMinY * 16.0D);
/* ... */
}
public void renderSouthFace(Block par1Block, double par2, double par4, double par6, Icon texture) {
Tessellator tessellator = Tessellator.instance;
if (this.hasOverrideBlockTexture()) {
texture = this.overrideBlockTexture;
}
/* START OF OLD CODE *
double var10 = (double)texture.getInterpolatedU(this.renderMinZ * 16.0D);
double var12 = (double)texture.getInterpolatedU(this.renderMaxZ * 16.0D);
* END OF OLD CODE */
/* START OF NEW CODE */
double var10 = (double)texture.getInterpolatedU(16.0D - this.renderMaxZ * 16.0D);
double var12 = (double)texture.getInterpolatedU(16.0D - this.renderMinZ * 16.0D);
/* END OF NEW CODE */
double var14 = (double)texture.getInterpolatedV(16.0D - this.renderMaxY * 16.0D);
double var16 = (double)texture.getInterpolatedV(16.0D - this.renderMinY * 16.0D);
/* ... */
}
}
Linked issues
is duplicated by 1
Attachments
Comments 26
Is this still a concern in the current Minecraft version? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.
The problem is still present in 13w02b, I have created a version of the texture pack for version 13w02a and above
And finally Grum, Since for 6 month I used to play with my fixed version of minecraft, I've not seen any bugs depending to this problem after fixing.
On obfuscated class, my patch apply on the methods c(Lxxx;DDDLyyy;)V and f(Lxxx;DDDLyyy;)V, so respectively the third and last renderFace methods.
Please reopen since it has returned with the fix for MC-37106 (which was an effect to the fix of this).
Whats wrong