I added a subsection about Indev Block IDs to the IDs section of the Data Values article on the Wiki. I was surprised to see that this info was not available on there already, and I figured it was important enough to add, so I added it. To see it, go to http://minecraft.gamepedia.com/Data_values#IDs and scroll down to the subsection header that says "Indev Block IDs".
Anybody can play versions of Minecraft well before Indev using the launcher. In fact, Infdev can be played (though not Indev itself yet) using the launcher. Most people who are curious about the history of the game will have tried these really old versions through the launcher, and probably are wondering "What's Infdev?". So they probably might google it, and in the process find out about Indev. A quick couple searches for Indev will easily let them find the jar file itself on various sites on the net. It's fairly easy to use any jar file by adding or replacing it to the json file, so anybody really curious about the history of the development of the game will probably be at this point by now (having access to the Indev jar file, and have played it). My addition to the Wiki will help these people in the creation of level editor tools that work with Indev, if they are so inclined to write such (I already have myself).
In fact I would argue that you SHOULD be using Indev if you want to edit levels. When balancing the number of available blocks, with how easy it is to edit a level file, nothing beats Indev. Prior to indev (like the very early RD versions of Minecraft, and the oldest couple versions of Classic, that you find as the oldest entries in the launcher's version selector) the levels were even easier to edit. They literally were nothing more than a raw 3D array of Block IDs compressed with GZip. Yet they only had 5 or fewer block IDs available. Modern versions of Minecraft are INCREDIBLY DIFFICULT to write level editors for, even if you are a skilled programmer. These modern levels are split into multiple region files. Each region is split into chunks, and each chunk contains all of the data needed to describe absolutely every aspect of what's in that chunk (biomes, terrain height, skylight level, blocklight level, etc), and to make matters worse, each chunk is also divided into subchunks, each of which is a 16x16x16 cube of blocks. It feels like in modern versions of Minecraft, Mojang was trying to obfuscate the level file format to specifically to deter people from writing 3rd party level editors. Each region file has a couple arrays that tells you where to find the data for a given chunk, and each of these chunks is GZip (or was it ZLib, I don't remember right now) compressed NBT formatted file, with half a dozen arrays that specify all the data needed to describe the chunk.
However, Indev McLevel files are the sweet spot of ease-of-writing-an-editor-for and enough-blockIDs-to-make-it-worth-it. These are simply GZip compressed files. Each one specifies the entire finite-sized level (not counting entities, current weather, and other stuff that most level editors don't need to edit, just keep in tact for when writing back to the file) with only 3 variables and 2 byte-arrays. There's the width, length, and height variables, and a Data array and a Blocks array. The Blocks array has all the block IDs for the whole level. Each entry of the Data array has the data for the corresponding block. The upper nibble specifies the metadata (usually called the "damage value"), which is used by certain block IDs to define certain properties for said block. The lower nibble specifies the current light level for that block.
So if you want to make a simple editor that converts a normal Bitmap image into a Minecraft level, or other such cool level editors/creators, I would strongly recommend using Indev as your Minecraft version.
I am well aware that playing indev is possible. The fact remains that most people DON'T play it.
Writing an editor for a severely dated version is a waste of time unless you have a very specific need that can't be achieved with an existing editor.
The advantage of writing an editor for Indev is that it is much easier to write an editor for it than for modern Minecraft, while also having many more blocks available than in the very old RD versions of Minecraft. And yes there's many editors for modern Minecraft available already, so why write a new one? Well, for one thing, you can make a custom-made editor that can do stuff like plot a sinewave or other mathematical function in 3D, using Minecraft blocks instead of pixels. No current Minecraft editor allows you to convert any old random user-supplied data to Minecraft blocks, but rather they act like a fancy version of Creative, meaning you can place blocks by clicking. But when I design new editors, they have the ability to take any raw input data array (supplied by the user) and convert it into Minecraft format, specifically Indev (as it is the easiest to code an editor for). I also am working on a similar editor for modern Minecraft, but I highly recommend to any other developers not to bother writing editors for modern Minecraft, because the complex level format makes it a real "pain in the butt" to code an editor for. My editor for modern Minecraft is really just an exercise in coding, for the sake of taking on a hard project, not to create something that will actually be used by others. Meanwhile, I do plan to create a functional Indev level editor and release it, because it is so easy to do, and I would encourage fellow developers to take this same path that I have. For most people, coding an editor for modern Minecraft is so difficult that it would be a waste of time to do so.
It is also a waste of time to do it for indev. As I said that version is so old, at best a few thousand people still even launch the thing, let alone activly use it for anything meaningful. If someone is looking to practice programming in Java, there are far better things they could do with the current version, or literally anything else outside of Minecraft.
Rollback Post to RevisionRollBack
Cast aside your festive doylaks: dragon stuff is about to happen.
Multiplayer is lonely once you understand how it actually works.
Not Java, VB6. I don't need Java to read and write these files. I just need to know the specs for the files. And the version that best balances ease of programming for it, and number of available block types, is Indev. This allows me to do all kinds of cool stuff that I could only dream about doing with modern versions of Minecraft's levels, because it's so much harder to write an editor that works with modern Minecraft levels. Since my view is completely logical, I would assume other developers for 3rd party software for editing Minecraft levels would have a similar opinion on this issue.
I am well aware that playing indev is possible. The fact remains that most people DON'T play it.
Writing an editor for a severely dated version is a waste of time unless you have a very specific need that can't be achieved with an existing editor.
As you say "unless you have a very specific need that can't be achieved with an existing editor", that indeed is exactly my situation (and I'm guessing the situation with most developers of Minecraft editors, it's just that they aren't familiar with Indev, so they don't know that that's an available, and much easier, path to take). There's some fancy things that you can do with custom-made software, that current editors for current versions of Minecraft levels can't do. For example, can any current editor take a raw array of bytes that you feed it generated from some other data source, and convert that byte array into a modern *.mca Region file? Nope, none of them can. The closest thing to this is NBT Explorer, which allows you to insert byte arrays into individual chunks, but this means building a level one chunk at a time, rather than taking a full byte array for the whole region, dividing it into chunks and then creating a *.mca file from this. However the custom-made software I've created to work with Indev levels can do exactly what I need. It can take any byte array with the correct number of entries and insert it into a McLevel file from Indev Minecraft, replacing the Blocks array that was already in that file. Therefore my program can generate a complete level from just a byte array (albeit for a much older version of Minecraft). That's why this is the path I've been persuing for creating my own editor. I wish other developers would follow the same path. It's so much easier this way, and you can do a lot more with your custom-made editor, rather than giving up writing it due to the complexity of the modern version of Minecraft's Region files, if you stick with the much easier to work with McLevel files from the Indev version of Minecraft.
I added a subsection about Indev Block IDs to the IDs section of the Data Values article on the Wiki. I was surprised to see that this info was not available on there already, and I figured it was important enough to add, so I added it. To see it, go to http://minecraft.gamepedia.com/Data_values#IDs and scroll down to the subsection header that says "Indev Block IDs".
Most people don't play Indev. Most people that play Minecraft now days have never even heard of it.
Cast aside your festive doylaks: dragon stuff is about to happen.
Multiplayer is lonely once you understand how it actually works.
Alpha 1.0.4
Anybody can play versions of Minecraft well before Indev using the launcher. In fact, Infdev can be played (though not Indev itself yet) using the launcher. Most people who are curious about the history of the game will have tried these really old versions through the launcher, and probably are wondering "What's Infdev?". So they probably might google it, and in the process find out about Indev. A quick couple searches for Indev will easily let them find the jar file itself on various sites on the net. It's fairly easy to use any jar file by adding or replacing it to the json file, so anybody really curious about the history of the development of the game will probably be at this point by now (having access to the Indev jar file, and have played it). My addition to the Wiki will help these people in the creation of level editor tools that work with Indev, if they are so inclined to write such (I already have myself).
In fact I would argue that you SHOULD be using Indev if you want to edit levels. When balancing the number of available blocks, with how easy it is to edit a level file, nothing beats Indev. Prior to indev (like the very early RD versions of Minecraft, and the oldest couple versions of Classic, that you find as the oldest entries in the launcher's version selector) the levels were even easier to edit. They literally were nothing more than a raw 3D array of Block IDs compressed with GZip. Yet they only had 5 or fewer block IDs available. Modern versions of Minecraft are INCREDIBLY DIFFICULT to write level editors for, even if you are a skilled programmer. These modern levels are split into multiple region files. Each region is split into chunks, and each chunk contains all of the data needed to describe absolutely every aspect of what's in that chunk (biomes, terrain height, skylight level, blocklight level, etc), and to make matters worse, each chunk is also divided into subchunks, each of which is a 16x16x16 cube of blocks. It feels like in modern versions of Minecraft, Mojang was trying to obfuscate the level file format to specifically to deter people from writing 3rd party level editors. Each region file has a couple arrays that tells you where to find the data for a given chunk, and each of these chunks is GZip (or was it ZLib, I don't remember right now) compressed NBT formatted file, with half a dozen arrays that specify all the data needed to describe the chunk.
However, Indev McLevel files are the sweet spot of ease-of-writing-an-editor-for and enough-blockIDs-to-make-it-worth-it. These are simply GZip compressed files. Each one specifies the entire finite-sized level (not counting entities, current weather, and other stuff that most level editors don't need to edit, just keep in tact for when writing back to the file) with only 3 variables and 2 byte-arrays. There's the width, length, and height variables, and a Data array and a Blocks array. The Blocks array has all the block IDs for the whole level. Each entry of the Data array has the data for the corresponding block. The upper nibble specifies the metadata (usually called the "damage value"), which is used by certain block IDs to define certain properties for said block. The lower nibble specifies the current light level for that block.
So if you want to make a simple editor that converts a normal Bitmap image into a Minecraft level, or other such cool level editors/creators, I would strongly recommend using Indev as your Minecraft version.
I am well aware that playing indev is possible. The fact remains that most people DON'T play it.
Writing an editor for a severely dated version is a waste of time unless you have a very specific need that can't be achieved with an existing editor.
Cast aside your festive doylaks: dragon stuff is about to happen.
Multiplayer is lonely once you understand how it actually works.
Alpha 1.0.4
The advantage of writing an editor for Indev is that it is much easier to write an editor for it than for modern Minecraft, while also having many more blocks available than in the very old RD versions of Minecraft. And yes there's many editors for modern Minecraft available already, so why write a new one? Well, for one thing, you can make a custom-made editor that can do stuff like plot a sinewave or other mathematical function in 3D, using Minecraft blocks instead of pixels. No current Minecraft editor allows you to convert any old random user-supplied data to Minecraft blocks, but rather they act like a fancy version of Creative, meaning you can place blocks by clicking. But when I design new editors, they have the ability to take any raw input data array (supplied by the user) and convert it into Minecraft format, specifically Indev (as it is the easiest to code an editor for). I also am working on a similar editor for modern Minecraft, but I highly recommend to any other developers not to bother writing editors for modern Minecraft, because the complex level format makes it a real "pain in the butt" to code an editor for. My editor for modern Minecraft is really just an exercise in coding, for the sake of taking on a hard project, not to create something that will actually be used by others. Meanwhile, I do plan to create a functional Indev level editor and release it, because it is so easy to do, and I would encourage fellow developers to take this same path that I have. For most people, coding an editor for modern Minecraft is so difficult that it would be a waste of time to do so.
It is also a waste of time to do it for indev. As I said that version is so old, at best a few thousand people still even launch the thing, let alone activly use it for anything meaningful. If someone is looking to practice programming in Java, there are far better things they could do with the current version, or literally anything else outside of Minecraft.
Cast aside your festive doylaks: dragon stuff is about to happen.
Multiplayer is lonely once you understand how it actually works.
Alpha 1.0.4
Not Java, VB6. I don't need Java to read and write these files. I just need to know the specs for the files. And the version that best balances ease of programming for it, and number of available block types, is Indev. This allows me to do all kinds of cool stuff that I could only dream about doing with modern versions of Minecraft's levels, because it's so much harder to write an editor that works with modern Minecraft levels. Since my view is completely logical, I would assume other developers for 3rd party software for editing Minecraft levels would have a similar opinion on this issue.
As you say "unless you have a very specific need that can't be achieved with an existing editor", that indeed is exactly my situation (and I'm guessing the situation with most developers of Minecraft editors, it's just that they aren't familiar with Indev, so they don't know that that's an available, and much easier, path to take). There's some fancy things that you can do with custom-made software, that current editors for current versions of Minecraft levels can't do. For example, can any current editor take a raw array of bytes that you feed it generated from some other data source, and convert that byte array into a modern *.mca Region file? Nope, none of them can. The closest thing to this is NBT Explorer, which allows you to insert byte arrays into individual chunks, but this means building a level one chunk at a time, rather than taking a full byte array for the whole region, dividing it into chunks and then creating a *.mca file from this. However the custom-made software I've created to work with Indev levels can do exactly what I need. It can take any byte array with the correct number of entries and insert it into a McLevel file from Indev Minecraft, replacing the Blocks array that was already in that file. Therefore my program can generate a complete level from just a byte array (albeit for a much older version of Minecraft). That's why this is the path I've been persuing for creating my own editor. I wish other developers would follow the same path. It's so much easier this way, and you can do a lot more with your custom-made editor, rather than giving up writing it due to the complexity of the modern version of Minecraft's Region files, if you stick with the much easier to work with McLevel files from the Indev version of Minecraft.