Description
This report covers two visual inconsistencies related to rubber trees in IC2 Classic, both of which have been addressed with Mixin patches.
The primary issue concerns the texture rotations of normal rubber wood logs (resin=false). When placed along the X or Z axis, several faces of the log do not match the UV orientation of vanilla logs. The most noticeable case is the Z-axis: the side bark texture remains vertical, whereas vanilla logs rotate it horizontally.
Through investigation in BlockRubberWood#getTextureRotation, it was found that the current rotation logic does not properly account for both the log axis and the individual face being rendered. The implementation applies a single rotation value per axis, which is insufficient to reproduce vanilla's per-face UV mapping.
The differences are clearly visible by following the Y-shaped marks in the bark texture.
It has also been reported that the rubber sapling item is rendered using a full 3D block model, unlike vanilla saplings which use a flat item/generated sprite. This creates a visual inconsistency with other saplings and with vanilla behavior.
rubber sapling vs. vanillia sapling
Environment:
- Minecraft: 1.12.2
- IC2 Classic: IC2Classic-1.12.2-1.5.15
To address these issues, I have written the following two Mixin patches:
1. MixinBlockRubberWood.java — overrides hasTextureRotation and getTextureRotation to apply the correct per-face rotations for each log axis, matching vanilla log behavior exactly.
MixinBlockRubberWood.java
2. MixinModelSapling.java — changes the sapling item model from a 3D block model to item/generated, while preserving the 3D model for the placed sapling in the world.
MixinModelSapling.java
Both Mixins have been tested and successfully resolve the issues described above. If you find these patches acceptable, I would be glad to see them being integrated.
Thank you for considering these fixes.
Description
This report covers two visual inconsistencies related to rubber trees in IC2 Classic, both of which have been addressed with Mixin patches.
The primary issue concerns the texture rotations of normal rubber wood logs (
resin=false). When placed along the X or Z axis, several faces of the log do not match the UV orientation of vanilla logs. The most noticeable case is the Z-axis: the side bark texture remains vertical, whereas vanilla logs rotate it horizontally.Through investigation in
BlockRubberWood#getTextureRotation, it was found that the current rotation logic does not properly account for both the log axis and the individual face being rendered. The implementation applies a single rotation value per axis, which is insufficient to reproduce vanilla's per-face UV mapping.The differences are clearly visible by following the Y-shaped marks in the bark texture.
It has also been reported that the rubber sapling item is rendered using a full 3D block model, unlike vanilla saplings which use a flat
item/generatedsprite. This creates a visual inconsistency with other saplings and with vanilla behavior.rubber sapling vs. vanillia sapling
Environment:
To address these issues, I have written the following two Mixin patches:
1.
MixinBlockRubberWood.java— overrideshasTextureRotationandgetTextureRotationto apply the correct per-face rotations for each log axis, matching vanilla log behavior exactly.MixinBlockRubberWood.java
2.
MixinModelSapling.java— changes the sapling item model from a 3D block model toitem/generated, while preserving the 3D model for the placed sapling in the world.MixinModelSapling.java
Both Mixins have been tested and successfully resolve the issues described above. If you find these patches acceptable, I would be glad to see them being integrated.
Thank you for considering these fixes.