Page 3 of 7

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 00:09
by u19503
Captain_Chaos wrote: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.

Also, if you are already a regular WorldPainter user, don't edit your existing worlds with this version. The regular version of WorldPainter will not be able to load any worlds which you have saved with this version!

First, you have to install Java, of the right number of bits for your OS if you are on Windows. You can download Java here. For 64-bit Windows pick the version with the name ending in -x64.exe.

Then, download and install WorldPainter. You'll need this snapshot; the plugin won't work on the regular version of WorldPainter:

64-bit Windows
32-bit Windows
Mac OS
UNIX/Linux

Install it, 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.
i cant get it to install :/

Image

bdw im on the newest update of java

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 00:48
by sofar
$ ./worldpainter
Could not load Logmanager "org.pepsoft.worldpainter.util.WPLogManager"
java.lang.ClassNotFoundException: org.pepsoft.worldpainter.util.WPLogManager

java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableList
at org.pepsoft.worldpainter.Platform.<init>(Platform.java:29)

[2017-02-24 16:47:10,358] {INFO } ( org.pepsoft.worldpainter.Main) Creating new configuration
java.lang.NoClassDefFoundError: Could not initialize class org.pepsoft.worldpainter.DefaultPlugin
at org.pepsoft.worldpainter.Configuration.<init>(Configuration.java:1003)

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 01:41
by kaeza
It seems to run fine for me until I try to export the world:

Code: Select all

java.lang.NoClassDefFoundError: javafx/util/Pair
	at org.pepsoft.worldpainter.minetest.MinetestChunkStore.<init>(MinetestChunkStore.java:57)
	at org.pepsoft.worldpainter.minetest.Plugin.getChunkStore(Plugin.java:58)
	at org.pepsoft.worldpainter.exporting.WorldRegion.save(WorldRegion.java:271)
	at org.pepsoft.worldpainter.exporting.AbstractWorldExporter.lambda$parallelExportRegions$0(AbstractWorldExporter.java:271)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

Root cause:
java.lang.ClassNotFoundException: javafx.util.Pair
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.pepsoft.worldpainter.minetest.MinetestChunkStore.<init>(MinetestChunkStore.java:57)
	at org.pepsoft.worldpainter.minetest.Plugin.getChunkStore(Plugin.java:58)

WorldPainter version: 2.4.2-SNAPSHOT (20170224195009)

java.version: 1.8.0_121
java.vendor: Oracle Corporation
java.vm.version: 25.121-b13
java.vm.vendor: Oracle Corporation
java.vm.name: OpenJDK 64-Bit Server VM
os.name: Linux
os.arch: amd64
os.version: 4.4.0-64-generic
user.home: /home/kaeza
user.dir: /home/kaeza/.local/share/worldpainter
user.country: ES
user.language: es

Free memory: 95925296 bytes
Total memory size: 215482368 bytes
Max memory size: 1722810368 bytes

World name: Generated World
Seed: 6411768780601592116
Bounds: -2, -2 => 2, 2
Height: 256
Number of tiles: 25
Layers in use: 
Border: null @ 62
Sub surface material: STONE_MIX
Water height: 62

Operation: null
Radius: 50
Brush: Plateau Circle (radius=0, brushShape=CIRCLE, level=1.0)/Sine Circle (radius=0, brushShape=CIRCLE, level=1.0)
Level: 0.51/0.51
Zoom: 0
Hidden layers: [Biome]

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 04:12
by fishyWET
toby109tt wrote: i cant get it to install :/
-snap-
Downloading the latest 64 bit appears to fix that for me. (Not directly from java main download page)

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 05:19
by TheReaperKing
On Windows 7 64 bit I was able to install WorldPainter just fine but upon loading I see the splash screen but nothing else happens. I am using the 64 bit version of WorldPainter.

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 08:23
by Captain_Chaos
Clearly I need to do some more work... ;) I'll have a new build out soon!

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 12:50
by Captain_Chaos
OK, I uploaded a new build of WorldPainter. There was a dependency missing, but now it should work. The download links are still the same; for the links and instructions, see my previous post. Please try again and let me know how it goes!

