[SOLVED] IC2 Ores and CustomColors

  • Hello.


    I have been modifying DocuCraft texture pack for a while now and noticed what might be a bug.


    The colors of certain blocks in Minecraft with Optifine are controlled by colormaps depending on the biome these blocks reside in.
    Ore block colors are controlled by stonecolor.png and can be registered in texturepacks in color.properties file.


    Here is an extract from it that is supposed to apply stone colormap to vanilla ores and ones generated by Redpower and IC2:

    Code
    palette.block./misc/stonecolor.png=1 4 14 15 16 21 48 56 61 62 67 73 74 77 98 109 129 242 688 4093 4094 4095


    Where, according to NEI dump, 242 is a block holding all RP ores, 688 is Monazit Ore from MFFS IC2 addon and 4093-4095 are ores generated by IC2.


    RP blocks seem to work fine, however while minecraft tries to apply these settings to IC2 ores, the following errors appear:

    Code
    Loading custom colors: /misc/stonecolor.png
    Invalid block index: 688 in palette: palette.block./misc/stonecolor.png
    Invalid block index: 4093 in palette: palette.block./misc/stonecolor.png
    Invalid block index: 4094 in palette: palette.block./misc/stonecolor.png
    Invalid block index: 4095 in palette: palette.block./misc/stonecolor.png


    Obviously all ores related to IC2 are only registered _after_ this part, so colormaps do not apply to them (see attached screenshot).


    Since RP does not have these problems, there must be some way to register blocks prior to colormap registering.


    So my question is if there is a way to solve it (in case my setup is wrong) or include a fix in future updates (in case this is a bug)?


    Regards,
    Tony


    P.S. Of course this can be "fixed" by either disabling custom colors or removing the config line completely, however, such radical measures
    don't seem to be a reasonable solution.

    • Official Post

    Obviously all ores related to IC2 are only registered _after_ this part, so colormaps do not apply to them (see attached screenshot).

    Not quite. IC2-Ores are very likely registered before it even loads. Try adjusting the Mod order to place your Mod before IC².

    Since RP does not have these problems, there must be some way to register blocks prior to colormap registering.

    Yes, IC² creates and registers its blocks in "preload" inside the ID-Getter of the Config (what is in both cases very wrong), while every other Mod does it properly in "load".

  • Optifine doesn't support 4096BlockID's

    This. I tried changing IC ore IDs to numbers lower than 255 and it worked! Thank you very much. (It's unclear why Optifine doesn't support high values, though)

    • Official Post

    This. I tried changing IC ore IDs to numbers lower than 255 and it worked! Thank you very much. (It's unclear why Optifine doesn't support high values, though)

    Because IDS higher than 256 are forge 4096 block IDs "fix". Optifine only has COMPATIBILITY with forge so both can work if they are installed together, but both are independant.