Suggestion: distinct transformer and storage textures

  • I'm mostly ok with default texture, but these machines looking usually exactly the same and without visible orientation drive me mad.
    So, suggestion is: different textures for transformers and storages (just different tint will do even) and oriented textures for sides (with output or higher-voltage output being the top), so it is possible to say where top is when top is covered by cable or other machine.


    if someone make this as texture mini-pack, it will be good too.

  • I don't mean to shoot down your idea, I'm just offering an alternative. Try the Soartex Fanver Smooth Texture Pack, as it contains a customizable package, and several textures for IC2 items. I had the same problem you are, but the texture pack makes the machines look different enough that I can tell them apart fairly easily.

    Generosity is never bought or sold, neither paid for nor invoiced. It is simply given, and met with gratitude.


    Have a Look: Improved Booze System

  • What do you mean with "orientation thing can't be done with just textures"?


    There were some graphical rotation issues on SMP, where the output side is displayed incorrectly, but apart from that it has always worked for me.
    (If I remember correctly this was solved after we moved from multi-world IC 1.95b to multi-server 1.97)

  • When block is facing horizontally, face, sides and back are ok, but top and bottom stay oriented exactly the same no matter where face is. So, no way to make it it is visible where face is, when looking from the top. i And when face is on top or bottom, sides do not rotate 90% as they should, they stay vertical.


    You can see it even with default texture - note how MFE sides always have shadow on the bottom, even when face is up.

    • Official Post

    That Textureproblem could be partially solved, by just replacing a number!


    from BlockMultiID


    public int getBlockTexture(IBlockAccess var1, int var2, int var3, int var4, int var5)
    {
    TileEntity var6 = var1.getBlockTileEntity(var2, var3, var4);
    short var7 = var6 instanceof TileEntityBlock ? ((TileEntityBlock)var6).getFacing() : 0; <= Replace this 0 with a 2, and it will just not face downwards (but in the wrong sidewardsdirection), but who cares, it's just a Rotationbug.
    int var8 = var1.getBlockMetadata(var2, var3, var4);
    return isActive(var1, var2, var3, var4) ? var8 + (sideAndFacingToSpriteOffset[var5][var7] + 6) * 16 : var8 + sideAndFacingToSpriteOffset[var5][var7] * 16;
    }

    • Official Post

    I'm not really familiar with codebase, but I know that vanilla (retracted)piston block handle 6-directional orientation perfectly. May be it's possible use/copy it's code?

    Nope its not possible, due to the Fact that Pistons are using Metadata for Rotation, and IC²-Stuff uses Metadata to save ID's, so it has to use TileEntity-based Rotation.

  • ]Nope its not possible, due to the Fact that Pistons are using Metadata for Rotation, and IC²-Stuff uses Metadata to save ID's, so it has to use TileEntity-based Rotation.


    Well, it's not just as simple as calling a function, but what about taking RenderBlocks.renderPistonBase and change the line where it is doing "getOrientation"?


    Also, I was thinking about how storage and transformers should look... I have thinked up following mnemonics.


    1. Color=type. Red is storage, because red=power (redstone, charge meter on batteries and most other things, etc.). Black is transformers, because this is color of wires. This color is drawn as a border around "face" side, but visible from sides too. Easy to modify current design with preserving familiarity, but not very pretty.
    2. Metal=type. Storage is tin (batteries), copper is transformers (wiring). Not really a good one.
    3. My favorite - metal is power. Just as wiring. So, storages are copper, gold and steel (orange, yellow and white) from low to high. And transformers are 3/4 one color and 1/4 other. Ultrahigh voltage is red, so HVT is white/red.
    Sketch of LVT is in attachment.

    • Official Post

    Well, it's not just as simple as calling a function, but what about taking RenderBlocks.renderPistonBase and change the line where it is doing "getOrientation"?

    That function (which i have shown at my first Post here), needs a TileEntity to determine the Rotation, and when that TileEntity is not loaded (due to Bukkit), while that is called, then the Defaultrotation is 0 (downwards). I just said that the Defaultrotation should be 2 (because 1 is upwards), to cause less annoyances.