Again: for Windows, make sure to install the right version of Java with respect to the number of bits. *-i586.exe for 32-bits; *-x64.exe for 64-bits.

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 13:42
by Badger
Have updated java. Installed WorldPainter. But doesn't start. (Linux 64bit)
-------------------------------------------------------------------------------------
Could not load Logmanager "org.pepsoft.worldpainter.util.WPLogManager"
java.lang.ClassNotFoundException: org.pepsoft.worldpainter.util.WPLogManager
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.util.logging.LogManager$1.run(LogManager.java:195)
at java.util.logging.LogManager$1.run(LogManager.java:181)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.<clinit>(LogManager.java:181)
at java.util.logging.Logger.demandLogger(Logger.java:448)
at java.util.logging.Logger.getLogger(Logger.java:502)
at com.install4j.runtime.installer.helper.versionspecific.NoHelper.<clinit>(NoHelper.java:20)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.install4j.runtime.installer.helper.versionspecific.VersionSpecificHelper.<clinit>(VersionSpecificHelper.java:36)
at com.install4j.runtime.installer.helper.InstallerUtil.disablePreferencesLogging(InstallerUtil.java:539)
at com.install4j.runtime.installer.helper.InstallerUtil.<clinit>(InstallerUtil.java:92)
at com.install4j.runtime.launcher.LauncherIntegration.checkIntegrations(LauncherIntegration.java:35)
at com.install4j.runtime.launcher.Launcher.init(Launcher.java:106)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:23)
[2017-02-25 16:40:50,250] {INFO } ( org.pepsoft.worldpainter.Main) Starting WorldPainter 2.4.2-SNAPSHOT (20170224195009)
[2017-02-25 16:40:50,253] {INFO } ( org.pepsoft.worldpainter.Main) Hardware acceleration method: default
[2017-02-25 16:40:50,253] {INFO } ( org.pepsoft.worldpainter.Main) Creating new configuration
java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableList
at org.pepsoft.worldpainter.Platform.<init>(Platform.java:29)
at org.pepsoft.worldpainter.DefaultPlugin.<clinit>(DefaultPlugin.java:135)
at org.pepsoft.worldpainter.Configuration.<init>(Configuration.java:1003)
at org.pepsoft.worldpainter.Main.main(Main.java:161)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.ImmutableList
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 10 more

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 13:58
by Captain_Chaos
Badger wrote:Have updated java. Installed WorldPainter. But doesn't start. (Linux 64bit)
And you have redownloaded it? That's odd, that error is exactly the one I fixed. I'll see if I can run it on Linux.

Edit: in fact I can tell from the timestamp in the error message that that is not the new version. Try downloading it again and reinstalling.

