Just had a thought occur to me... One potential obstacle to every block having its own slab, stair, and wall/fence/bar forms (which would be fantastic from an aesthetic point of view and should be a priority for Mojang) is the number of item IDs this would take up.
To facilitate this, every block should have two (or more) associated damage values instead of one.
The first value, the item ID, determines what basic block type and texture the placed block will be - generically wood, cobblestone, smoothstone, stonebrick, brick, glass, grass, dirt, etc.
The second value determines the morphology of the block - whether it's a plain block, stairs, slab, doubleslab, fence, door... whatever! The ideal here would be for every texture and color to be available to fill any role, e.g. glass doors and melon stairs. (Melon stairs wouldn't have to be actually craftable, but they should be available in Creative mode for artists' benefit.)
The third value determines the color subtype. This would also allow wool blocks and their derivatives (such as beds!) to benefit from the same dye scheme as has been implemented in leather armor.
For tools, damage values could be used in a different way - the ID could determine the tool type (pick, spade, etc), the first value could be material (diamond, iron, fire), and the second could be the actual durability number.
Additional damage values could be used to hold metadata such as enchantments and potion effects. This would be a godsend for anyone who doesn't have access to or the ability to use NBT editors to spawn in custom potions. It could also pave the way towards items like "Boots of Speed," which could be boots with a Swiftness potion effect embedded.
A few examples of what possibilities this could hold:
Currently Birch Planks are 5:2, Double Birch Slabs are 125:2, Birch Slabs are 126:2, and Birch Stairs are 135. Instead, Birch Planks would be would be 5:0:2, Double Birch Slabs would be 5:1:2, Birch Slabs would be 5:2:2, and Birch Stairs would be 5:3:2.
Currently, Iron Blocks are simply ID 42. Under the new scheme, Iron Blocks would be 42:0, Double Iron Slabs would be 42:1, Iron Slabs would be 42:2, and Iron Stairs would be 42:3. New possibilities include Iron Bars as 42:4, Iron Doors as 42:5, and Iron Trapdoors as 42:6. Even things like Iron Signs as 42:7 would be very easy to implement under this scheme.
For dyeable wool (and beds), this scheme would replace the existing 0-16 color damage value, replacing it with the dye metadata.
Music discs could also convert to this ID scheme, becoming damage values of each other.
Can anyone come up with a technical reason why this isn't possible or shouldn't be attempted?
I don't think this idea has ever been posted before, since it's kind of esoteric. Still, I think it would have real advantages in terms of being able to expand the array of available blocks in the game, which is never a bad thing.
I think the only technical hurdle involved here would be converting existing worlds to use the new item format, but at least theoretically speaking I don't think it would be too difficult to do a one-time conversion of all the old save games.
A more pressing concern would be that all the item enums used by Bukkit and the like would need to change, which could cause brief troubles for servers. Still, I think the one-time inconvenience would be more than made up for with the addition of things like Gold Bars, Brick Walls, and Wool Stairs.
Bukkit can adapt, having vulnerable servers for a moment won't cause the world to end. Anyways Mordikins, I have a proposal for you. I am looking for promising suggesters (Although you are already an expert.) to improve the quality of suggestions on the forums by forming a suggesters guild. I have a couple members already, and waiting on a few others. The pros would be having your suggestions more public, and being able to rely on others for support. (I mean support on the fact that they will help you, not the approval kind of support, although that comes often.) The cons would be being part of a group and all the hassle of that. You choose.
Great idea. I don’t know all the in’s and out’s to the current ID system, but even I can see/sense a limiting capability to it. A simple ID number for all items in the game. If this game is going to become big and even more capable, it need s a much more robust ID system for the hopefully hundreds of items that will eventually become available in the game. Lastly, suggest a code placeholder for special conditions, not just enchants placed on a block. The extra placeholder could be used for very unique type blocks or effects. Great idea. I hope Mojang sees this and begins expanding the games library of blocks. (Remember, it’s a sandbox, no purpose is required to add all sorts of things.)
Hopefully not. Worst-case scenario, it would be like the transition to Anvil all over again. However, I don't think that there would be a need for maps to be screwed up, because none of the blocks are disappearing - their names would just be translated into a different format. I don't know that it would actually be possible, but an operation like one big find+replace would be ideal for this kind of thing.
Lastly, suggest a code placeholder for special conditions, not just enchants placed on a block. The extra placeholder could be used for very unique type blocks or effects.
Great idea. I hope Mojang sees this and begins expanding the games library of blocks. (Remember, it’s a sandbox, no purpose is required to add all sorts of things.)
I like this... I wonder if it would be possible to reconfigure the item database in such a way that you could keep adding more damage values without screwing stuff up, e.g. to have maybe something as wild as an item with an ID and seven or eight extra values attached to it. I don't see why it's to anyone's advantage to limit items to having one, two, or any finite number of data values.
Bukkit can adapt, having vulnerable servers for a moment won't cause the world to end. Anyways Mordikins, I have a proposal for you. I am looking for promising suggesters (Although you are already an expert.) to improve the quality of suggestions on the forums by forming a suggesters guild. I have a couple members already, and waiting on a few others. The pros would be having your suggestions more public, and being able to rely on others for support. (I mean support on the fact that they will help you, not the approval kind of support, although that comes often.) The cons would be being part of a group and all the hassle of that. You choose.
I've heard worse ideas. Why don't you send me a PM with more details?
To facilitate this, every block should have two (or more) associated damage values instead of one.
- The first value, the item ID, determines what basic block type and texture the placed block will be - generically wood, cobblestone, smoothstone, stonebrick, brick, glass, grass, dirt, etc.
- The second value determines the morphology of the block - whether it's a plain block, stairs, slab, doubleslab, fence, door... whatever! The ideal here would be for every texture and color to be available to fill any role, e.g. glass doors and melon stairs. (Melon stairs wouldn't have to be actually craftable, but they should be available in Creative mode for artists' benefit.)
- The third value determines the color subtype. This would also allow wool blocks and their derivatives (such as beds!) to benefit from the same dye scheme as has been implemented in leather armor.
- For tools, damage values could be used in a different way - the ID could determine the tool type (pick, spade, etc), the first value could be material (diamond, iron, fire), and the second could be the actual durability number.
- Additional damage values could be used to hold metadata such as enchantments and potion effects. This would be a godsend for anyone who doesn't have access to or the ability to use NBT editors to spawn in custom potions. It could also pave the way towards items like "Boots of Speed," which could be boots with a Swiftness potion effect embedded.
A few examples of what possibilities this could hold:- Currently Birch Planks are 5:2, Double Birch Slabs are 125:2, Birch Slabs are 126:2, and Birch Stairs are 135. Instead, Birch Planks would be would be 5:0:2, Double Birch Slabs would be 5:1:2, Birch Slabs would be 5:2:2, and Birch Stairs would be 5:3:2.
- Currently, Iron Blocks are simply ID 42. Under the new scheme, Iron Blocks would be 42:0, Double Iron Slabs would be 42:1, Iron Slabs would be 42:2, and Iron Stairs would be 42:3. New possibilities include Iron Bars as 42:4, Iron Doors as 42:5, and Iron Trapdoors as 42:6. Even things like Iron Signs as 42:7 would be very easy to implement under this scheme.
- For dyeable wool (and beds), this scheme would replace the existing 0-16 color damage value, replacing it with the dye metadata.
- Music discs could also convert to this ID scheme, becoming damage values of each other.
Can anyone come up with a technical reason why this isn't possible or shouldn't be attempted?I give support as hard as Adminium !!
TT2000, you are genius.
I think the only technical hurdle involved here would be converting existing worlds to use the new item format, but at least theoretically speaking I don't think it would be too difficult to do a one-time conversion of all the old save games.
A more pressing concern would be that all the item enums used by Bukkit and the like would need to change, which could cause brief troubles for servers. Still, I think the one-time inconvenience would be more than made up for with the addition of things like Gold Bars, Brick Walls, and Wool Stairs.
Lastly, suggest a code placeholder for special conditions, not just enchants placed on a block. The extra placeholder could be used for very unique type blocks or effects.
Great idea. I hope Mojang sees this and begins expanding the games library of blocks. (Remember, it’s a sandbox, no purpose is required to add all sorts of things.)
Hopefully not. Worst-case scenario, it would be like the transition to Anvil all over again. However, I don't think that there would be a need for maps to be screwed up, because none of the blocks are disappearing - their names would just be translated into a different format. I don't know that it would actually be possible, but an operation like one big find+replace would be ideal for this kind of thing.
I like this... I wonder if it would be possible to reconfigure the item database in such a way that you could keep adding more damage values without screwing stuff up, e.g. to have maybe something as wild as an item with an ID and seven or eight extra values attached to it. I don't see why it's to anyone's advantage to limit items to having one, two, or any finite number of data values.
I've heard worse ideas. Why don't you send me a PM with more details?
Also, here is an awesome suggestion I had: http://www.minecraftforum.net/topic/1745550-biome-effects/