The next release will have the ability to do something like that (you will be able to replace blocks based on a neighbor condition, so you should be able to expand deposits out a layer at a time).
That's great! Any chance it will be able to distinguish ore veins that are already increased from ones that aren't? I was thinking a switch to tell it if the vein contains less than X blocks, then increase by a certain percent, but if it contains over a certain number of blocks, then leave it alone. What I'm thinking is I have a map that already had some parts increased by MinePlump and the newer parts haven't been. It would be nice if it could find the veins that are small and increase only those. I don't know if the date the chunk was created will work, because I've expanded and trimmed (with McEdit) and re-expanded parts of the map a couple of times, and plan to do it again so that it can re-generate the parts on the outskirts with post 1.3 land to fix those nasty mis-rotated chunk errors that are all over the place.
I don't think each vein needs to have an entire layer of new ore wrapped around it, just some blocks tacked on, giving an increase of a couple of blocks in the case of a small diamond vein to maybe an extra five or ten blocks for iron & coal. I don't know, the way MinePlump did it was pretty good for me, it just would be nice if there was a way to not increase veins that are already increased.
Rollback Post to RevisionRollBack
D_B
To tell them how to live is to prevent them living.
In the context of the general block-replace tool, probably not (although you could limit expansion by only testing, for example, west-neighbor or top-neighbor, which would only expand the blocks out one layer in one direction).
Conditions based on the size of existing features could be added as a separate command.
If you used the tool before on 1.2 maps, you will notice now that some of the command line arguments have changed, namely everything except the command is specified with an option flag now.
I don't fully follow but certainly all those replacements are possible. I assume you just listing interesting replacements for other people to experiment with.
As for the world directory, I don't know if %apppath% will work (you can try it), just make sure to put the whole thing in double quotes "" because you have a space in the world name.
I personally develop on Win7 x64. You will need to provide more information (what is it doing, what error messages is it giving you (if any))?
No messages, just starts up for a split second and disappears. It wasn't even hanging out in my processes in Task Manager (usually programs that abruptly disappear like that wind up there).
Rollback Post to RevisionRollBack
My first map, Ubermob Arena! Endless hordes of mobs come to kill you and steal your diamonds! Sound like fun? Go here: viewtopic.php?f=1034&t=212665
In that case it sounds like you're trying to run the exe directly by double-clicking it. That won't work, as it's not an interactive application. It will instantly quit if it doesn't get fed parameters. You will need to launch it from cmd instead (basic instructions in first post).
In other news, I'm still building up framework for some of the more advanced features I want to add. Creating a flexible block/chunk/region interface to work with is somewhat time consuming.
My cmd appears to be messed up as every command automatically starts with the C:\Users\Otto> directory and I don't know how to fix that. Is that the default or is something wrong?
Rollback Post to RevisionRollBack
My first map, Ubermob Arena! Endless hordes of mobs come to kill you and steal your diamonds! Sound like fun? Go here: viewtopic.php?f=1034&t=212665
since nbtoolkit is not longer written in c, only one person has requested a gui and the number of options is huge now, i will stop my attempt to write a gui.
maybe when the feature waterfall is starting to dry up and Qyoto is in an usable state, i’ll try again :smile.gif:
NBToolkit has been updated (I should probably start versioning this).
It doesn't have any new commands or some of the new options I wanted, but the back-end has gone through a major rewrite and everything is now staged for all the new things I want to add. The most significant change is that the ore generator algorithm is now the native algorithm (It should be exactly the same). There's even a flag to choose between the buggy quadrant distribution, or the patched version I came up with last week which gives even distribution across the entire map.
Other changes off the top of my head:
- Legacy ore generator algorithm is temporarily unavailable but will resurface as a new set of different algorithms (instead of being a mediocre imitation of the native algorithm).
- Chunk / Block ranges now use new concise argument flags in the form of --cxr=10:20 (use the help command for all changes)
- Chunk ranges are invertible, so if you specify a bounding box to update, you could invert it to select all chunks except those contained in the box.
- Chunk include/exclude lists can be specified to either match any listed block, or match all listed blocks.
- Flag to specify the nether region for update
- Two fixes for bugs reported earlier in this thread
Given the scope of refactoring, this build it really more for people interested in NBToolkit to experiment and report bugs. New features will follow shortly but there are probably still a few bugs kicking around.
> nbtoolkit oregen -b 112 -w "Ink_Blot_Island_V03" -r 5 --mindepth=1 --maxdepth=127 -s 5 --oi 1 -d 2
Error: You must specify the minimum depth for non-ore blocks
Error: You must specify the maximum depth for non-ore blocks
The options must be case-sensitive. I will have to see if the options parsing package I'm using can turn that off (I'll probably have to hack it in myself).
Ok, it ate capital letters, but crashed after that:
>nbtoolkit oregen -b 112 -w testsave -r 5 --MinDepth=1 --MaxDepth=127 -s 5 --oi 1 -d 2
Unhandled Exception: System.IO.FileNotFoundException: Unable to find the specified file.
at NBToolkit.Region..ctor(RegionManager rm, Int32 rx, Int32 rz)
at NBToolkit.RegionManager.GetRegion(Int32 rx, Int32 rz)
at NBToolkit.Chunk.GetTree()
at NBToolkit.Chunk.GetBlockID(Int32 x, Int32 y, Int32 z)
at NBToolkit.GenOreBlockManager.SetBlockID(Int32 x, Int32 y, Int32 z, Int32 id)
at NBToolkit.NativeGenOre.Generate(BlockManager blockMan, Random rand, Int32x, Int32 y, Int32 z)
at NBToolkit.Oregen.ApplyChunk(World world, Chunk chunk)
at NBToolkit.Oregen.Run()
at NBToolkit.Program.Main(String[] args)
Then i renamed .mcr files to .data like when using RegionTool for conversion to old format:
>rename testsave\region\*.mcr *.data
>nbtoolkit oregen -b 112 -w testsave -r 5 --MinDepth=1 --MaxDepth=127 -s 5 --oi 1 -d 2
Unhandled Exception: System.ArgumentOutOfRangeException: Index was out of range.
Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at System.Collections.Generic.List`1.get_Item(Int32 index)
at NBToolkit.RegionEnumerator.get_Current()
at NBToolkit.ChunkEnumerator..ctor(ChunkManager cm, Region region)
at NBToolkit.FilteredChunkEnumerator..ctor(ChunkManager cm, Region reg, IChunkFilter filter)
at NBToolkit.FilteredChunkList.GetEnumerator()
at NBToolkit.Oregen.Run()
at NBToolkit.Program.Main(String[] args)
O_O
The savegame i brought for test is my current game and working so no files missing or damaged structure.
Edit: tried with fresh generated world with no mods and pumpkin instead of custom new ID - and it worked. Strange.
edit2: with id 112 and fresh save works too, so it crashes because of modded world with some new items and blocks?
It expects .mcr files which is why the second error is occurring (although, it should just be quietly ignoring the files instead of spitting up an exception).
As for the first error, perhaps it is trying to access blocks outside of the current range (although for the given size I don't know why it would). I need to put more checking in. Try running it on a restricted set of chunks and see if it works. If not, I would like a copy of your map to test.
- Command line options are now case-insensitive
- The native ore generator was not saving all the chunks it modified, leading to cut-off deposits (particularly at large sizes). This is now fixed.
I still have no encountered any out of bounds writes on my 60,000 chunk map, so if you're encountering this, please send a copy of your map for me to look at.
That's great! Any chance it will be able to distinguish ore veins that are already increased from ones that aren't? I was thinking a switch to tell it if the vein contains less than X blocks, then increase by a certain percent, but if it contains over a certain number of blocks, then leave it alone. What I'm thinking is I have a map that already had some parts increased by MinePlump and the newer parts haven't been. It would be nice if it could find the veins that are small and increase only those. I don't know if the date the chunk was created will work, because I've expanded and trimmed (with McEdit) and re-expanded parts of the map a couple of times, and plan to do it again so that it can re-generate the parts on the outskirts with post 1.3 land to fix those nasty mis-rotated chunk errors that are all over the place.
I don't think each vein needs to have an entire layer of new ore wrapped around it, just some blocks tacked on, giving an increase of a couple of blocks in the case of a small diamond vein to maybe an extra five or ten blocks for iron & coal. I don't know, the way MinePlump did it was pretty good for me, it just would be nice if there was a way to not increase veins that are already increased.
D_B
To tell them how to live is to prevent them living.
Conditions based on the size of existing features could be added as a separate command.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
If you used the tool before on 1.2 maps, you will notice now that some of the command line arguments have changed, namely everything except the command is specified with an option flag now.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
As for the world directory, I don't know if %apppath% will work (you can try it), just make sure to put the whole thing in double quotes "" because you have a space in the world name.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
Win7 x64. Why might it not be operating then?
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
No messages, just starts up for a split second and disappears. It wasn't even hanging out in my processes in Task Manager (usually programs that abruptly disappear like that wind up there).
In other news, I'm still building up framework for some of the more advanced features I want to add. Creating a flexible block/chunk/region interface to work with is somewhat time consuming.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
You can do this with the 'cd' command.
Example: cd ..
Move up one directory
Example: cd "My Documents"
Move into the My Documents directory
Example: D:
Change to drive letter D, will put you in D:>
Example: C:\NBToolkit
Change directly to C:\NBToolkit>
So change directory to where you put NBToolkit and then you can run it.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
We actively participate in the MC SMP global bannning system. Join up!
Maybe later this weekend.
I'm currently testing the new block/chunk/region management and filtering code. Add chunk purging on top of that should be pretty trivial.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
since nbtoolkit is not longer written in c, only one person has requested a gui and the number of options is huge now, i will stop my attempt to write a gui.
maybe when the feature waterfall is starting to dry up and Qyoto is in an usable state, i’ll try again :smile.gif:
It doesn't have any new commands or some of the new options I wanted, but the back-end has gone through a major rewrite and everything is now staged for all the new things I want to add. The most significant change is that the ore generator algorithm is now the native algorithm (It should be exactly the same). There's even a flag to choose between the buggy quadrant distribution, or the patched version I came up with last week which gives even distribution across the entire map.
Other changes off the top of my head:
- Legacy ore generator algorithm is temporarily unavailable but will resurface as a new set of different algorithms (instead of being a mediocre imitation of the native algorithm).
- Chunk / Block ranges now use new concise argument flags in the form of --cxr=10:20 (use the help command for all changes)
- Chunk ranges are invertible, so if you specify a bounding box to update, you could invert it to select all chunks except those contained in the box.
- Chunk include/exclude lists can be specified to either match any listed block, or match all listed blocks.
- Flag to specify the nether region for update
- Two fixes for bugs reported earlier in this thread
Given the scope of refactoring, this build it really more for people interested in NBToolkit to experiment and report bugs. New features will follow shortly but there are probably still a few bugs kicking around.
http://hocuspocus.taloncrossing.com/rii/nbtk2.zip
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
We actively participate in the MC SMP global bannning system. Join up!
Why it cries? I specified the depth...
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
Then i renamed .mcr files to .data like when using RegionTool for conversion to old format:
O_O
The savegame i brought for test is my current game and working so no files missing or damaged structure.
Edit: tried with fresh generated world with no mods and pumpkin instead of custom new ID - and it worked. Strange.
edit2: with id 112 and fresh save works too, so it crashes because of modded world with some new items and blocks?
As for the first error, perhaps it is trying to access blocks outside of the current range (although for the given size I don't know why it would). I need to put more checking in. Try running it on a restricted set of chunks and see if it works. If not, I would like a copy of your map to test.
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate
- Command line options are now case-insensitive
- The native ore generator was not saving all the chunks it modified, leading to cut-off deposits (particularly at large sizes). This is now fixed.
I still have no encountered any out of bounds writes on my 60,000 chunk map, so if you're encountering this, please send a copy of your map for me to look at.
http://hocuspocus.taloncrossing.com/rii/nbtk2.zip
Mods I Develop: Garden Stuff -- Storage Drawers -- Hunger Strike
Tools I Develop: NBTExplorer -- Substrate