Also is it possible to add blocks with a data value? 255:1, 255:2 etc?
That line should work. Can you change the colour of other blocks?
For example:
S:002=ff0000ff
To make all dirt blocks blue?
If so, are you sure that the block ID of marble is 255?
From what I understand RedPower can automatically reassign block ID's if it detects a conflict.
At the moment you cannot assign different colours for different block metadata values.
I'll be adding the ability at the same time as custom texture pack support.
I actually meant render mapwriter's map in full. That way if you get in-game texture pack colors to work, you could have the map-saving aspect work as well.
Ah... i'm confused now. I don't know if we are both explaining the same idea in different ways or if we are talking about two completely different ideas.
What I plan to do for the next version is to generate the map colour for each block from the block's current texture. There are existing methods for each block in Minecraft to get the current texture used for rendering, so that part is not too difficult. Is that what you mean by using the game's pre-coded texture support?
Then the map will need to be regenerated using the new colours. MapWriter saves the raw chunk data of every chunk the player explores. This chunk data will be used to recreate the entire map.
I am undecided as to whether to save the new generated map as normal images or as block ID's. If saved as block ID's then the final colouring using the custom textures will be done at run-time, meaning that the map will not need to be completely regenerated when the user changes texture pack. If the map is saved as normal images then the map will need to be regenerated for each new texture pack, but will need less processing time when it is actually displayed in game.
I'll probably just test both methods to see how long the map takes to generate from chunk data and how much performance is lost colouring at run-time, then make a decision based on that.
Regardless of whether the internal map is saved as block ID's or as images, you will always be able to press 'p' to save a complete PNG image of the world.
I'm having trouble getting custom blocks to show up, as well. As you can see in this photo, I'm standing on a bunch of Marble (ID 244) and Basalt (244:2), but the map only shows the native dirt and sand terrain underneath, as though it were transparent. I've taken screenshots of both the in-game data as evidence of Marble's block ID, and of my config file, in case I set it up improperly. Is this an error or did I just mess up?
I think just setting undefined blocks to gray and opaque by default instead of invisible would help. Better to have gray 'not defined' blocks than just invisible ones, in my opinion.
Also, the one thing that keeps me from totally replacing Rei's minimap with this is that there does not appear to be any in-game updates. Even using the force-redraw (Z) key in the map, it says it's rebuilding the zoom images but nothing seems to change. I have so save+quit, then reload my world for any changes to show up on the map. If it could be updated, even if it weren't in realtime, I think I'd migrate completely to this.
This is actually a really nice map. One downside though is that the colors are just default colors. I'd really like to see the colors done in a way similar to Rei's minimap. Where it picks the color based on the color of the block, that way it'll change based on texture pack and biome color, as well as working for custom blocks and custom biome colors too. I'm also looking forward to seeing what you do with the cave map.
Also another suggestion. When you're in the large map screen, when you move your mouse over areas, have it display the biome you're pointing at down by the coordinates.
I'm having trouble getting custom blocks to show up, as well. As you can see in this photo, I'm standing on a bunch of Marble (ID 244) and Basalt (244:2), but the map only shows the native dirt and sand terrain underneath, as though it were transparent. I've taken screenshots of both the in-game data as evidence of Marble's block ID, and of my config file, in case I set it up improperly. Is this an error or did I just mess up?
I think just setting undefined blocks to gray and opaque by default instead of invisible would help. Better to have gray 'not defined' blocks than just invisible ones, in my opinion.
Also, the one thing that keeps me from totally replacing Rei's minimap with this is that there does not appear to be any in-game updates. Even using the force-redraw (Z) key in the map, it says it's rebuilding the zoom images but nothing seems to change. I have so save+quit, then reload my world for any changes to show up on the map. If it could be updated, even if it weren't in realtime, I think I'd migrate completely to this.
It looks like you are doing everything correctly for adding the custom block colour, there must be a problem in the code. I'll be making MapWriter automatically calculate the map colour of each block from the block's in game texture in the next version. This will mean you won't have to manually set the block colours for custom blocks added by mods. Will also check to make sure the colour override section in the config file is working for higher block ID's before releasing.
About chunk updates while playing: Yes you are correct. MapWriter only updates the map when a chunk is loaded and when the chunk is unloaded. The 'z' key only regenerates the zoom levels from the base map, not the base map itself.
In the next version I will make the chunks nearest to the player update every few seconds. It definitely won't be real time, as updating the map on every block change would ruin performance, but hopefully should work well enough.
This is actually a really nice map. One downside though is that the colors are just default colors. I'd really like to see the colors done in a way similar to Rei's minimap. Where it picks the color based on the color of the block, that way it'll change based on texture pack and biome color, as well as working for custom blocks and custom biome colors too. I'm also looking forward to seeing what you do with the cave map.
Also another suggestion. When you're in the large map screen, when you move your mouse over areas, have it display the biome you're pointing at down by the coordinates.
Thanks, yes, generating map colours from the in game textures is what I am currently working on. Almost finished too, just have a few kinks to work out with biome colouring and regenerating the map, then should be ready to release.
I can make MapWriter display the biome name for the areas immediately surrounding the player (where the y coordinate is not '?' on the map). But probably not for further out areas without changing how MapWriter saves data.
To be honest I don't mind the display being greatly delayed, since the only real difference would need to be "there's a building here now", which is certainly something that doesn't happen once every second.
Loving the map. The full-screen, zoomable map of the entire world is something I'm amazed no other mod has pulled off yet, but this one does it quite elegantly.
The only feature that's left, I think, is having some way of making map markers show up in-game, in the standard view, so you can navigate to them outside of the map. However, I think something like that might be difficult to accomplish, since it would mean bridging the game's interface with the UI.
Why not, instead of having the map auto-update chunks that were already loaded, you just add a refresh key? You press Refresh, and it checks all the current blocks on the map to see if anything's changed, and changes them if it has?
Just a suggestion, rather than having it constantly update and chance performance issues.
That line should work. Can you change the colour of other blocks?
For example:
S:002=ff0000ff
To make all dirt blocks blue?
If so, are you sure that the block ID of marble is 255?
From what I understand RedPower can automatically reassign block ID's if it detects a conflict.
At the moment you cannot assign different colours for different block metadata values.
I'll be adding the ability at the same time as custom texture pack support.
Ah... i'm confused now. I don't know if we are both explaining the same idea in different ways or if we are talking about two completely different ideas.
What I plan to do for the next version is to generate the map colour for each block from the block's current texture. There are existing methods for each block in Minecraft to get the current texture used for rendering, so that part is not too difficult. Is that what you mean by using the game's pre-coded texture support?
Then the map will need to be regenerated using the new colours. MapWriter saves the raw chunk data of every chunk the player explores. This chunk data will be used to recreate the entire map.
I am undecided as to whether to save the new generated map as normal images or as block ID's. If saved as block ID's then the final colouring using the custom textures will be done at run-time, meaning that the map will not need to be completely regenerated when the user changes texture pack. If the map is saved as normal images then the map will need to be regenerated for each new texture pack, but will need less processing time when it is actually displayed in game.
I'll probably just test both methods to see how long the map takes to generate from chunk data and how much performance is lost colouring at run-time, then make a decision based on that.
Regardless of whether the internal map is saved as block ID's or as images, you will always be able to press 'p' to save a complete PNG image of the world.
That is actually exactly what I meant. Good thing we finally sorted that out How's it coming along?
To be honest I don't mind the display being greatly delayed, since the only real difference would need to be "there's a building here now", which is certainly something that doesn't happen once every second.
Loving the map. The full-screen, zoomable map of the entire world is something I'm amazed no other mod has pulled off yet, but this one does it quite elegantly.
The only feature that's left, I think, is having some way of making map markers show up in-game, in the standard view, so you can navigate to them outside of the map. However, I think something like that might be difficult to accomplish, since it would mean bridging the game's interface with the UI.
Yeah, it would be nice if there was some indication of the Y position (height) of the marker too. Not sure how to do this without being too obtrusive.
Why not, instead of having the map auto-update chunks that were already loaded, you just add a refresh key? You press Refresh, and it checks all the current blocks on the map to see if anything's changed, and changes them if it has?
Just a suggestion, rather than having it constantly update and chance performance issues.
That's a good idea. I've been making some changes to the map update code to make updating more efficient. Hopefully it will be efficient enough to allow constant updates, but if not, I'll use your refresh key idea.
That is actually exactly what I meant. Good thing we finally sorted that out How's it coming along?
Well... the custom texture and custom block support was mostly done. Same with the biome colouring.
But then I had an idea to simplify and improve the core rendering and texture managing code (basically having larger textures that wraps around rather than multiple smaller textures that are stitched together).
It seems to work well, but it also means I have to rewrite about a third of the mods most complicated code
Not sure when it will be finished. The coding is going quite slowly, so probably not before Minecraft 1.5 is out.
Sorry for the wait.
Changes:
- Support for Minecraft 1.5.
- No longer a Coremod, now goes in the normal 'mods' folder.
- Map colours generated from in game block textures.
- Custom texture pack support.
- Support for blocks added by mods.
- Chunks near player are now periodically updated.
This is a beta version. It should work most of the time, but it's not finished or fully tested. I figured it would be better to release a beta that at least supports 1.5, rather than waiting days/weeks until it is more complete.
I could not get the map regeneration to work in time, so for the moment only area's that you (re)explore will be updated to the new colouring.
There are some issues exploring areas that have already been explored in previous versions. Black lines will sometimes appear on the map. They should disappear if you move the player near them on the map and wait for the map to refresh. Failing that, logging in and out seems to work.
Edit:
Just realized the version I uploaded updates the chunks quite slowly. There is a config option in '.minecraft/config/MapWriter.cfg' called chunksPerTick that adjusts this. Change it from 1 to somewhere between 3 and 8 to speed up the map updating.
I'm not sure if anyone's suggested this yet or not, but I'm going to anyways. Can you PLEASE add support for multiple worlds? It's really annoying to see that most minimap's do not have this feature, even if they are uber handy. Maybe you could make it to where you can assign waypoints to a certain list. This way when you have the list ticked on only the waypoints pertaining to that list would be shown. Just my thoughts - if it's impossible then I won't argue over a moot point but I'd love to see this feature implemented in at least one map.
No you have not missed any setup steps. Dimensions other than the overworld are not supported. Maybe in a few versions i'll have it working
Ah, ok. Map generated by mod very nice and I see fast progress in mod, so just can wait with this feature. Ages will be explored in old hard way until it
Thanks for the log file. Can you check if the PNG images listed in the log file are blank?
Trying to narrow down whether it's a problem generating the map or just displaying it.
I'm not sure if anyone's suggested this yet or not, but I'm going to anyways. Can you PLEASE add support for multiple worlds? It's really annoying to see that most minimap's do not have this feature, even if they are uber handy. Maybe you could make it to where you can assign waypoints to a certain list. This way when you have the list ticked on only the waypoints pertaining to that list would be shown. Just my thoughts - if it's impossible then I won't argue over a moot point but I'd love to see this feature implemented in at least one map.
You can make markers belong to a certain group in MapWriter and switch between groups using the comma key.
I should be able to add support for dimensions other than the overworld (e.g. Mystcraft worlds) soon, but adding support for multi-world servers (e.g. Multiverse) is a different story. I don't know if it is possible without asking the user to manually identify which world they are in every time a new world is loaded.
Just found your mod today. Looked promising as a replacement for Rei's Minimap as it isn't working with the Ironchests mod. Well, it looks like your mod also has an issue with the Ironchest mod as well. With your mod and Ironchests in, my game crashes with this error...
When yoru mod is in the game without Ironchests my game loads fine. Same for Ironchests when your mod is not installed. Not sure which mod is the culprit, so will also be posting in Ironchests forum. Hopefully yall can get this worked out!
Just found your mod today. Looked promising as a replacement for Rei's Minimap as it isn't working with the Ironchests mod. Well, it looks like your mod also has an issue with the Ironchest mod as well. With your mod and Ironchests in, my game crashes with this error...
When yoru mod is in the game without Ironchests my game loads fine. Same for Ironchests when your mod is not installed. Not sure which mod is the culprit, so will also be posting in Ironchests forum. Hopefully yall can get this worked out!
The crash seems to occur when MapWriter calls Block.getBlockTextureFromSideAndMetadata on the Iron Chest block.
The problem is that at the time MapWriter generates block colours, the icons for the iron chest blocks are not initialized. I do not know if my mod is expected to call func_94332_a() (which seems to be for initializing block icons) on each block before attempting to access the icon, or if something else is expected to call it. I could put a try/catch statement around the call to getBlockTextureFromSideAndMetadata, which would stop the crash, but the block would be invisible on the map.
So... I think the problem could be fixed on either end but I don't know which is the more correct way.
(As an aside: It is so nice being able to look at the source code of conflicting mods to investigate problems like this! Makes the troubleshooting process so much faster.)
Edit:
After further investigation, it seems that it is only crashing when icons for invalid metadata values are requested. func_94332_a() is called for each block by Minecraft when the 'terrain.png' texture is generated, so calling it again would not help.
The try/catch statement fix on my end should work without making blocks with valid metadata transparent.
I think the more correct solution however would be for cpw to change IronChestType.java:227 from:
Every time I quit to the menu and come back to my game, all my markers are gone. The only one that is still there is the lastDeath group. Do you have a bugfix? I have Bibliocraft, SimpleOres, and Optifine installed also, but I cant imagine how that would affect it.
- Preliminary support for dimensions other than the overworld.
Dimension can be selected by pressing D in the map gui, or alternatively scrolling the mouse wheel
on the 'dimension' box in the top left of the screen. I have not tested it on any dimension other
than the Nether. Need to wait until more dimension mods update to 1.5 before testing further.
- Marker group can now be changed by scrolling the mouse wheel on the group box in the GUI.
- Changed default chunksPerTick value from 1 to 3. Users who ran 1.3.2 will need to change the
'chunksPerTick' value in the '.minecraft/config/MapWriter.cfg' file manually.
Can you try version 1.3.4 and post your log file again? I don't think 1.3.4 will help make the map display, but it should print all the calculated block colours to the log file. Hopefully they will all be 00000000, pointing to a problem generating the block colours.
Also could you post your system details (processor, video card, operating system)?
Every time I quit to the menu and come back to my game, all my markers are gone. The only one that is still there is the lastDeath group. Do you have a bugfix? I have Bibliocraft, SimpleOres, and Optifine installed also, but I cant imagine how that would affect it.
That's odd. It might be loading the markers from the main config file, but only saving them to the world specific config file.
Could you post the following files (in spoiler tags or via pastebin):
.minecraft/ForgeModLoader-client-0.log
.minecraft/config/MapWriter.cfg
.minecraft/saves/<world_name>/MapWriter.cfg
Oh good, your logs show that all the colours generated for the blocks are 0 (transparent). I think I know what the problem is now. I'll change how MapWriter generates the colours in the next version and see if that fixes the problem for you.
Lol..mine is doing the same thing they said. None of the colors are showing up, and the minimap is missing in the corner. I also notice, it actually shows flowers on the map though. So if I place flowers down, it's just red and yellow dots on a black background.
Also, I dunno if it's just because 1.5, but it seems to be causing some lag in the latest version. Like, if I press the mode key until it would have been removed, it doesn't lag nearly as much, compared to if I have the map up. It just seems to be causing more lag than in 1.4.7. It didn't lag at all for me in 1.4.7.
That line should work. Can you change the colour of other blocks?
For example:
S:002=ff0000ff
To make all dirt blocks blue?
If so, are you sure that the block ID of marble is 255?
From what I understand RedPower can automatically reassign block ID's if it detects a conflict.
At the moment you cannot assign different colours for different block metadata values.
I'll be adding the ability at the same time as custom texture pack support.
Ah... i'm confused now. I don't know if we are both explaining the same idea in different ways or if we are talking about two completely different ideas.
What I plan to do for the next version is to generate the map colour for each block from the block's current texture. There are existing methods for each block in Minecraft to get the current texture used for rendering, so that part is not too difficult. Is that what you mean by using the game's pre-coded texture support?
Then the map will need to be regenerated using the new colours. MapWriter saves the raw chunk data of every chunk the player explores. This chunk data will be used to recreate the entire map.
I am undecided as to whether to save the new generated map as normal images or as block ID's. If saved as block ID's then the final colouring using the custom textures will be done at run-time, meaning that the map will not need to be completely regenerated when the user changes texture pack. If the map is saved as normal images then the map will need to be regenerated for each new texture pack, but will need less processing time when it is actually displayed in game.
I'll probably just test both methods to see how long the map takes to generate from chunk data and how much performance is lost colouring at run-time, then make a decision based on that.
Regardless of whether the internal map is saved as block ID's or as images, you will always be able to press 'p' to save a complete PNG image of the world.
I'm having trouble getting custom blocks to show up, as well. As you can see in this photo, I'm standing on a bunch of Marble (ID 244) and Basalt (244:2), but the map only shows the native dirt and sand terrain underneath, as though it were transparent. I've taken screenshots of both the in-game data as evidence of Marble's block ID, and of my config file, in case I set it up improperly. Is this an error or did I just mess up?
I think just setting undefined blocks to gray and opaque by default instead of invisible would help. Better to have gray 'not defined' blocks than just invisible ones, in my opinion.
Also, the one thing that keeps me from totally replacing Rei's minimap with this is that there does not appear to be any in-game updates. Even using the force-redraw (Z) key in the map, it says it's rebuilding the zoom images but nothing seems to change. I have so save+quit, then reload my world for any changes to show up on the map. If it could be updated, even if it weren't in realtime, I think I'd migrate completely to this.
Also another suggestion. When you're in the large map screen, when you move your mouse over areas, have it display the biome you're pointing at down by the coordinates.
It looks like you are doing everything correctly for adding the custom block colour, there must be a problem in the code. I'll be making MapWriter automatically calculate the map colour of each block from the block's in game texture in the next version. This will mean you won't have to manually set the block colours for custom blocks added by mods. Will also check to make sure the colour override section in the config file is working for higher block ID's before releasing.
About chunk updates while playing: Yes you are correct. MapWriter only updates the map when a chunk is loaded and when the chunk is unloaded. The 'z' key only regenerates the zoom levels from the base map, not the base map itself.
In the next version I will make the chunks nearest to the player update every few seconds. It definitely won't be real time, as updating the map on every block change would ruin performance, but hopefully should work well enough.
Thanks, yes, generating map colours from the in game textures is what I am currently working on. Almost finished too, just have a few kinks to work out with biome colouring and regenerating the map, then should be ready to release.
I can make MapWriter display the biome name for the areas immediately surrounding the player (where the y coordinate is not '?' on the map). But probably not for further out areas without changing how MapWriter saves data.
Loving the map. The full-screen, zoomable map of the entire world is something I'm amazed no other mod has pulled off yet, but this one does it quite elegantly.
The only feature that's left, I think, is having some way of making map markers show up in-game, in the standard view, so you can navigate to them outside of the map. However, I think something like that might be difficult to accomplish, since it would mean bridging the game's interface with the UI.
Just a suggestion, rather than having it constantly update and chance performance issues.
That is actually exactly what I meant. Good thing we finally sorted that out How's it coming along?
Yeah, it would be nice if there was some indication of the Y position (height) of the marker too. Not sure how to do this without being too obtrusive.
That's a good idea. I've been making some changes to the map update code to make updating more efficient. Hopefully it will be efficient enough to allow constant updates, but if not, I'll use your refresh key idea.
Well... the custom texture and custom block support was mostly done. Same with the biome colouring.
But then I had an idea to simplify and improve the core rendering and texture managing code (basically having larger textures that wraps around rather than multiple smaller textures that are stitched together).
It seems to work well, but it also means I have to rewrite about a third of the mods most complicated code
Not sure when it will be finished. The coding is going quite slowly, so probably not before Minecraft 1.5 is out.
Sorry for the wait.
From used related (posible) mods:
mapwriter-1.3.1.jar
mystcraft-uni-1.4.7-0.10.0.00.zip
minecraftforge-universal-1.4.7-6.6.2.534.zip
OptiFine_1.4.6_HD_U_D5.zip
Maybe some additional setup (missed by me) need for myscraft maps show?
Download
Changes:
- Support for Minecraft 1.5.
- No longer a Coremod, now goes in the normal 'mods' folder.
- Map colours generated from in game block textures.
- Custom texture pack support.
- Support for blocks added by mods.
- Chunks near player are now periodically updated.
This is a beta version. It should work most of the time, but it's not finished or fully tested. I figured it would be better to release a beta that at least supports 1.5, rather than waiting days/weeks until it is more complete.
I could not get the map regeneration to work in time, so for the moment only area's that you (re)explore will be updated to the new colouring.
There are some issues exploring areas that have already been explored in previous versions. Black lines will sometimes appear on the map. They should disappear if you move the player near them on the map and wait for the map to refresh. Failing that, logging in and out seems to work.
Edit:
Just realized the version I uploaded updates the chunks quite slowly. There is a config option in '.minecraft/config/MapWriter.cfg' called chunksPerTick that adjusts this. Change it from 1 to somewhere between 3 and 8 to speed up the map updating.
No you have not missed any setup steps. Dimensions other than the overworld are not supported. Maybe in a few versions i'll have it working
Can you post your '.minecraft/ForgeModLoader-client-0.log' (in a spoiler section to save space)?
The block colour generation from the textures might not be working. It uses an OpenGL extension that not all video cards support.
Mystcraft dimensions aren't supported in 1.3.2 either. I'll start working on this after I've fixed the bugs with the block colour generation.
Thanks for the log file. Can you check if the PNG images listed in the log file are blank?
Trying to narrow down whether it's a problem generating the map or just displaying it.
You can make markers belong to a certain group in MapWriter and switch between groups using the comma key.
I should be able to add support for dimensions other than the overworld (e.g. Mystcraft worlds) soon, but adding support for multi-world servers (e.g. Multiverse) is a different story. I don't know if it is possible without asking the user to manually identify which world they are in every time a new world is loaded.
http://paste.ubuntu.com/5618169/
When yoru mod is in the game without Ironchests my game loads fine. Same for Ironchests when your mod is not installed. Not sure which mod is the culprit, so will also be posting in Ironchests forum. Hopefully yall can get this worked out!
The crash seems to occur when MapWriter calls Block.getBlockTextureFromSideAndMetadata on the Iron Chest block.
The problem is that at the time MapWriter generates block colours, the icons for the iron chest blocks are not initialized. I do not know if my mod is expected to call func_94332_a() (which seems to be for initializing block icons) on each block before attempting to access the icon, or if something else is expected to call it. I could put a try/catch statement around the call to getBlockTextureFromSideAndMetadata, which would stop the crash, but the block would be invisible on the map.
So... I think the problem could be fixed on either end but I don't know which is the more correct way.
(As an aside: It is so nice being able to look at the source code of conflicting mods to investigate problems like this! Makes the troubleshooting process so much faster.)
Edit:
After further investigation, it seems that it is only crashing when icons for invalid metadata values are requested. func_94332_a() is called for each block by Minecraft when the 'terrain.png' texture is generated, so calling it again would not help.
The try/catch statement fix on my end should work without making blocks with valid metadata transparent.
I think the more correct solution however would be for cpw to change IronChestType.java:227 from:
To something like:
Which would fix the problem for other mods as well.
Preliminary support for dimensions other than the overworld.
Download
Changes:
- Preliminary support for dimensions other than the overworld.
Dimension can be selected by pressing D in the map gui, or alternatively scrolling the mouse wheel
on the 'dimension' box in the top left of the screen. I have not tested it on any dimension other
than the Nether. Need to wait until more dimension mods update to 1.5 before testing further.
- Marker group can now be changed by scrolling the mouse wheel on the group box in the GUI.
- Changed default chunksPerTick value from 1 to 3. Users who ran 1.3.2 will need to change the
'chunksPerTick' value in the '.minecraft/config/MapWriter.cfg' file manually.
- Regression: Death markers no longer work.
Can you try version 1.3.4 and post your log file again? I don't think 1.3.4 will help make the map display, but it should print all the calculated block colours to the log file. Hopefully they will all be 00000000, pointing to a problem generating the block colours.
Also could you post your system details (processor, video card, operating system)?
That's odd. It might be loading the markers from the main config file, but only saving them to the world specific config file.
Could you post the following files (in spoiler tags or via pastebin):
.minecraft/ForgeModLoader-client-0.log
.minecraft/config/MapWriter.cfg
.minecraft/saves/<world_name>/MapWriter.cfg
Oh good, your logs show that all the colours generated for the blocks are 0 (transparent). I think I know what the problem is now. I'll change how MapWriter generates the colours in the next version and see if that fixes the problem for you.
Also, I dunno if it's just because 1.5, but it seems to be causing some lag in the latest version. Like, if I press the mode key until it would have been removed, it doesn't lag nearly as much, compared to if I have the map up. It just seems to be causing more lag than in 1.4.7. It didn't lag at all for me in 1.4.7.