[Tool] WorldPainter plugin

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

Also, I have the basic game running, but I'm trying to compile it myself because that would make it much easier to test my understanding of the source code. I'm having trouble though. I'm compiling it with MinGW, and it gets to the minetest object file stage, but it won't link with the precompiled binaries I downloaded of the libraries, presumably because they are meant for MSVC.

Are there precompiled versions of the libraries for MinGW? What is the easiest way to build Minetest (and minetest_game) on Windows 10, for someone not in possession of Microsoft Visual Studio?

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

What does Minetest do if it encounters unknown node names in the map? Will it crash, ignore them, or display them as some standard block? Will it keep the unknown node, or will it remove it?

User avatar
Krock
Developer
Posts: 4648
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: WorldPainter support?

by Krock » Post

The libraries that are labeled as "pre-compiled libraries" are indeed compiled with MSVC (2010) for 32-bit MSVC builds only. I'd be surprised when one gets it working with MinGW.

Check out the buildbot script. That script and the 32-bit pendant download cross-compiled libraries for MinGW and compile the binary automatically.
Captain_Chaos wrote:What does Minetest do if it encounters unknown node names in the map? Will it crash, ignore them, or display them as some standard block? Will it keep the unknown node, or will it remove it?
In-game they get the "unknown node" texture. When you dig them, they will convert to an "unknown item", which can not be used anywhere but it's still possible to get its original name (whatever it was before it turned into an unknown thing).
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

twoelk
Member
Posts: 1482
Joined: Fri Apr 19, 2013 16:19
GitHub: twoelk
IRC: twoelk
In-game: twoelk
Location: northern Germany

Re: WorldPainter support?

by twoelk » Post

Spoiler
Imagethere is an extra texture for unknown blocks
Attachments
screenshot_105553239.jpg
screenshot_105553239.jpg (375.76 KiB) Viewed 2811 times

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: WorldPainter support?

by sofar » Post

Captain_Chaos wrote:In other words, which could I leave out because they are optional or Minetest will generate them itself if they are missing?
Everything is optional. I have a test case that runs a minetest server only from an empty folder. So all you'd have to do is create (on Linux) ~/.minetest/worlds/new_world/ and put stuff in there.

Code: Select all

$ mkdir ~/.minetest/worlds/new_world_test
$ minetestserver --world ~/.minetest/worlds/new_world_test --gameid minetest_game
(runs)

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

Well this all sounds very encouraging. I think I can come up with something relatively simple, yet useful. I'll probably support v25 of the serialization format, the sqlite backend and the minecraft_game block set (insofar as they overlap with Minecraft), at least initially. I'll need people to test once I have something up and running. I don't know when that will be yet, but I'll keep you guys posted.

User avatar
TheReaperKing
Member
Posts: 531
Joined: Sun Nov 22, 2015 21:36
Contact:

Re: WorldPainter support?

by TheReaperKing » Post

My students and I would be happy to test it!
Become A Real Life Superhero - http://SuperheroHill.com
Project Lead of the Doom 3 Mod Last Man Standing - http://Doom3Coop.com
Project Lead of Platinum Arts Sandbox Free 3D Game Maker - http://SandboxGameMaker.com
Youtube Channel - https://www.youtube.com/user/PlatinumArtsKids

u19503

Re: WorldPainter support?

by u19503 » Post

I would love to test it!

sfan5
Moderator
Posts: 4093
Joined: Wed Aug 24, 2011 09:44
GitHub: sfan5
IRC: sfan5
Location: Germany

Re: WorldPainter support?

by sfan5 » Post

About required files you should be fine with only map.sqlite, world.mt and map_meta.txt (for disabling the default mapgen).
Mods: Mesecons | WorldEdit | Nuke & Minetest builds for Windows (32-bit & 64-bit)

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

What is the "ignore" block for? When should I be generating it instead of air blocks?

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

Re: WorldPainter support?

by Nore » Post

"ignore" is used for unloaded blocks or nodes. You should never generate it.

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

That is nice and clear, thanks. I will refrain for now. ;)

u19503

Re: WorldPainter support?

by u19503 » Post

Captain_Chaos wrote:That is nice and clear, thanks. I will refrain for now. ;)
Can you post updates on progress? I'm really curious in the process behind the scenes
It's the good opportunity to ask now :)

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

Nore wrote:"ignore" is used for unloaded blocks or nodes. You should never generate it.
Should it exist on disk? The reason I know about it is that I see it in a dumps of a test map I made with Minetest. Usually the only other nodes in the block are leaf or air nodes.

I'm curious how it is used, exactly, as there might be circumstances in which it would be useful for WorldPainter to generate them, for example perhaps around the edges of the generated area for objects which extrude outside the generated area.

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

Re: WorldPainter support?

by Nore » Post

Hmm, I am surprised that it may even exist on disk. You can try to do as you say, but beware that it may have strange consequences, so try to avoid it if possible.

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

Nore wrote:Hmm, I am surprised that it may even exist on disk. You can try to do as you say, but beware that it may have strange consequences, so try to avoid it if possible.
Maybe some day; it seems clear that initially I shouldn't bother with it. But if it's not supposed to exist on disk you might want to look into that, as I'm seeing it quite a lot. Let me know if you need details.

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

Krock wrote:Check out the buildbot script. That script and the 32-bit pendant download cross-compiled libraries for MinGW and compile the binary automatically.
What environment is that script made for? I'm trying to compile Minetest on Windows.

u19503

Re: WorldPainter support?

by u19503 » Post

Captain_Chaos wrote:
Krock wrote:Check out the buildbot script. That script and the 32-bit pendant download cross-compiled libraries for MinGW and compile the binary automatically.
What environment is that script made for? I'm trying to compile Minetest on Windows.
It says that it's for Windows (but apart from that I dunno sorry I can't help)

User avatar
Wayward_One
Member
Posts: 108
Joined: Tue Jun 10, 2014 18:44
GitHub: Wayward1
IRC: Wayward_One Wayward1
In-game: Wayward_One
Location: Kolene, Corellia
Contact:

Re: WorldPainter support?

by Wayward_One » Post

toby109tt wrote:It says that it's for Windows (but apart from that I dunno sorry I can't help)
Yes, it's for compiling Minetest for Windows, but that script is meant to be run on Linux.

u19503

Re: WorldPainter support?

by u19503 » Post

Wayward_One wrote:
toby109tt wrote:It says that it's for Windows (but apart from that I dunno sorry I can't help)
Yes, it's for compiling Minetest for Windows, but that script is meant to be run on Linux.
How does that make any sense whatsoever?

twoelk
Member
Posts: 1482
Joined: Fri Apr 19, 2013 16:19
GitHub: twoelk
IRC: twoelk
In-game: twoelk
Location: northern Germany

Re: WorldPainter support?

by twoelk » Post

It is called "cross-compiling" and is done quite often or did you really think all them apps for Android where all programmed on smart phones ;-P

Quit often the target OS of an apllication doesn't even have a development environment so that it may need to be compiled on a different OS. Think off all the other devices and robots used in the industry or your smart toaster or whatever.

Compiling Minetest on a MS-Windows system seems to be a lot more difficult and resource demanding than on a Linux system. Therefore some executables for Windows or Android systems are cross compiled on Linux operating systems that seem to have easier access to all the libraries needed.

For example the Windows-Builds provided by sfan5 are built on Linux while those provided by Krock have been built on Windows-XP.

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

So is anyone building Minetest on Windows? I've still not managed to do it. I actually get quite far with Bash on ubuntu on Windows 10, which compiles and links the executable, but it won't run due to missing libraries. Somewere, someone must be building Minetest on Windows, right?

twoelk
Member
Posts: 1482
Joined: Fri Apr 19, 2013 16:19
GitHub: twoelk
IRC: twoelk
In-game: twoelk
Location: northern Germany

Re: WorldPainter support?

by twoelk » Post

twoelk wrote:...
while those provided by Krock have been built on Windows-XP.
also you might want to wade through the Builds thread
Getting hold of people like Krock, Addi and maybe Jordach might be the best idea though

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

Progress report:
Image

User avatar
Captain_Chaos
Member
Posts: 51
Joined: Sun Feb 12, 2017 13:04
GitHub: Captain-Chaos

Re: WorldPainter support?

by Captain_Chaos » Post

Alright, I have a first test version for people to try out and give me feedback. This is still in heavy development and nowhere near finished, so there will be bugs, missing functionality, usability problems, etc.

Download and install WorldPainter from the homepage. (You no longer need a special version of WorldPainter to use this plugin.) You'll also need Java, which you can download from the appropriate link for your operating system next to the download link for WorldPainter.

Run it, and open the plugins folder from the Tools menu. Then, download the Minetest support plugin from here and place it in the plugins folder (do not extract it).

Restart WorldPainter and you should now be able to select Minetest as the map format on the New World screen (Ctrl+N or File-> New World...) or the Export screen (Ctrl+E or File->Export->Export as new Minecraft map...; obviously that text will have to change ;) ).

If you try it out let me know how you get on and what you think about it!

Caveats:
  • WorldPainter is first and foremost, and will probably remain for the foreseeable future, a Minecraft map generator. The available block types and terrain types are geared towards Minecraft, and many of them won't be available on Minetest. This first version of the plugin tries to map blocks to minetest_game insofar it has the same, or very similar, blocks. Other blocks are left as is and will be rendered as unknown nodes in Minetest. In the future I'll probably add some way to customise the block mapping so that you can change it or add blocks from other mods.
  • The Minetest format does not support the Nether or End dimensions, so if you load an existing WorldPainter world which has those dimensions you won't be able to select the Minetest format. If you delete those dimensions via Edit->Dimensions you should then be able to export it.
  • There doesn't appear to be an easy way for WorldPainter to set the spawn point, and since WorldPainter maps tend to be higher (because they start at y=0 and have their water level at y=62 by default) Minetest will probably spawn you in the void outside the map, or in a cave.
Last edited by Captain_Chaos on Wed Dec 13, 2023 10:18, edited 2 times in total.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests