goxel icon indicating copy to clipboard operation
goxel copied to clipboard

minetest .mts support

Open Ygarr opened this issue 2 years ago • 18 comments

Any options about support .mts schemes used in minetest?

Ygarr avatar Aug 08 '22 13:08 Ygarr

not really sure if you know this but upcoming release of Goxel2 will be supporting minecraft & minetest's schemes.

All thanks to @bztsrc

pegvin avatar Aug 08 '22 14:08 pegvin

Is there any documentation on the format somewhere?

guillaumechereau avatar Aug 10 '22 01:08 guillaumechereau

Is there any documentation on the format somewhere? https://dev.minetest.net/Minetest_Schematic_File_Format

Ygarr avatar Aug 10 '22 09:08 Ygarr

OK the format looks simple enough. Do you have some example of files I could try?

guillaumechereau avatar Aug 11 '22 23:08 guillaumechereau

Do you have some example of files I could try?

A quick websearch will reveal plenty...

For example you can find some in my MTS editor's repo. Also look around in the Minetest mods, lots of them ship such files, they are in each mods' schematics subdirectory (for example). And they are also attached to forum posts, like here.

Cheers, bzt

bztsrc avatar Sep 01 '22 18:09 bztsrc

OK the format looks simple enough. Do you have some example of files I could try? Yes, of cource abkeep.zip

Ygarr avatar Sep 01 '22 19:09 Ygarr

ranger_post_mts.zip

Ygarr avatar Sep 01 '22 19:09 Ygarr

simple_house.zip

Ygarr avatar Sep 01 '22 20:09 Ygarr

OK I got a basic import code working. All I need now is a mapping of all the minetest nodes id to a plain color. I am not familiar at all with minetest. Is there a source for that? Or even better a way to automatically generate it from the original textures?

guillaumechereau avatar Sep 03 '22 08:09 guillaumechereau

Think this partially can help https://wiki.minetest.net/Games/Minetest_Game/Node But nodes id or itemstring only by url click. Perhaps can be useful such in-game mod but it uses inner engine and lua https://content.minetest.net/packages/Sokomine/handle_schematics/

Ygarr avatar Sep 03 '22 11:09 Ygarr

OK, I guess the simpler for now is to create a 'minetest' palette manually using the wiki as a source. I'll try to do that. Assuming all the nodes are listed in the wiki it should be enough to get something decent when opening images for the default minetest game.

guillaumechereau avatar Sep 04 '22 12:09 guillaumechereau

In the end the only proper way would be for goxel to support textured voxels, but that is way beyond the scope of the project.

guillaumechereau avatar Sep 04 '22 13:09 guillaumechereau

OK actually the project minetestmapper provides a txt file with the colors for most minetest nodes, so I just used that. I get basic import working.

Screenshot from 2022-09-05 09-57-23

guillaumechereau avatar Sep 05 '22 01:09 guillaumechereau

I guess the simpler for now is to create a 'minetest' palette manually using the wiki as a source.

actually the project minetestmapper provides a txt file with the colors

The problem is, these mappings are changing dynamically. Minetestmapper's color.txt doesn't work with the most popular Mineclone2 game at all for example, and it does not support mods registered nodes either.

https://gitlab.com/bztsrc/mtsedit may can help also if smth.

Yes, MTSEdit can generate a node mapping from an arbitrary MTS file using the GIMP Palette format. That's why in Goxel2 I've implemented node matching using .gpl files.

If someone is looking for real MTS support, I'd recommend Goxel2, as that supports Mineclone2 too and arbitrary Minetest Game mod nodes much better. Furthermore, you can select the desired mapping from the UI.

Cheers, bzt

ps: @guillaumechereau you are such a liar. You said you won't add new formats, and I have to wait until you implement a plugin system. Yet, here we are, you haven't added Model 3D, but despite what you said, now you're trying to add MTS...

bztsrc avatar Sep 06 '22 09:09 bztsrc

@bztsrs, please not this topic again... I already explained: I only want support for well known formats. I don't play Minetest, but it seems big enough to deserve some support from Goxel. It is perfectly fine for you to make a fork of Goxel for your own need as long as you respect the license.

As for the topic at hand. I can add a name matching fallback to the current palette, so that if needed users could still create their own palettes to match the colors they want. I don't think much more is needed, as a proper minetest file editor would probably need to support textured voxels.

guillaumechereau avatar Sep 06 '22 09:09 guillaumechereau

ah calm down, @guillaumechereau i have no problem with you just pulling those files from goxel2's repo, bztsrc wrote them so he might need to sign the CLA, but the implementations are quite simple you don't need to mess so much.

tbh you can just pull all the changes you want i have no problem in that, but a plugin system would help alot!

pegvin avatar Sep 06 '22 10:09 pegvin

Hope "grain by grain" without burden everyone would be "satiated".

Ygarr avatar Sep 06 '22 16:09 Ygarr

bztsrc wrote them so he might need to sign the CLA

Which I won't. I've signed a CLA with my original M3D patch, @guillaumechereau doesn't gave a shit about that, so I definitely won't sign it for any MTS patches.

And if @guillaumechereau by any chance tries to use my M3D patch CLA for this, I'll consider this an act of theft and bad intentions.

Cheers, bzt

bztsrc avatar Sep 08 '22 11:09 bztsrc

enkimi has a mapping https://github.com/dougbinks/enkiMI and vengi, too: https://github.com/mgerhardy/vengi/blob/master/src/modules/voxelformat/private/MinecraftPaletteMap.cpp not sure though if this works for minetest, too - not much minecraft knowledge here to answer this.

mgerhardy avatar Oct 10 '22 07:10 mgerhardy