I mean, in help screen it says about decimal value range with dot (0.0-1.0), but the tool accepts only with comma (0,0-1,0)
:smile.gif:
Quote from jaquadro »
See my edit, I didn't see the exception you posted when I replied. Do you have localization settings on your system that would affect numeric representation?
Uhm, yes. I have comma selected for delimiter. That explains :biggrin.gif:
Didn't mind that could affect command line input.
Thanks for fast reply.
See my edit, I didn't see the exception you posted when I replied. Do you have localization settings on your system that would affect numeric representation?
Apparently the .net library is trying to be smarter than me, and its internal Conversion methods are applying your localization settings.
In the next release I'll change this to force en-US localization, mainly so that the tool is consistent with any commands or documentation that get posted. Although it may be possible to coerce it into quietly accepting both. You'll have to test that for me on the next release.
This is an interesting tool. I came here for the oregen, to place IndustrialCraft copper and tin ore in a preexisting world, which worked fine.
But now I'm looking at the dump command, and I think I like it.
Do you have plans to put in the opposite of dump, that takes a JSON file and puts the data in a chunk?
I know that I could spelunk through the tool's source (BTW, thank you for providing it under such a liberal license), but you're obviously the one who knows the source best and knows a lot about MCR files and the map data.
Another errors with custom map.
It was made by ZOMG generator, then imported to normal world (old chunk format some months ago) via MCedit.
Now it was converted to region format in-game, and then i tried to use nbtoolkit.
>nbtoolkit oregen -b 229 -w zomg_world -r 4 --MinDepth=1 --MaxDepth=127 -s 4 --oi 1 --oi 48
Unhandled Exception: NBToolkit.Map.MalformedNBTTreeException: Exception of type 'NBToolkit.Map.MalformedNBTTreeException' was thrown.
at NBToolkit.Map.Chunk..ctor(NBT_Tree tree)
at NBToolkit.Map.Region.GetChunk(Int32 lcx, Int32 lcz)
at NBToolkit.Map.ChunkRef.GetChunk()
at NBToolkit.Oregen.Run()
at NBToolkit.Program.Main(String[] args)
I should have hooked the printout events for the verifier.
NBToolkit is running aggressive NBT validation and detected a malformed field in the chunk data (in this map, the 'LastUpdate' field is erroneously truncated from a TAG_LONG to a TAG_INT). This is probably an error in the generator, and it is either taken verbatim, ignored, or not read at all in MCEdit.
But there's no reason my validator shouldn't be able to upcast this kind of error and maybe fix the field at the same time.
This is an interesting tool. I came here for the oregen, to place IndustrialCraft copper and tin ore in a preexisting world, which worked fine.
But now I'm looking at the dump command, and I think I like it.
Do you have plans to put in the opposite of dump, that takes a JSON file and puts the data in a chunk?
I know that I could spelunk through the tool's source (BTW, thank you for providing it under such a liberal license), but you're obviously the one who knows the source best and knows a lot about MCR files and the map data.
It's something I'm considering, but I'll probably try and find a 3rd party JSON parser to adapt, assuming I can find one under MIT or similar. It's much easier to write the serializer than the deserializer :smile.gif:
The NBT validator will now upcast tags if it is safe to do so. Since NBToolkit hasn't been shifted over to Substrate yet, it will not rebuild the tree to write back the correct tag type. This is just to pass the validation test.
And for those interested, there is now a reference front-end version of NBToolkit up on the Substrate project page. If I'm playing with new commands for the tool, they'll appear there first (as WIPs) before they get posted here.
NBToolkit has been updated again. No new commands have been added, but it is now running fully on top of Substrate. That can also be seen by a marked reduction in the source code packaged in the zip now, as most of the work has been offloaded to the library.
This does add a few capabilities though:
- NBToolkit should once again be compatible with Alpha worlds (if that matters to anyone)
- The oregen and replace commands now recalculate blocklight and sunlight. This should make a major difference if you generate blocks above-ground, or generate something like glowstone which may shine into caves.
Potential issue: There is a possibility that the replace command will not process all the chunks that it is supposed to. If the command is re-run several times it manages to process anything it missed. I'm still investigating this issue but I'm curious to hear if it misses significant chunks for other people.
Replacing a block with itself actually won't trigger any relighting. It only starts the process when the block's luminance or opacity value differs. What you want should be possible in around 10 lines of code though.
I'm not sure what will happen if you try running the program without .NET.
I should really start versioning this application.
A new version is up for grabs. It fixes a major cache consistency bug which resulted in tools like oregen and replace missing some chunks (rather, they hit all the chunks but failed to reliably save the changes).
A new 'relight' command has also been added to recalculate blocklight and/or sunlight in matching chunks. This would allow you to fix earlier lighting errors, e.g. if you ever tried generating lightstone with an old version of NBToolkit.
>NBToolkit.exe relight -b -s -w weird_world_5 -v
Clearing existing chunk lighting...
Rebuilding chunk lighting...
Unhandled Exception: Substrate.NBT.InvalidNBTObjectException: Exception of type 'Substrate.NBT.InvalidNBTObjectException' was thrown.
at Substrate.Chunk..ctor(NBT_Tree tree)
at Substrate.Region.GetChunk(Int32 lcx, Int32 lcz)
at Substrate.ChunkRef.GetChunk()
at Substrate.ChunkRef.RebuildBlockLight()
at NBToolkit.Relight.Run()
at NBToolkit.Program.Main(String[] args)
Please send me the region file causing this error (run with -vv to know which chunk it fails in, use that to determine the region file). The chunk validator already silently creates a couple fields if they're missing, so if other fields are missing and/or malformed that might be more serious.
I don't see any problem with the help description or how the tool works.
Edit: That's pretty strange, I don't get that behavior. Do you have different localization settings that affect numeric reprsentaiton?
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
:smile.gif:
Uhm, yes. I have comma selected for delimiter. That explains :biggrin.gif:
Didn't mind that could affect command line input.
Thanks for fast reply.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
In the next release I'll change this to force en-US localization, mainly so that the tool is consistent with any commands or documentation that get posted. Although it may be possible to coerce it into quietly accepting both. You'll have to test that for me on the next release.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
But now I'm looking at the dump command, and I think I like it.
Do you have plans to put in the opposite of dump, that takes a JSON file and puts the data in a chunk?
I know that I could spelunk through the tool's source (BTW, thank you for providing it under such a liberal license), but you're obviously the one who knows the source best and knows a lot about MCR files and the map data.
It was made by ZOMG generator, then imported to normal world (old chunk format some months ago) via MCedit.
Now it was converted to region format in-game, and then i tried to use nbtoolkit.
The game and MCEdit open this map normally.
map screenshot
map link
NBToolkit is running aggressive NBT validation and detected a malformed field in the chunk data (in this map, the 'LastUpdate' field is erroneously truncated from a TAG_LONG to a TAG_INT). This is probably an error in the generator, and it is either taken verbatim, ignored, or not read at all in MCEdit.
But there's no reason my validator shouldn't be able to upcast this kind of error and maybe fix the field at the same time.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
It's something I'm considering, but I'll probably try and find a 3rd party JSON parser to adapt, assuming I can find one under MIT or similar. It's much easier to write the serializer than the deserializer :smile.gif:
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
The NBT validator will now upcast tags if it is safe to do so. Since NBToolkit hasn't been shifted over to Substrate yet, it will not rebuild the tree to write back the correct tag type. This is just to pass the validation test.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
Okay, it's updated for real this time.
And for those interested, there is now a reference front-end version of NBToolkit up on the Substrate project page. If I'm playing with new commands for the tool, they'll appear there first (as WIPs) before they get posted here.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
This does add a few capabilities though:
- NBToolkit should once again be compatible with Alpha worlds (if that matters to anyone)
- The oregen and replace commands now recalculate blocklight and sunlight. This should make a major difference if you generate blocks above-ground, or generate something like glowstone which may shine into caves.
http://hocuspocus.taloncrossing.com/rii/nbtk2.zip
Potential issue: There is a possibility that the replace command will not process all the chunks that it is supposed to. If the command is re-run several times it manages to process anything it missed. I'm still investigating this issue but I'm curious to hear if it misses significant chunks for other people.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
I'm not sure what will happen if you try running the program without .NET.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
A new version is up for grabs. It fixes a major cache consistency bug which resulted in tools like oregen and replace missing some chunks (rather, they hit all the chunks but failed to reliably save the changes).
A new 'relight' command has also been added to recalculate blocklight and/or sunlight in matching chunks. This would allow you to fix earlier lighting errors, e.g. if you ever tried generating lightstone with an old version of NBToolkit.
http://hocuspocus.taloncrossing.com/rii/nbtk2.zip
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
1st region file (untouched by tool) / mirror
1st region file (state after crash) / mirror
whole map (untouched by tool) / mirror
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate