Eitr

Map Generator 2.9 [supports Wurm 1.4]

Recommended Posts

On 6/17/2017 at 1:41 AM, Zaramoth said:

i have 8g of usable ram but it doesnt even let me use 2, getting the standard 


C:\Users\e6000\Desktop\WURM TOOLS\Map gen>java -Xmx2g -jar WGenerator.jar
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap

C:\Users\e000\Desktop\WURM TOOLS\Map gen>pause
Press any key to continue . . .

 

i have 64bit java/windows/processor 

[Copied from a post I made Earlier on my Profile: ]

 

Was having the hardest time figuring out why Budda's wurm map generator was not working, but figured it out via this thread

The memory was too much past 2048 on my machine.

 

Fix: Run the application in cmd, telling it specifically how much RAM to use.

 

Locate the pathway you have the generator application stored; for me it is C:\User\Piperpaws\Desktop

You have to open the application via the command prompt and tell it to run with a set memory amount to use, instead of the default one that keeps overloading the memory. 

 

To open the command prompt : 

1) Windows key + R

2) Type "cmd" + Enter

 

The command prompt should open to your C drive. (For me: C:\User\Piperpaws)

You will need to maneuver your way to the folder the generator is stored in (For me: C:\User\Piperpaws\Desktop)

 

To advance a folder in cmd type "cd" + SPACE + "foldername" + ENTER

Example: cd Desktop

 

Once you are in the proper folder, you will need to run the application via the cmd and tell it to run at higher memory.

So, if you want to make a 8192 size map, you will need to tell the application to use that memory amount. 

 

Type : "java -Xmx8192m -jar WGenerator.jar" + Enter

This will open the application and will allow it to utilize your memory more efficiently. You will see the application pop open, ready for use.

 

Keep the command prompt open during your use. Watch the memory usage at the bottom right hand corner.

If it exceeds 80%, think about increasing the memory number. So "-Xmx8192m" would then be "-Xmx16384m" when you open the application via the cmd.

You will also be able to keep track of what the application is doing while you wait for everything to load in.

 

KEEP IN MIND

Do not rename the application. If you do, "WGenerator.jar" will need to reflect the name change when you type it into the cmd.

**This application is powerful and dropping dirt / rendering everything in can take some time to finish. Watching the cmd helps see what the application is doing / if it get stuck..

Share this post


Link to post
Share on other sites

is this the latest build? i'm getting an error trying to make a map

Spoiler

Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8413)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
at com.sun.javafx♥♥♥.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:381)
at com.sun.javafx♥♥♥.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx♥♥♥.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:417)
at com.sun.javafx♥♥♥.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
at com.sun.javafx♥♥♥.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:416)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
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 sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1771)
... 60 more
Caused by: java.lang.ExceptionInInitializerError
at com.wurmonline.server.Server.startRunning(Server.java:854)
at com.wurmonline.server.ServerLauncher.runServer(ServerLauncher.java:119)
at com.wurmonline.server.gui.WurmServerGuiController.startGame(WurmServerGuiController.java:1221)
at com.wurmonline.server.gui.WurmServerGuiController.startOfflineBtnClicked(WurmServerGuiController.java:152)
... 70 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1314349
at com.wurmonline.mesh.MeshIO.getTile(MeshIO.java:318)
at com.wurmonline.server.zones.VolaTile.checkTransition(VolaTile.java:299)
at com.wurmonline.server.zones.VolaTile.<init>(VolaTile.java:294)
at com.wurmonline.server.zones.Zone.getOrCreateTile(Zone.java:1548)
at com.wurmonline.server.zones.Zone.addFence(Zone.java:2025)
at com.wurmonline.server.zones.DbZone.loadFences(DbZone.java:242)
at com.wurmonline.server.zones.Zones.createZones(Zones.java:1768)
at com.wurmonline.server.zones.Zones.<clinit>(Zones.java:278)
... 74 more

 

Share this post


Link to post
Share on other sites

That may have to do with the recent java update. You could try launching it with the java version bundled with WU. To do this you would need to create a batch file to launch it, with something like the following contents

 

PathToWurmUnlimitedDedicatedServer\runtime\bin\java -Xmx8192m -jar WGenerator.jar

Share this post


Link to post
Share on other sites

Possible bug here: If you import a biome PNG then use Save Actions, I'm finding that the "IMPORTHEIGHTMAP" is saivng twice exactly the same. (There is no mention of the biome PNG in the action file.)

 

What is the action function for importing a biome PNG? (I tried "IMPORTBIOMEMAP", didn't work.)

 

 

 

Edit: Found it to be "IMPORTTILEMAP" from inspecting the class, though this doesn't work well. My action file is:

IMPORTHEIGHTMAP:heightmap.png,1,4096
DROPDIRT:bean,400,40,40,56,4096,3.0,true
IMPORTTILEMAP:biomes.png
SEEDBIOME(TILE_TREE_APPLE):16,256,4,2,20,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_BIRCH):17,24,24,1,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_CEDAR):18,24,24,1,20,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_CHERRY):19,256,4,2,20,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_CHESTNUT):20,256,4,1,30,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_FIR):21,24,24,1,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_LEMON):22,256,4,2,20,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_LINDEN):23,24,24,1,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_MAPLE):24,24,24,1,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_OAK):25,256,4,2,20,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_OLIVE):26,24,24,2,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_PINE):27,24,24,3,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_WALNUT):28,24,24,1,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_TREE_WILLOW):29,256,4,2,20,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_BUSH_CAMELLIA):30,512,1,1,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_BUSH_GRAPE):31,48,16,1,20,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_BUSH_LAVENDER):32,512,1,1,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_BUSH_OLEANDER):33,512,1,1,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_BUSH_ROSE):34,512,1,1,40,70,70,70,70,true,30,70,0,2592,true,0,30
SEEDBIOME(TILE_BUSH_THORN):35,512,1,1,40,70,70,70,70,true,30,70,0,2592,true,0,30
GENORES:95.8,2.5,0.1,0.15,0.2,0.25,0.25,0.25,0.05,0.05,0.2,0.2

I get error "TileMap doesn't exist! Drop dirt first." even though the drop dirt action was placed earlier than the import tile map action. I think maybe the action file is being processed in parallel and a race condition is going on?

 

Interestingly if I run the actions twice I don't get this error, probably because it's using the already generated dirt, but my tile/biome map isn't imported anyway.

 

 

Edited by Adambean
Action was "IMPORTTILEMAP".

Share this post


Link to post
Share on other sites

Does anyone know how to get around this little problem?

 

I have a 4096 X 4096 greyscale/Alpha 16b-integer/channel heightmap that I've been trying to import.  As you can see from the screenshot, the image is flattened, only one layer. I've tried toggling every save option but I still get this weird hashing instead of the actual height map.  Art program is Krita.

 

screenshot

Edited by Jactin
Inserting image.

Share this post


Link to post
Share on other sites

In Krita, when exporting as a PNG, uncheck the Store alpha channel (transparency) box.

 

If you leave it checked, it will create an image with a bit depth of 64, not 16. (In Windows, if you right-click on the image and select Properties and then the Details tab, you can see the bit depth of the image that you've exported.)

 

At least, this is what worked for me.

Share this post


Link to post
Share on other sites
5 hours ago, Palgolak said:

In Krita, when exporting as a PNG, uncheck the Store alpha channel (transparency) box.

 

If you leave it checked, it will create an image with a bit depth of 64, not 16. (In Windows, if you right-click on the image and select Properties and then the Details tab, you can see the bit depth of the image that you've exported.)

 

At least, this is what worked for me.

 

That didn't seem to work for me, unfortunately. But thank you.

Edited by Jactin

Share this post


Link to post
Share on other sites

Yeah. I've even tried making an entirely new image without any sort of layers and I get the same results. I'm at a loss.

Share this post


Link to post
Share on other sites
37 minutes ago, Palgolak said:

Have you checked the bit depth of the exported PNG?

 

 

Ah, there's the hang up. In Krita, it says it's using 16-bit integer/channel.  When I look at the file properties, it has a depth of 48. 

 

Well, I dunno what I did, but I fixed it.  As far as I can tell, deselecting ALL the options available for saving is what made it work.  Thank you for helping me through it!

Edited by Jactin
  • Like 1

Share this post


Link to post
Share on other sites

Question: How can I get snow to drop at altitudes higher than 3600 without using an external editor? If I must use an external editor, what file must I modify? I've edited the PNG's and ended up with nothing. I assume snow biome data is saved in one of the.MAP files?

Share this post


Link to post
Share on other sites
On 28/10/2017 at 10:10 PM, spacegeek said:

Question: How can I get snow to drop at altitudes higher than 3600 without using an external editor? If I must use an external editor, what file must I modify? I've edited the PNG's and ended up with nothing. I assume snow biome data is saved in one of the.MAP files?

 

As far as I can tell, you can add snow so long as there is enough dirt on your mountain slopes. For example:

  1. Heightmap tab: I set Max Height as 8000.
  2. Dirt/Water tab: I changed Max Dirt Slope to 400, Max Diagonal Slope to 560 and Max Dirt Height to 8000. This (unrealistically) covered the mountains with dirt. You could use lower figures.
  3. Biome tab: I set max Slope as 400, Min Height as 6000 and Max Height as 8000. Repeatedly clicking Add Biome produced quite a good covering of snow.

There may be a better way but that worked for me.

Share this post


Link to post
Share on other sites

Has this generator been updated for the new vein, bush, and tree types from 1.3 and 1.4?

Share this post


Link to post
Share on other sites

I don't think so. According to Professor Bdew, sandstone and rocksalt veins are autogenerated by the server. There's no need to include them in your map. He says it takes around a day after you first load the map for them to spawn everywhere, replacing rock tiles.

For orange trees, etc. players could botanize for saplings and plant them manually. On Bdew's servers he seeded them on the maps with a script.

 

 

Share this post


Link to post
Share on other sites

I've updated the program to Wurm 1.4, adding the new orange tree, bushes, and sandstone and rocksalt.

 

I haven't messed with it in awhile so let me know if anything is broken.

  • Like 2

Share this post


Link to post
Share on other sites

I have tried setting iterations from 10 down to 6 on the height map and am still getting a very pointy map on 2048 x 2048.  This is the map at 6.

 

Could someone share numbers for iterations on height map, erosion numbers, and also dirt slope/diagonal numbers that work to make a smooth map?  Not flat, just smooth.

 

 

6tDqv5x.png

Edited by CCWu

Share this post


Link to post
Share on other sites
On 2/23/2018 at 9:11 PM, CCWu said:

I have tried setting iterations from 10 down to 6 on the height map and am still getting a very pointy map on 2048 x 2048.  This is the map at 6.

 

Could someone share numbers for iterations on height map, erosion numbers, and also dirt slope/diagonal numbers that work to make a smooth map?  Not flat, just smooth.

 

 

6tDqv5x.png

Still needing some assistance with this if there is anyone who might know. Thank you!

Share this post


Link to post
Share on other sites

Try using 5 as the iterations and if that is not working download scape and use the tool to smooth out the map. 


Share this post


Link to post
Share on other sites
On 14/03/2018 at 1:42 PM, CCWu said:

Still needing some assistance with this if there is anyone who might know. Thank you!

 

 

Try using 5 as the iterations and if that is not working download scape and use the tool to smooth out the map. 

Share this post


Link to post
Share on other sites

Fantastic work on this tool, thank you.

Share this post


Link to post
Share on other sites

Just trying this out for the first time. Was using an older version before, with no problems except that there was no river option. 

When I try to drop dirt, I get the following error, every time, and can't proceed:

Spoiler

java.io.IOException: The system cannot find the path specified
    at java.io.WinNTFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(Unknown Source)
    at com.wurmonline.wurmapi.api.MapData.createMap(MapData.java:80)
    at com.wurmonline.wurmapi.api.MapData.<init>(MapData.java:46)
    at com.wurmonline.wurmapi.api.WurmAPI.<init>(WurmAPI.java:51)
    at com.wurmonline.wurmapi.api.WurmAPI.create(WurmAPI.java:28)
    at net.buddat.wgenerator.MainWindow.getAPI(MainWindow.java:2457)
    at net.buddat.wgenerator.MainWindow.updateAPIMap(MainWindow.java:2500)
    at net.buddat.wgenerator.MainWindow.updateMapView(MainWindow.java:2480)
    at net.buddat.wgenerator.MainWindow.actionDropDirt(MainWindow.java:1800)
    at net.buddat.wgenerator.MainWindow$36$1.run(MainWindow.java:1522)
Exception in thread "Thread-7" java.lang.NullPointerException
    at net.buddat.wgenerator.MainWindow.updateAPIMap(MainWindow.java:2500)
    at net.buddat.wgenerator.MainWindow.updateMapView(MainWindow.java:2480)
    at net.buddat.wgenerator.MainWindow.actionDropDirt(MainWindow.java:1800)
    at net.buddat.wgenerator.MainWindow$36$1.run(MainWindow.java:1522)

 

Does anyone know what's happening?

 

EDIT -- I found the answer. I was trying to use this from my desktop. Once I put it into a folder, it started working fine. 

Edited by Batta
  • Like 1

Share this post


Link to post
Share on other sites

Hi, I was wondering how the biome painting works on here? I tried selecting paint mode but nothing happened and when i click all it did was refresh the map.

Share this post


Link to post
Share on other sites
23 hours ago, TheFallenMonkey said:

Hi, I was wondering how the biome painting works on here? I tried selecting paint mode but nothing happened and when i click all it did was refresh the map.

 

There are some tooltips on the input labels that may help out in explaining. Basically you will click a spot on the map to plant the seed, instead of randomly generating them all across the map. The generation is still based on the input variables, like size and density. Make sure to check your max slope and min/max height, as they will determine what is a valid location to grow. The default values for the biomes should give you some visual results, assuming you're clicking on grass, and not a cliff or something.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now