Another edit: it occurred to me that I didn't make clear I uploaded a new build of WorldPainter, not of the plugin. Sorry if I caused any confusion. Although it never hurts to download and install them both every time.

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 15:41
by Captain_Chaos
I have another question for the developers: how is the lighting information stored in the map? It seems like the light propagates the same or similar in Minetest as it does in Minecraft, and I can already calculate the light for Minecraft so it would probably be easy to adapt, if I only knew how it was stored.

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 17:00
by sfan5
Installing WorldPainter & the plugin works fine (tho it might be nicer if I wasn't forced to install it and could just extract a .tar.gz).
When exporting maps it still breaks:

Code: Select all

java.lang.NoClassDefFoundError: javafx/util/Pair
	at org.pepsoft.worldpainter.minetest.MinetestChunkStore.<init>(MinetestChunkStore.java:57)
	at org.pepsoft.worldpainter.minetest.Plugin.getChunkStore(Plugin.java:58)
	at org.pepsoft.worldpainter.exporting.WorldRegion.save(WorldRegion.java:271)
	at org.pepsoft.worldpainter.exporting.AbstractWorldExporter.lambda$parallelExportRegions$0(AbstractWorldExporter.java:271)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

WorldPainter version: 2.4.2-SNAPSHOT (20170225133206)

Also the MinetestSupport.jar seems to include a Lua VM, what for?

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 18:18
by Captain_Chaos
sfan5 wrote:When exporting maps it still breaks:

Code: Select all

java.lang.NoClassDefFoundError: javafx/util/Pair
That class is a standard part of Java 8, so it is very odd that it would be missing on your system. Is it possible you have some kind of reduced version of Java installed? Make sure that JavaFX is installed, as the plugin needs a class from it.
sfan5 wrote:Also the MinetestSupport.jar seems to include a Lua VM, what for?
The idea is to one day be able to load Minetest mods and extract the node names, to make it easier to use Minetest mod blocks from WorldPainter. It's still highly experimental and not currently in use though.

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 20:23
by Nore
Captain_Chaos wrote:I have another question for the developers: how is the lighting information stored in the map? It seems like the light propagates the same or similar in Minetest as it does in Minecraft, and I can already calculate the light for Minecraft so it would probably be easy to adapt, if I only knew how it was stored.
The light is currently stored in param1 of each node, as two 4-bit fields: light on day and light on night, so coming from MC, you just need to set night light to artificial light, and day light to the maximum of sunlight and artificial light.

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 21:23
by TumeniNodes
working fine on initial try. having fun
Thank you for all of this, it's going to be very cool

I only edited a bit of the beach area around the small pond in the top shot so far.
Now for some major editing play..., eh, I mean.. work.
I have lots of testing to do :D

I did not run into any issues exporting at all.
spawned just to the side of the map, at ground level and had to grant myself fly priv fast.

Image

Image

a quick copy of the map_meta.txt

Code: Select all

chunksize = 1
mg_biome_np_heat = {
	flags = defaults
	lacunarity = 2
	octaves = 3
	offset = 50
	persistence = 0.5
	scale = 50
	seed = 5349
	spread = (1000,1000,1000)
}
mg_biome_np_heat_blend = {
	flags = defaults
	lacunarity = 2
	octaves = 2
	offset = 0
	persistence = 1
	scale = 1.5
	seed = 13
	spread = (8,8,8)
}
mg_biome_np_humidity = {
	flags = defaults
	lacunarity = 2
	octaves = 3
	offset = 50
	persistence = 0.5
	scale = 50
	seed = 842
	spread = (1000,1000,1000)
}
mg_biome_np_humidity_blend = {
	flags = defaults
	lacunarity = 2
	octaves = 2
	offset = 0
	persistence = 1
	scale = 1.5
	seed = 90003
	spread = (8,8,8)
}
mg_flags = nocaves, nodungeons, light, decorations
mg_name = singlenode
seed = 27594263
water_level = 62
[end_of_params]

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 21:34
by kaeza
Captain_Chaos wrote:The idea is to one day be able to load Minetest mods and extract the node names, to make it easier to use Minetest mod blocks from WorldPainter. It's still highly experimental and not currently in use though.
How about loading data from JSON or some other non-executable format? Creating a mod that exports the required data from within Minetest should be trivial, while re-implementing or simulating the Minetest API from WP is much harder. Mod authors can distribute these files as part of their mods or as separate downloads.

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 22:20
by Captain_Chaos
kaeza wrote:How about loading data from JSON or some other non-executable format? Creating a mod that exports the required data from within Minetest should be trivial, while re-implementing or simulating the Minetest API from WP is much harder. Mod authors can distribute these files as part of their mods or as separate downloads.
It turns out to be easier than you'd think. I already have it working for the "default" mod of minetest_game and I had to implement only a handful of API functions, with minimal functionality. In the initialization phase the mod doesn't need much to actually do anything or return a meaningful result, so I can get away with redirecting most functions to a dummy implementation which does nothing. All I'm interested in is the names passed into register_node().

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 22:25
by Captain_Chaos
Nore wrote:The light is currently stored in param1 of each node, as two 4-bit fields: light on day and light on night, so coming from MC, you just need to set night light to artificial light, and day light to the maximum of sunlight and artificial light.
Thanks. I have it working!

Could you tell me exactly what the "generated" flag does? I thought it meant that the map block had been fully generated, and that therefore I should set it. But it turns out Minetest only accepts my calculated light if I don't set it.

Also: when should I be setting the "underground" flag, exactly? I'm currently setting it for every map block but the top one, but is that correct if there is actually daylight penetrating into lower map blocks?

Re: WorldPainter support?

Posted: Sat Feb 25, 2017 22:31
by TheReaperKing
Wow this tool is absolutely awesome!! I've only just started messing with it but I recreated some terrain that the students made in the sand for a castle, moat, and the lake that filled the moat and it was so fast and easy and looks amazing. My students are going to flip, especially the ones that made the sand castle. Thank you for adding Minetest support!

Just as a note I am successfully using it on Windows 7 64 bit and will be testing on the Linux computer as well.

EDIT - Do you have any suggestions on what might be the best tool to make the castle walls?

Re: WorldPainter support?

Posted: Sun Feb 26, 2017 05:41
by Nore
Captain_Chaos wrote:
Nore wrote:The light is currently stored in param1 of each node, as two 4-bit fields: light on day and light on night, so coming from MC, you just need to set night light to artificial light, and day light to the maximum of sunlight and artificial light.
Thanks. I have it working!

Could you tell me exactly what the "generated" flag does? I thought it meant that the map block had been fully generated, and that therefore I should set it. But it turns out Minetest only accepts my calculated light if I don't set it.

Also: when should I be setting the "underground" flag, exactly? I'm currently setting it for every map block but the top one, but is that correct if there is actually daylight penetrating into lower map blocks?
I still don't understand "generated" so I can't help you there, sorry :/
About "underground", it is mainly used to predict lighting when neighbours are unloaded and things like that, IIRC, so setting it for every map block below the terrain and unseting in for the terrain and every map block above seems a good solution.

Re: WorldPainter support?

Posted: Sun Feb 26, 2017 11:09
by sfan5
Captain_Chaos wrote: That class is a standard part of Java 8, so it is very odd that it would be missing on your system. Is it possible you have some kind of reduced version of Java installed? Make sure that JavaFX is installed, as the plugin needs a class from it.
I don't ever remember needing to install this to use Java programs, but installing java-openjfx fixed it.

Something I noticed when running minetestmapper on the generated map is that sometimes MapBlocks contain empty space (ID 0) but are missing the mapping to "air" in the ID<->Node mapping.
Also sometimes names are duplicated in the ID<->Node mapping, but that's probably intended and caused by how you do mapping of Minecraft block IDs to MT.

Re: WorldPainter support?

Posted: Sun Feb 26, 2017 16:29
by Captain_Chaos
sfan5 wrote: Something I noticed when running minetestmapper on the generated map is that sometimes MapBlocks contain empty space (ID 0) but are missing the mapping to "air" in the ID<->Node mapping.
I don't think it should be doing that; I'll look into it.
sfan5 wrote: Also sometimes names are duplicated in the ID<->Node mapping, but that's probably intended and caused by how you do mapping of Minecraft block IDs to MT.
Yes, that is intended. I just map the Minecraft block type + data value, which happen to be 16 bits together, onto the content ids. It's by far the easiest, and it seems to work.

Re: WorldPainter support?

Posted: Sun Feb 26, 2017 17:11
by the_raven_262
Got this error, The program only said it encountered an unexpected error and should be reastarted as soon as possible.It did export my test map but it was empty :P

Code: Select all

java.lang.NoClassDefFoundError: javafx/util/Pair
	at org.pepsoft.worldpainter.minetest.MinetestChunkStore.<init>(MinetestChunkStore.java:57)
	at org.pepsoft.worldpainter.minetest.Plugin.getChunkStore(Plugin.java:58)
	at org.pepsoft.worldpainter.exporting.WorldRegion.save(WorldRegion.java:271)
	at org.pepsoft.worldpainter.exporting.AbstractWorldExporter.lambda$parallelExportRegions$0(AbstractWorldExporter.java:271)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

WorldPainter version: 2.4.2-SNAPSHOT (20170225133206)

java.version: 1.8.0_121
java.vendor: Oracle Corporation
java.vm.version: 25.121-b13
java.vm.vendor: Oracle Corporation
java.vm.name: OpenJDK 64-Bit Server VM
os.name: Linux
os.arch: amd64
os.version: 4.9.3
user.home: /home/corvus
user.dir: /home/corvus/worldpainter
user.country: US
user.language: en

Free memory: 215028288 bytes
Total memory size: 392167424 bytes
Max memory size: 3605528576 bytes

World name: World
Seed: 2695706055969823445
Bounds: -2, -2 => 2, 2
Height: 256
Number of tiles: 25
Layers in use: 
Border: null @ 62
Sub surface material: STONE_MIX
Water height: 62

Operation: Height
Radius: 50
Brush: Plateau Circle (radius=0, brushShape=CIRCLE, level=1.0)/Plateau Square (radius=50, brushShape=SQUARE, level=0.51)
Level: 0.51/0.51
Zoom: 0
Hidden layers: [Biome]
EDIT: works now, just installed openjfx.

Re: WorldPainter support?

Posted: Sun Feb 26, 2017 18:00
by Captain_Chaos
sfan5 wrote: Something I noticed when running minetestmapper on the generated map is that sometimes MapBlocks contain empty space (ID 0) but are missing the mapping to "air" in the ID<->Node mapping.
Hmmm, I can't reproduce this. Are you sure this was straight after exporting it from WorldPainter and before opening it in Minetest? If so, could you send me the .world file, and the generated Minetest map, in question? Thanks! :-)

Re: WorldPainter support?

Posted: Sun Feb 26, 2017 18:26
by Captain_Chaos
I just uploaded a new build of the plugin and WorldPainter. Please redownload and reinstall both. For links and instructions, see my original post.

There are lots of little improvements, such as better mapping of plants and flowers, and correctly changing dirt _with_grass to dirt_with_snow underneath snow. One major improvement is that the lighting now works. I haven't yet tested whether it is also correct for the nights and/or for light-emitting blocks such as lava though, so let me know of any lighting-related bugs you notice.

I also removed the dependency on JavaFX, which made no sense anyway, and apparently quite a few people are running versions of Java which don't include it.

By the way, you should know you guys are also getting the world premiere of the new Caves layer. :-) That layer isn't in the main version of WorldPainter yet, and it creates much more Minecraft-like tunnels than the existing Caverns and Chasms layers.

Re: WorldPainter support?

Posted: Sun Feb 26, 2017 19:18
by fishyWET
-