Reducing Block ID's using Damage values

  • Ok, this might seem minor to most of you, but personally, i use a lot of mods. Since MCForge came out, the old problem of terrain/item sprite indices has gone, only to be replaced with another problem: No Avaliable Block ID's left!


    I was messing around in my world, and found a few things that could lower Block ID usage in IC^2:
    - Use Damage values [obviously]
    - Do all the Ore ID's have to be separte? Can't they be merged together with the ore storgae blocks? I mean, they arent even tile entities
    - Does the Dynamite sticks have to takle up 2 ID's?
    - TNT types blocks?
    - Other blocks that could share the same ID using Damage values?



    And the logic to all this is:
    - All the generators share 1 Id, as do the Furnace-esque Machines. why not the Ores?!?
    - The terraformer is shares the same main id with the main machines as well, as well as the machine and the Advanced machine block.


    The main object of this post was to ask that the coders of IC^2 look into reducing Block ID usage :P


    P.S. I can't do the squared symbol :(

  • What do you mena they have meta-values? I know wool blocks are differentiated by damage values, as are the machines in IC^2.


    And i know another modder thats used meta-data AND damage values to compress a s***load of blocks into 1 ID. I think meta-data is for storing the state of tile entities though...and damage values for extending 1 Block ID. Or maybe i'm thinking of Hexadecimal values...


    Anyway, i can't decompile IC^2 for some reason...

    • Official Post

    Usually this thread would be deleted for inappropirate thread titling, but i can't resist:


    Please stfu and don't talk about stuff you don't understand a shit about. Meta-Data IS "damage".
    Items and Blocks can all store 1 additional value. In case of Blocks this is called Meta-Data, for itemstacks it's usually called damage (as "damage" is the most common use for itemstack-meta).


    And no, Eloraam did not use "Meta-Data and Damage" to compress blocks, but a complex boolean alogrythm including Metadata and a load of bitshifts, operands and compares.