MTS Editor
MTS Editor
Hi,
It's less than a week when I announced mtsconv, and now it's already obsoleted :-)
Let me introduce mtsedit, which knows everything that mtsconv knew, plus it can import many formats, not a comprehensive list:
- Minecraft NBT .schematic files
- Sponge NBT .schem files
- Tiled TMX files
- Goxel GOX files
- Magicavoxel VOX files
- Qubicle QB files
- BluePrint PNG files
It has an interactive GUI for quickly editing MTS files with flood fill, brush option and structure rotation etc. The interface is multilingual, currently supported languages: English, Magyar, Español, Français, Deutch, Polski, Русский, Português and Italiano.
It was written in C (so it's small and fast), and has only one dependency, SDL2. I've tested it under Linux, Windows (compiled with mingw) and MacOSX, it worked like a charm, binaries provided. Enjoy!
Just for the records, because the Minetest wiki is very poor on documentation, I've also created a detailed description of the MTS file format (still incomplete).
Cheers,
bzt
It's less than a week when I announced mtsconv, and now it's already obsoleted :-)
Let me introduce mtsedit, which knows everything that mtsconv knew, plus it can import many formats, not a comprehensive list:
- Minecraft NBT .schematic files
- Sponge NBT .schem files
- Tiled TMX files
- Goxel GOX files
- Magicavoxel VOX files
- Qubicle QB files
- BluePrint PNG files
It has an interactive GUI for quickly editing MTS files with flood fill, brush option and structure rotation etc. The interface is multilingual, currently supported languages: English, Magyar, Español, Français, Deutch, Polski, Русский, Português and Italiano.
It was written in C (so it's small and fast), and has only one dependency, SDL2. I've tested it under Linux, Windows (compiled with mingw) and MacOSX, it worked like a charm, binaries provided. Enjoy!
Just for the records, because the Minetest wiki is very poor on documentation, I've also created a detailed description of the MTS file format (still incomplete).
Cheers,
bzt
Last edited by bzt on Fri Jan 31, 2020 22:27, edited 3 times in total.
- rubenwardy
- Moderator
- Posts: 6978
- Joined: Tue Jun 12, 2012 18:11
- GitHub: rubenwardy
- IRC: rubenwardy
- In-game: rubenwardy
- Location: Bristol, United Kingdom
- Contact:
Re: MTS Editor
Oh wow!
What's the biggest MTS it can handle? CTF has some massive ones in its repo: https://github.com/mt-ctf/maps
What's the biggest MTS it can handle? CTF has some massive ones in its repo: https://github.com/mt-ctf/maps
Re: MTS Editor
Hi @rubenwardy,
The max size is 256 x 256 x 256. It's not for editing huge maps, but to edit structures. I've loaded detailed schematics of the Tower Bridge and the Notre Dame, both worked as expected.
Please note I've just put together this little tool in my spare time, it's free and Open Source. It does not want to compete with World Edit and such programs. It's main goal is to be small, fast and simple to use.
Cheers,
bzt
The max size is 256 x 256 x 256. It's not for editing huge maps, but to edit structures. I've loaded detailed schematics of the Tower Bridge and the Notre Dame, both worked as expected.
Please note I've just put together this little tool in my spare time, it's free and Open Source. It does not want to compete with World Edit and such programs. It's main goal is to be small, fast and simple to use.
Cheers,
bzt
- rubenwardy
- Moderator
- Posts: 6978
- Joined: Tue Jun 12, 2012 18:11
- GitHub: rubenwardy
- IRC: rubenwardy
- In-game: rubenwardy
- Location: Bristol, United Kingdom
- Contact:
Re: MTS Editor
I was just wondering, I well understand the constraints of spare timebzt wrote:Please note I've just put together this little tool in my spare time, it's free and Open Source. It does not want to compete with World Edit and such programs. It's main goal is to be small, fast and simple to use.
This serves a different purpose to world edit though, as world edit is done in game but this is external. Being able to quickly create and modify schematics externally is pretty cool
- BuckarooBanzay
- Member
- Posts: 437
- Joined: Tue Apr 24, 2018 05:58
- GitHub: BuckarooBanzay
- IRC: BuckarooBanzai
- In-game: BuckarooBanzai
Re: MTS Editor
I really love the simplicity of it, even the code is well readable and structured :O
- texmex
- Member
- Posts: 1753
- Joined: Mon Jul 11, 2016 21:08
- GitHub: tacotexmex
- In-game: tacotexmex
Re: MTS Editor
Hi,
Thank you, I'm glad that you enjoyed this little tool!
Here's a quick heads up on the last commit:
1. the cursor displaying part completely rewritten, now it is fast and responsive even with large files (comes at a price though, now when you clear blocks, you'll see the background color and you'll have to release the mouse button to refresh what's beneath)
2. now both CW and CCW directions supported
3. preview file dimensions fixed (depending on the contents, sometimes there was a big empty border)
4. added compilation instructions in the README.md under Linux and Windows
5. user interface translated to Hungarian, Spanish, French, German, Polish and Russian
I was wondering, which OS is used to play Minetest the most? For Linux, compiling the editor is trivial, but if there are many Windows users, I might provide pre-compiled binaries.
Cheers,
bzt
Thank you, I'm glad that you enjoyed this little tool!
Here's a quick heads up on the last commit:
1. the cursor displaying part completely rewritten, now it is fast and responsive even with large files (comes at a price though, now when you clear blocks, you'll see the background color and you'll have to release the mouse button to refresh what's beneath)
2. now both CW and CCW directions supported
3. preview file dimensions fixed (depending on the contents, sometimes there was a big empty border)
4. added compilation instructions in the README.md under Linux and Windows
5. user interface translated to Hungarian, Spanish, French, German, Polish and Russian
I was wondering, which OS is used to play Minetest the most? For Linux, compiling the editor is trivial, but if there are many Windows users, I might provide pre-compiled binaries.
Cheers,
bzt
Re: MTS Editor
Hi,
New features! :-)
The GUI now supports history, you can undo and redo modifications. The block definitions file is almost entirely complete, and I've added default images for the nodes, so that the preview generation is working great (much better than mtsconv's).
So far MTSEdit lacked a very important component. It uses blocks.csv in the data directory to get the block node definitions. That file had to be written by hand, up until now, but no more! I've written an MTSEdit Export Minetest mod which is able to generate that csv using the Lua API from within the game. The mod is dependency-free, works with Mineclone2 and Minetest Game as well. As it can't export / import MTS files, only node definitions, therefore it suggests @Sokomine's excellent handle_schematics mod for that (that's the reason for the optional dependency).
Cheers,
bzt
New features! :-)
The GUI now supports history, you can undo and redo modifications. The block definitions file is almost entirely complete, and I've added default images for the nodes, so that the preview generation is working great (much better than mtsconv's).
So far MTSEdit lacked a very important component. It uses blocks.csv in the data directory to get the block node definitions. That file had to be written by hand, up until now, but no more! I've written an MTSEdit Export Minetest mod which is able to generate that csv using the Lua API from within the game. The mod is dependency-free, works with Mineclone2 and Minetest Game as well. As it can't export / import MTS files, only node definitions, therefore it suggests @Sokomine's excellent handle_schematics mod for that (that's the reason for the optional dependency).
Cheers,
bzt
- texmex
- Member
- Posts: 1753
- Joined: Mon Jul 11, 2016 21:08
- GitHub: tacotexmex
- In-game: tacotexmex
Re: MTS Editor
I was trying to compile on macOS but alas:
No ui driver can be detected. Install libsdl2-dev.
This is when running make with the sdl2 package installed, which is the one used for SDL development on macOS. Is it an issue of unset paths? I found some similar issue in a Rust project but I don't know how I would go about adapting it to a C environment. Halp!
No ui driver can be detected. Install libsdl2-dev.
This is when running make with the sdl2 package installed, which is the one used for SDL development on macOS. Is it an issue of unset paths? I found some similar issue in a Rust project but I don't know how I would go about adapting it to a C environment. Halp!
Re: MTS Editor
Hi @texmex,
Yes, it is probably a path issue. The Makefile gives that message when it's unable to locate the SDL header files. Under MacOSX, it is usually looks for /Library/Frameworks/SDL2.framework/Headers. Please download the latest commit, I've added support for user home libraries. If even that fails, then please open up a Terminal, issue the following command and let me know it's output: "find / -name SDL.h".
Cheers,
bzt
Yes, it is probably a path issue. The Makefile gives that message when it's unable to locate the SDL header files. Under MacOSX, it is usually looks for /Library/Frameworks/SDL2.framework/Headers. Please download the latest commit, I've added support for user home libraries. If even that fails, then please open up a Terminal, issue the following command and let me know it's output: "find / -name SDL.h".
Cheers,
bzt
Re: MTS Editor
It looks like this simple editor is not so simple any more (if we are looking at it's list of features :-) ). But it is still a single small executable (less than 256k).
The latest features:
1. not only the UI is translated, but the user can provide block name translations too (same format as the Minetest mods). I've provided quite a few translations (sorry about the quality, courtesy of Google Translate, but much better than nothing), see data/blocks_de.txt, blocks_ru.txt etc.
2. implemented brush feature. Now you can paint with sphere, dome, cylinder, cube, etc.
3. layer operations, you can insert or remove entire slices along each axis individually
4. flood fill, you can replace entire areas of the same block with another block type
5. redo / undo refactored and moved to a new source file to accomodate storing info on these new features
6. the Minetest mod part can now load and save MTS files easily using an intuitive tool, still without any dependency.
There's one feature that MTSEdit supports but which is not implemented in the Minetest Engine yet, biome specific names. With MTSEdit you can create schematics that does not contain "mcl_core:dirt" or "default:dirt" names directly, but instead "biome:node_filler" or "biome:node_top" for example. The purpose of this is to create structures that can be built-up in the world depending in which biome they are spawned. There's already a node name alias support in ME, so I'm hoping the developers will pick this up :-) It would be great, would allow houses made of sand in the desert and made of trees on the taiga using the same schematics.
Cheers,
bzt
The latest features:
1. not only the UI is translated, but the user can provide block name translations too (same format as the Minetest mods). I've provided quite a few translations (sorry about the quality, courtesy of Google Translate, but much better than nothing), see data/blocks_de.txt, blocks_ru.txt etc.
2. implemented brush feature. Now you can paint with sphere, dome, cylinder, cube, etc.
3. layer operations, you can insert or remove entire slices along each axis individually
4. flood fill, you can replace entire areas of the same block with another block type
5. redo / undo refactored and moved to a new source file to accomodate storing info on these new features
6. the Minetest mod part can now load and save MTS files easily using an intuitive tool, still without any dependency.
There's one feature that MTSEdit supports but which is not implemented in the Minetest Engine yet, biome specific names. With MTSEdit you can create schematics that does not contain "mcl_core:dirt" or "default:dirt" names directly, but instead "biome:node_filler" or "biome:node_top" for example. The purpose of this is to create structures that can be built-up in the world depending in which biome they are spawned. There's already a node name alias support in ME, so I'm hoping the developers will pick this up :-) It would be great, would allow houses made of sand in the desert and made of trees on the taiga using the same schematics.
Cheers,
bzt
- texmex
- Member
- Posts: 1753
- Joined: Mon Jul 11, 2016 21:08
- GitHub: tacotexmex
- In-game: tacotexmex
Re: MTS Editor
Cheers, I’ll check it out!bzt wrote:Hi @texmex,
Yes, it is probably a path issue. The Makefile gives that message when it's unable to locate the SDL header files. Under MacOSX, it is usually looks for /Library/Frameworks/SDL2.framework/Headers. Please download the latest commit, I've added support for user home libraries. If even that fails, then please open up a Terminal, issue the following command and let me know it's output: "find / -name SDL.h".
Cheers,
bzt
-
- Member
- Posts: 15
- Joined: Sat Oct 12, 2019 21:34
- In-game: warpnarget
Re: MTS Editor
/usr/local/Cellar/sdl2/2.0.10/include/SDL2/SDL.h
/Library/Frameworks/SDL.framework/Versions/A/Headers/SDL.h
/Library/Frameworks/SDL.framework/Versions/A/Headers/SDL.h
Re: MTS Editor
Thanks! Looks like the "Version/A" part was missing, and they have removed the version from the path since I last used Mac? Good to know. Makefile fixed.warpnarget wrote:/usr/local/Cellar/sdl2/2.0.10/include/SDL2/SDL.h
/Library/Frameworks/SDL.framework/Versions/A/Headers/SDL.h
Cheers,
bzt
-
- Member
- Posts: 15
- Joined: Sat Oct 12, 2019 21:34
- In-game: warpnarget
Re: MTS Editor
ld: warning: option -b is obsolete and being ignored
ld: file not found: binary
make: *** [icons.o] Error 1
ld: file not found: binary
make: *** [icons.o] Error 1
Re: MTS Editor
Hi bzt
Would you add node force placement support ?
(some trees schematics from MTG do use this to get rid of sapling)
Thanks a lot for this very nice tool !
Would you add node force placement support ?
(some trees schematics from MTG do use this to get rid of sapling)
Thanks a lot for this very nice tool !
Re: MTS Editor
Hi,
@warpnarget: hahahaha, I can't stop laughing! Those loosers obsoleted a flag without knowing what it is used for! They have provided an alternative for just one of its usage but not the rest, hahahaha! I've created a workaround, you should try now. If you manage to compile it under MacOSX, it would be great if you could send the compiled executable to me somehow so that I can provide a pre-compiled package. There's only one feature left, when I'm finished with that, I'm planning to upload zipped versions, which the users can easily install without compilation.
@Peppy: thanks, you're welcome! Request granted. You can toggle the force placement bit with the key [D] (both F and P were already in use). Does not work with undo / redo, because it's easy to reverse, you can't really mess up a structure with this, and also because that would considerably increase the memory footprint of the history (right now only param0 and param2 are tracked, param1 is generated automatically on save, except for the force placement bit).
List of new features:
- now the Minetest mod is included in the editor, one can install it with "./mtsedit -i (minetest mods directory)".
- toggle force placement bit
- the executable now accepts not only mts files, but directories too as argument. If that's a directory, then the "Load Schematic from File" window will appear on start up. With this, you can add your world's schems folder in the shortcut.
Cheers,
bzt
@warpnarget: hahahaha, I can't stop laughing! Those loosers obsoleted a flag without knowing what it is used for! They have provided an alternative for just one of its usage but not the rest, hahahaha! I've created a workaround, you should try now. If you manage to compile it under MacOSX, it would be great if you could send the compiled executable to me somehow so that I can provide a pre-compiled package. There's only one feature left, when I'm finished with that, I'm planning to upload zipped versions, which the users can easily install without compilation.
@Peppy: thanks, you're welcome! Request granted. You can toggle the force placement bit with the key [D] (both F and P were already in use). Does not work with undo / redo, because it's easy to reverse, you can't really mess up a structure with this, and also because that would considerably increase the memory footprint of the history (right now only param0 and param2 are tracked, param1 is generated automatically on save, except for the force placement bit).
List of new features:
- now the Minetest mod is included in the editor, one can install it with "./mtsedit -i (minetest mods directory)".
- toggle force placement bit
- the executable now accepts not only mts files, but directories too as argument. If that's a directory, then the "Load Schematic from File" window will appear on start up. With this, you can add your world's schems folder in the shortcut.
Cheers,
bzt
-
- Member
- Posts: 15
- Joined: Sat Oct 12, 2019 21:34
- In-game: warpnarget
Re: MTS Editor
./bin2h icons.png font.psf.gz ../mt-mod/mtsedit >data.h
/bin/sh: line 1: 7251 Abort trap: 6 ./bin2h icons.png font.psf.gz ../mt-mod/mtsedit > data.h
make: *** [data.h] Error 134
/bin/sh: line 1: 7251 Abort trap: 6 ./bin2h icons.png font.psf.gz ../mt-mod/mtsedit > data.h
make: *** [data.h] Error 134
Re: MTS Editor
Hi,
If you manage to finally compile MTSEdit under MacOSX, then please send the executable to me! I definitely want to create a package if compilation is this problematic under Mac!
Cheers,
bzt
I honestly don't know what's wrong with your computer. That bin2h tool is just a small utility (less than 150 SLoC) which checks all function return values, I have no clue how it could throw a SIGABRT. I can run it without problems on Linux, BSD and Windows as well. As a workaround, here's the data.h which it should create. If you copy this into the src directory, then Makefile won't call bin2h to generate it.warpnarget wrote:./bin2h icons.png font.psf.gz ../mt-mod/mtsedit >data.h
/bin/sh: line 1: 7251 Abort trap: 6 ./bin2h icons.png font.psf.gz ../mt-mod/mtsedit > data.h
make: *** [data.h] Error 134
If you manage to finally compile MTSEdit under MacOSX, then please send the executable to me! I definitely want to create a package if compilation is this problematic under Mac!
Cheers,
bzt
- Attachments
-
- data.h.zip
- extract to src/data.h
- (72.89 KiB) Downloaded 360 times
Re: MTS Editor
I've updated the source, please let me know if bin2h works now. If so, then the MacOSX core developers should really go back to school to learn a little bit of programming, as that would mean there's a serious bug in their libc's strcpy implementation... But what could you expect from someone who obsoletes a flag without knowing its function? :-)
Cheers,
bzt
Cheers,
bzt
Re: MTS Editor
Hi Everyone,
I've finished the last missing feature. I've also tested it a lot, fixed many-many minor issues, I think now it's bug-free. (But let me know and I'll fix.)
- block images can now be generated from game textures using the blockimgs.csv generated by the Minetest mod
- I've removed all rotation-specific code, now MTSEdit allows to use all rotations in param2 that has an image, and that's all. If you have many stair images (_00.png, _01.png ... _1F.png), then you can use all param2 values in MTS files. This also works for blocks which does not encode rotation in param2 (eg. snow layer with different heights).
- on UNIX systems if the path starts with ~, home will be substituted (shell does that automatically, but it's not done when you run it from a .desktop file)
- language code can be passed on the command line too (.desktop files does not allow setting extra environment variables)
- Linux and Windows packages are provided for those who don't want to compile. They include icons, startup config files, all the current block data etc. The Windows version also includes SDL2.dll to make it easy to install. Each zip is typically 1 - 1.5 Mb.
Missing features:
- I really would like to know how compilation under MacOSX goes, @texmex and @warpnarget. I'd like to provide a MacOSX package too. I can't test it, but I think all obsticles are removed.
- Importing NBT .schematic files works, but reading rotation info from Data section is not perfect, most of the time blocks are imported by default facing to North
Cheers,
bzt
I've finished the last missing feature. I've also tested it a lot, fixed many-many minor issues, I think now it's bug-free. (But let me know and I'll fix.)
- block images can now be generated from game textures using the blockimgs.csv generated by the Minetest mod
- I've removed all rotation-specific code, now MTSEdit allows to use all rotations in param2 that has an image, and that's all. If you have many stair images (_00.png, _01.png ... _1F.png), then you can use all param2 values in MTS files. This also works for blocks which does not encode rotation in param2 (eg. snow layer with different heights).
- on UNIX systems if the path starts with ~, home will be substituted (shell does that automatically, but it's not done when you run it from a .desktop file)
- language code can be passed on the command line too (.desktop files does not allow setting extra environment variables)
- Linux and Windows packages are provided for those who don't want to compile. They include icons, startup config files, all the current block data etc. The Windows version also includes SDL2.dll to make it easy to install. Each zip is typically 1 - 1.5 Mb.
Missing features:
- I really would like to know how compilation under MacOSX goes, @texmex and @warpnarget. I'd like to provide a MacOSX package too. I can't test it, but I think all obsticles are removed.
- Importing NBT .schematic files works, but reading rotation info from Data section is not perfect, most of the time blocks are imported by default facing to North
Cheers,
bzt
- texmex
- Member
- Posts: 1753
- Joined: Mon Jul 11, 2016 21:08
- GitHub: tacotexmex
- In-game: tacotexmex
Re: MTS Editor
On the macOS side of things make gives error:
My SDL.h path is /usr/local/include/SDL2/SDL.h
Code: Select all
No headers found, ui driver cannot be detected. Install libsdl2-dev.
Also check if the header files are in MINGSDL or MACSDL paths.
Try to run 'find / -name SDL.h' in a terminal to find the header.
make: *** [configure] Error 1
Last edited by texmex on Mon Dec 09, 2019 19:32, edited 1 time in total.
-
- Member
- Posts: 1118
- Joined: Mon Dec 29, 2014 08:07
- Location: USA
Re: MTS Editor
Not to distract from the MacOS issues, but I was wondering if there was an easier way to add node defs. My lib_materials, lib_ecology, and lib_shapes mods add a number of blocks. Like, a lot of blocks. And either the node list is now too long, or I am missing something in the installation. Granted, I need to update to this latest version, as opposed to the Friday version, ;), but so far, it doesn't seem to like my node list. (Yes, I used the mod to generate a block.csv file. This part does seem more complex than it should be. Why does one need to choose mcl_core or default? This will lock you into only supporting MCL2 and MTG, when there are other bases out there....)
As a side note, I like the idea of using biome nodes. Could you also add support for aliases, ie, single name aliases. Instead of default:stone or mcl_core:stone or lib_materials:stone, there is also mapgen:stone, and just stone. This will work well with a schematics library mod that I am working on, that allows schematics to be built, not with hardcoded node names, but with a predefined "code" value, that is then replaced with the desired node def. This seems to be similar to what you've described for MTEdit.
I'll download this latest version, and update this if I find anything relevant.
Shad
As a side note, I like the idea of using biome nodes. Could you also add support for aliases, ie, single name aliases. Instead of default:stone or mcl_core:stone or lib_materials:stone, there is also mapgen:stone, and just stone. This will work well with a schematics library mod that I am working on, that allows schematics to be built, not with hardcoded node names, but with a predefined "code" value, that is then replaced with the desired node def. This seems to be similar to what you've described for MTEdit.
I'll download this latest version, and update this if I find anything relevant.
Shad
Re: MTS Editor
Hi,
Open Makefile in a text editor, and right at the beginning specify MACSDL path as MACSDL=/usr/local/include/SDL2. I was wondering when will someone pop up with a manually compiled SDL :-D I'm so sorry that I don't have MacOSX, I really wish I could provide a pre-compiled package for you!
Just for completeness, if you were to use manually compiled SDL under linux, they you'd have to set LINUXSDL=/usr/local/include/SDL2, and for Windows you should set MINGWSDL.
Right now, you have ways to automatically generate both:
1. use "/mtsedit export (game name)" chat command to generate a db with the technical names (you seem to be familiar with this).
2. use "/mtsedit imgs" chat command and then "./mtsedit -t blockimgs.csv" from the command line to generate the block images. This is a new feature.
The second is not perfect, I know, but better than nothing especially when you have to generate lots of blocks. This way you only have to manually fix/create that few images which "-t" weren't able to generate (in contrast to create all the images by hand). If you haven't tried this feature yet, please do so, and let me know how it went. I'm also planning to add param2's 04-1F rotations to be generated automatically.
I'm open to suggestions with this. The proper way would be to use GL and lift the node display code from the engine, I know, but unfortunately that's beyond what I can do in my spare-time.
EDIT: question, what do you mean by the list is too long and does not look like your nodes? The Lua script did not picked the right names or something?
Cheers,
bzt
Then you should follow the instruction in the message.texmex wrote:On the macOS side of things make gives error:
My SDL.h path is /usr/local/include/SDL2/SDL.hCode: Select all
No headers found, ui driver cannot be detected. Install libsdl2-dev. Also check if the header files are in MINGSDL or MACSDL paths. Try to run 'find / -name SDL.h' in a terminal to find the header. make: *** [configure] Error 1
Open Makefile in a text editor, and right at the beginning specify MACSDL path as MACSDL=/usr/local/include/SDL2. I was wondering when will someone pop up with a manually compiled SDL :-D I'm so sorry that I don't have MacOSX, I really wish I could provide a pre-compiled package for you!
Just for completeness, if you were to use manually compiled SDL under linux, they you'd have to set LINUXSDL=/usr/local/include/SDL2, and for Windows you should set MINGWSDL.
Hi, thanks for trying out my editor! The thing is, you'll need two things for each node: a string (being the technical name of the node within the game), and images to be displayed by the editor (frankly, these latter are optional, but those "unknown node"s look terrible when you edit a schematic).ShadMOrdre wrote:I was wondering if there was an easier way to add node defs
Right now, you have ways to automatically generate both:
1. use "/mtsedit export (game name)" chat command to generate a db with the technical names (you seem to be familiar with this).
2. use "/mtsedit imgs" chat command and then "./mtsedit -t blockimgs.csv" from the command line to generate the block images. This is a new feature.
The second is not perfect, I know, but better than nothing especially when you have to generate lots of blocks. This way you only have to manually fix/create that few images which "-t" weren't able to generate (in contrast to create all the images by hand). If you haven't tried this feature yet, please do so, and let me know how it went. I'm also planning to add param2's 04-1F rotations to be generated automatically.
I'm open to suggestions with this. The proper way would be to use GL and lift the node display code from the engine, I know, but unfortunately that's beyond what I can do in my spare-time.
Couldn't agree more. The thing is, figuring out which node is which is not an easy task. First, more nodes might have share the same name (typically Something_Slab has three technical names, default:something_slab, default:something_slab_inner, default:something_slab_outter). Unfortunately Lua lists those in random order (which order changes by runs btw), so there's a need to explicit technical name checks. Then, there's a need for a canonical name check, otherwise you couldn't tell that mcl_core:tree is actually the same block as default:tree. Finally, you should manually check the generated list, because there's no guarantee that the Lua script got all nodes 100% correctly :-(ShadMOrdre wrote:Yes, I used the mod to generate a block.csv file. This part does seem more complex than it should be.
Oh, but you're not locked to those two! You are free to add as many coloumns to the blocks.csv as you like, and there'll be as many options in the save window as coloumns you have! For example, if you'd use "/mtsedit export Lord of the Test", then a new "Lord of the Test" coloumn would be added to the csv, and with that you'd have 3 options on the save window. Block type mappings are not hardwired in the editor, they are fully configurable via the csv! :-)ShadMOrdre wrote:Why does one need to choose mcl_core or default? This will lock you into only supporting MCL2 and MTG, when there are other bases out there
This is something I was thinking about, but finally haven't implemented it. Now that I have at least one user asking for this feature, I probably will add it to the Lua script. The good thing is, you can do this without modifying the editor :-) Just add a "mapgen" coloumn to the csv.ShadMOrdre wrote:As a side note, I like the idea of using biome nodes. Could you also add support for aliases, ie, single name aliases. Instead of default:stone or mcl_core:stone or lib_materials:stone, there is also mapgen:stone, and just stone.
Not exactly. Mapgen nodes are picked based on the mapgen used. What I'm proposing, and what I've already implemented in MTSEdit does not care about mapgen, it depends on the biome where the schematic is placed (thus using a different wood for roof for example in the desert and on the taiga, regardless if those biomes were generated by V7 or carpathian etc.).ShadMOrdre wrote:This will work well with a schematics library mod that I am working on, that allows schematics to be built, not with hardcoded node names, but with a predefined "code" value, that is then replaced with the desired node def. This seems to be similar to what you've described for MTEdit.
Thank you, and all of you for helping me making MTSEdit better! Your feedback and participation is much appreciated!ShadMordre wrote:I'll download this latest version, and update this if I find anything relevant.
EDIT: question, what do you mean by the list is too long and does not look like your nodes? The Lua script did not picked the right names or something?
Cheers,
bzt
Re: MTS Editor
Hi,
I quickly put together a new commit as soon as I could.
1. I was thinking about simplifying the images. Now there's only one png per block type, but it might contain more images.
2. you can set all param2 values 0-31, and images are taken from Y coordinates of the png like (0,param2*32 % height).
3. the "-g" and "-t" options are now generating single pngs.
4. I've added MapGen type. Works pretty much as biome type, if turned on and block type has an alias then that's used instead of the technical name in the mapping's coloumn. If both biome and MapGen alias are given, then biome takes preference (biome name aliases can be enabled / disabled on a per node basis).
5. the Lua script is modified to generate a block.csv with MapGen names in the 4th coloumn.
Cheers,
bzt
I quickly put together a new commit as soon as I could.
1. I was thinking about simplifying the images. Now there's only one png per block type, but it might contain more images.
2. you can set all param2 values 0-31, and images are taken from Y coordinates of the png like (0,param2*32 % height).
3. the "-g" and "-t" options are now generating single pngs.
4. I've added MapGen type. Works pretty much as biome type, if turned on and block type has an alias then that's used instead of the technical name in the mapping's coloumn. If both biome and MapGen alias are given, then biome takes preference (biome name aliases can be enabled / disabled on a per node basis).
5. the Lua script is modified to generate a block.csv with MapGen names in the 4th coloumn.
Cheers,
bzt
Who is online
Users browsing this forum: No registered users and 7 guests