Hi @ All!
Markinho wrote:You can set up some shortcuts for the flags or hidden paths to blow up and change the layout as the game goes on, it's easy to stay under the limit if they are func groups
Yep, that's a really good Idea and it's already on my ToDo list for next UrT-Minecraft-Maps. This first one will just be a small Minecraft Island with 2 small cottages and bridges across the river.
Marvin wrote:I'd like to see that. This gives great possibilities for the map layout. Also, do you have any pointers for me for the file documentations you used? It sounds like for your Java tool you take a heightmap picture as input and it spits out a .map file. Am I correct in that assumption? Where can I learn the underlying mechanics for myself?
The (not really simple) Documentation I used you can find
HERE
.
I'll try to explain: The Brushes in the ".map"-File looks like this:
- Spoiler: show
Code: Select all
// brush 21
{
( 4768 704 720 ) ( 4768 672 720 ) ( 4736 704 720 ) minecraft/sand 0 0 0 0.25 0.25 0 0 0
( 4768 704 720 ) ( 4736 704 720 ) ( 4768 704 704 ) minecraft/sand 0 64 0 0.25 0.25 0 0 0
( 4768 704 720 ) ( 4768 704 704 ) ( 4768 672 720 ) minecraft/sand 0 64 0 0.25 0.25 0 0 0
( 4736 672 688 ) ( 4768 672 688 ) ( 4736 704 688 ) common/caulk 0 0 0 0.25 0.25 0 0 0
( 4736 672 704 ) ( 4736 672 720 ) ( 4768 672 704 ) minecraft/sand 0 64 0 0.25 0.25 0 0 0
( 4704 672 704 ) ( 4704 704 704 ) ( 4704 672 720 ) minecraft/sand 0 64 0 0.25 0.25 0 0 0
}
In the Braces are three X/Y/Z Coordinates defining the Edges of a Plane. Then the texture and at least some texture settings (shift, stretch, rotation, and so on...).
You are right, my Java-Tool reads a image File (the Height map), and depending to the Greyscale-value it generates brushes like that.
Here is the function that writes such code:
- Spoiler: show
Code: Select all
BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsoluteFile()));
private static void writeBlockCode(int x1, int y1, int z1, int x2, int y2, int z2, String tex1, String tex2, String tex3, String tex4, String tex5, String tex6) throws IOException
{
bw.write("// brush " + brushCount + "\r\n{\r\n");
bw.write("( " + (x2) + " " + (y2) + " " + (z2 + 16) + " ) ( " + (x2) + " " + (y2 - 32) + " " + (z2 + 16) + " ) ( " + (x2 - 32) + " " + (y2) + " " + (z2 + 16) + " ) " + tex1 + " 0 0 0 0.25 0.25 0 0 0\r\n");
bw.write("( " + (x2) + " " + (y2) + " " + (z2 + 16) + " ) ( " + (x2 - 32) + " " + (y2) + " " + (z2 + 16) + " ) ( " + (x2) + " " + (y2) + " " + (z2) + " ) " + tex2 + " 0 64 0 0.25 0.25 0 0 0\r\n");
bw.write("( " + (x2) + " " + (y2) + " " + (z2 + 16) + " ) ( " + (x2) + " " + (y2) + " " + (z2) + " ) ( " + (x2) + " " + (y2 - 32) + " " + (z2 + 16) + " ) " + tex3 + " 0 64 0 0.25 0.25 0 0 0\r\n");
bw.write("( " + (x2 - 32) + " " + (y2 - 32) + " " + (z2 - 16) + " ) ( " + (x2) + " " + (y2 - 32) + " " + (z2 - 16) + " ) ( " + (x2 - 32) + " " + (y2) + " " + (z2 - 16) + " ) " + tex4 + " 0 0 0 0.25 0.25 0 0 0\r\n");
bw.write("( " + (x2 - 32) + " " + (y1 - 32) + " " + (z2) + " ) ( " + (x2 - 32) + " " + (y1 - 32) + " " + (z2 + 16) + " ) ( " + (x2) + " " + (y1 - 32) + " " + (z2) + " ) " + tex5 + " 0 64 0 0.25 0.25 0 0 0\r\n");
bw.write("( " + (x1 - 32) + " " + (y2 - 32) + " " + (z2) + " ) ( " + (x1 - 32) + " " + (y2) + " " + (z2) + " ) ( " + (x1 - 32) + " " + (y2 - 32) + " " + (z2 + 16) + " ) " + tex6 + " 0 64 0 0.25 0.25 0 0 0\r\n}\r\n");
brushCount++;
}
By the Way, here are some new Pictures of the Map (The Horizon still needs to be improved) ![Smile :)](./images/smilies/icon_e_smile.gif)
- Spoiler: show
EDIT: And a Youtube Video of the Minecraft Map
Greetings,
groebNERD