To start off, I'll explain what I'm suggesting with a little bit more detail because I think the title is not that explanatory.
Double slab blocks can only be made of the same single slab type. Stone slabs can be placed on stone slabs to make a full block, wood with wood, etc.. We've all thought it at one point, "I'll just throw a wood slab on a stone slab at the bottom of my wall to make a nice trim". We can't do this with the way double slabs work. This is what I'm suggesting; to have different kinds of slabs in the same block to make a double slab. But there are problems that come with this. One would only think that they'd use tile entities to do this and that would use space on the hard drive that could otherwise be used for other things. I'm not suggesting to use tile entities.
I can only assume the world is stored as a 3-5 dimensional array. And with this I can assume that blocks are stored as values in that array. Thus I derive my first two suggestions.
Suggestion number 1: Add a new dimension to the array.
Slabs would be stored in this new dimension and it would only be used when a slab is in the world. In code it would look something like:
{Block, {Slab, Slab}, Block)}
{2, {4, 5}, 3} //as an example
{1, {0, 1}, 4}//a single slab
{256, {256, 256}, 256}//highest values
(I am in no way telling Mojang how to code! This is only to demonstrate.) This way would allow for not only two types of slabs in the same block but it would also eliminate the need for a slab block all together. How? Well, the Slab value could be, not the metadata of the slab type, but the actual ID of any block. This would allow for any block to be a slab. It would also allow things like Redstone, Rails and Torches to be placed on the top of a bottom slab.
But with this would come a problem, it could potentially double the size of the world's file. That's if one were to use nothing but slabs. But on a normal scale it would only add maybe less then what the mod Redpower by Eloraam uses to add this functionality, because this suggestion doesn't use tile entities. But size does mater. So!
Suggestion number 2: Use a 1 dimensional array for the slabs' metadata.
Metadata is stored as 4 bits in the world file, this means only 16 different values for blocks that use metadata. With a 1 dimensional array of 4 bit values it would allow for each value in the array to be the type of slab in both the top and bottom slots. In code:
(I am in no way telling Mojang how to code!This is only to demonstrate.) Wait! how is this different from the first suggestion? Take a look at the first code I have, it has four 256 values, this one has only three. That's three quarters the size plus the space the metadata takes up. This would limit the number of slab types to 16, but that's the way it is, so no problems there.
Both these suggestions would potentially require a new world format. But if Mojang were to add cubic chunks, that would require a new format anyways. So, if they add that and one of these at the same time there's two suggestions down with one stone. So to speak.
After thought and more of a side suggestion. Make it posible to brake idividual slabs without braking the other slab contained in that tile.
Because I know only 30% of you read this far. One way to help eliminate over posting is to improve the terrible search engine in the forums so people can actually find the topic they are looking for and post a reply with their take on the suggestion.
If you liked this suggestion, you might like the "Object ID Encoding" suggestion by PatDay. Go check it out, and if you like it, support it! http://www.minecraft...ct-id-encoding/
We already have the option to place Slabs on the upper half, and lower half of blocks.
Why not just let 2 slabs inhabit a single block, but not the same half?
We already have the option to place Slabs on the upper half, and lower half of blocks.
Why not just let 2 slabs inhabit a single block, but not the same half?
I like this. I know I'm not the only person that has on many occasions wanted to stack unlike slabs.
I know it's not an easy fix, but it's something that could have wide ranging impacts that could really be helpful in other aspects the game. For example, if you allowed different slabs to stack, by extension it means Mojang could:
1) Let torches to be placed on the half slab "bottom"
2) Place redstone on slabs for more discrete circuitry
3) Get rid of carpet idea and just have the more generic wool slabs (which could be stacked on other slabs to create carpets)
That's just a few things off the top of my head.
P.S. To plug my own suggestion, I think this suggestion would really work well with an expanded data value system: http://www.minecraft...ct-id-encoding/
I like this. I know I'm not the only person that has on many occasions wanted to stack unlike slabs.
I know it's not an easy fix, but it's something that could have wide ranging impacts that could really be helpful in other aspects the game. For example, if you allowed different slabs to stack, by extension it means Mojang could:
1) Let torches to be placed on the half slab "bottom"
2) Place redstone on slabs for more discrete circuitry
3) Get rid of carpet idea and just have the more generic wool slabs (which could be stacked on other slabs to create carpets)
That's just a few things off the top of my head.
P.S. To plug my own suggestion, I think this suggestion would really work well with an expanded data value system: http://www.minecraft...ct-id-encoding/
I didn't think of those things. Your suggestion is really similar to mine lol But they could work in tandem for an even more diverse block placement selection.
Take my first suggestion with your extended data system, the could look something like this:
I didn't think of those things. Your suggestion is really similar to mine lol But they could work in tandem for an even more diverse block placement selection.
Take my first suggestion with your extended data system, the could look something like this:
This could allow any block to be placed on the top have of a bottom slab or bottom of a top slab. Or even allow blocks to be placed offset by a half.
Agreed. Separate ideas, but extended data values would greatly ease the implement your suggestion I believe.
This is another side note, but I think relevant: Currently, each block is stored individually in memory. Not only is this limiting (can't have different slab types in same block), but it's also incredible inefficient.
I'm a computer engineer by training, but it's been a long time since I've coded so I'm not going to try to be technical. Quick idea is that storing a flat array of object IDs is a waste because it doesn't utilize data clusters. It's basic compression technology 101 - if you have a data array of:
AAAABBBCAAAAACCCCCBBABCCCA
You don't store:
AAAABBBCAAAAACCCCCBBABCCCA
You instead store:
4A3B1C5A5C2B1A1B3C13
Can you figure out the pattern?
Ok, why do I bring this up? Well, I'm just pointing out that with creative coding it could be possible to implement a half block grid instead of a full block grid and still keep performance the same or even better. And with a half block grid, it would make a whole lot of other things possible - including the OP - with minimum fuss.
Agreed. Separate ideas, but extended data values would greatly ease the implement your suggestion I believe.
This is another side note, but I think relevant: Currently, each block is stored individually in memory. Not only is this limiting (can't have different slab types in same block), but it's also incredible inefficient.
I'm a computer engineer by training, but it's been a long time since I've coded so I'm not going to try to be technical. Quick idea is that storing a flat array of object IDs is a waste because it doesn't utilize data clusters. It's basic compression technology 101 - if you have a data array of:
AAAABBBCAAAAACCCCCBBABCCCA
You don't store:
AAAABBBCAAAAACCCCCBBABCCCA
You instead store:
4A3B1C5A5C2B1A1B3C13
Can you figure out the pattern?
Ok, why do I bring this up? Well, I'm just pointing out that with creative coding it could be possible to implement a half block grid instead of a full block grid and still keep performance the same or even better. And with a half block grid, it would make a whole lot of other things possible - including the OP - with minimum fuss.
Yeah, the blocks could be stored in a similar way to image files or compressed files store large amounts of data.
I wish they would just add the microblock system they use in Redpower mod. That's the best for doing stuff like this, but this would be a cool addition too, and if the added sideways slabs and stairs it would be even better.
I wish they would just add the microblock system they use in Redpower mod. That's the best for doing stuff like this, but this would be a cool addition too, and if the added sideways slabs and stairs it would be even better.
It would be nice but these suggestions are an alternative.
You know, with all this code being passed around, perhaps a patch could be applied to the game by changing some of the core class files... if you know what I'm getting at...
And I might be sounding a little childish by saying "make it a mod stupidheads" but hey, I don't know how to Java yet. But, I'm always up for learning something new!
Rollback Post to RevisionRollBack
You are the result of 4 billion years of evolutionary success. START ACTING LIKE IT.
You know, with all this code being passed around, perhaps a patch could be applied to the game by changing some of the core class files... if you know what I'm getting at...
And I might be sounding a little childish by saying "make it a mod stupidheads" but hey, I don't know how to Java yet. But, I'm always up for learning something new!
I would make this into a mod, but I'm not that good at Modding and there are mods out there that do this.
Double slab blocks can only be made of the same single slab type. Stone slabs can be placed on stone slabs to make a full block, wood with wood, etc.. We've all thought it at one point, "I'll just throw a wood slab on a stone slab at the bottom of my wall to make a nice trim". We can't do this with the way double slabs work. This is what I'm suggesting; to have different kinds of slabs in the same block to make a double slab. But there are problems that come with this. One would only think that they'd use tile entities to do this and that would use space on the hard drive that could otherwise be used for other things. I'm not suggesting to use tile entities.
I can only assume the world is stored as a 3-5 dimensional array. And with this I can assume that blocks are stored as values in that array. Thus I derive my first two suggestions.
Suggestion number 1: Add a new dimension to the array.
Slabs would be stored in this new dimension and it would only be used when a slab is in the world. In code it would look something like:
(I am in no way telling Mojang how to code! This is only to demonstrate.) This way would allow for not only two types of slabs in the same block but it would also eliminate the need for a slab block all together. How? Well, the Slab value could be, not the metadata of the slab type, but the actual ID of any block. This would allow for any block to be a slab. It would also allow things like Redstone, Rails and Torches to be placed on the top of a bottom slab.
But with this would come a problem, it could potentially double the size of the world's file. That's if one were to use nothing but slabs. But on a normal scale it would only add maybe less then what the mod Redpower by Eloraam uses to add this functionality, because this suggestion doesn't use tile entities. But size does mater. So!
Suggestion number 2: Use a 1 dimensional array for the slabs' metadata.
Metadata is stored as 4 bits in the world file, this means only 16 different values for blocks that use metadata. With a 1 dimensional array of 4 bit values it would allow for each value in the array to be the type of slab in both the top and bottom slots. In code:
(I am in no way telling Mojang how to code!This is only to demonstrate.) Wait! how is this different from the first suggestion? Take a look at the first code I have, it has four 256 values, this one has only three. That's three quarters the size plus the space the metadata takes up. This would limit the number of slab types to 16, but that's the way it is, so no problems there.
Both these suggestions would potentially require a new world format. But if Mojang were to add cubic chunks, that would require a new format anyways. So, if they add that and one of these at the same time there's two suggestions down with one stone. So to speak.
After thought and more of a side suggestion. Make it posible to brake idividual slabs without braking the other slab contained in that tile.
Links:
Eloraam's mod "Redpower": http://www.minecraft...2-prerelease-6/
Off Topic:
If you liked this suggestion, you might like the "Object ID Encoding" suggestion by PatDay. Go check it out, and if you like it, support it!
http://www.minecraft...ct-id-encoding/
Support.
I'm with you, man. I don't understand the minutia of this whole thing, but I would love if it was possible.
Example:
Why not just let 2 slabs inhabit a single block, but not the same half?
That would be nice for modders, but I thought about it and it would take up way too much space on the hard drive.
This is what I'm suggesting lol
I know it's not an easy fix, but it's something that could have wide ranging impacts that could really be helpful in other aspects the game. For example, if you allowed different slabs to stack, by extension it means Mojang could:
1) Let torches to be placed on the half slab "bottom"
2) Place redstone on slabs for more discrete circuitry
3) Get rid of carpet idea and just have the more generic wool slabs (which could be stacked on other slabs to create carpets)
That's just a few things off the top of my head.
P.S. To plug my own suggestion, I think this suggestion would really work well with an expanded data value system:
http://www.minecraft...ct-id-encoding/
Take my first suggestion with your extended data system, the could look something like this:
This could allow any block to be placed on the top have of a bottom slab or bottom of a top slab. Or even allow blocks to be placed offset by a half.
Agreed. Separate ideas, but extended data values would greatly ease the implement your suggestion I believe.
This is another side note, but I think relevant: Currently, each block is stored individually in memory. Not only is this limiting (can't have different slab types in same block), but it's also incredible inefficient.
I'm a computer engineer by training, but it's been a long time since I've coded so I'm not going to try to be technical. Quick idea is that storing a flat array of object IDs is a waste because it doesn't utilize data clusters. It's basic compression technology 101 - if you have a data array of:
AAAABBBCAAAAACCCCCBBABCCCA
You don't store:
AAAABBBCAAAAACCCCCBBABCCCA
You instead store:
4A3B1C5A5C2B1A1B3C13
Can you figure out the pattern?
Ok, why do I bring this up? Well, I'm just pointing out that with creative coding it could be possible to implement a half block grid instead of a full block grid and still keep performance the same or even better. And with a half block grid, it would make a whole lot of other things possible - including the OP - with minimum fuss.
It could even allow for this to be possible
It would take a lot of work to rewrite it all, but they have rewritten the world before so its not like its impossible to do.
And I might be sounding a little childish by saying "make it a mod stupidheads" but hey, I don't know how to Java yet. But, I'm always up for learning something new!
That's ok, I wouldn't know what I was reading if I didn't write it myself lol. Thanks for the support.