piegamesde / blockmap Goto Github PK
View Code? Open in Web Editor NEWAn out-of-game map renderer and viewer for Minecraft 1.13–1.18 worlds [unmaintained]
License: MIT License
An out-of-game map renderer and viewer for Minecraft 1.13–1.18 worlds [unmaintained]
License: MIT License
Exception in thread "main" picocli.CommandLine$ExecutionException: Error while running command (de.piegames.blockmap.standalone.CommandLineMain$CommandRender@433d61fb): java.lang.IllegalArgumentException: Did not find internal color map default
at picocli.CommandLine.execute(CommandLine.java:1051)
at picocli.CommandLine.access$900(CommandLine.java:142)
at picocli.CommandLine$RunLast.handle(CommandLine.java:1246)
at picocli.CommandLine$RunLast.handle(CommandLine.java:1214)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1122)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:1405)
at picocli.CommandLine.parseWithHandler(CommandLine.java:1344)
at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:208)
Caused by: java.lang.IllegalArgumentException: Did not find internal color map default
at de.piegames.blockmap.color.BlockColorMap.loadInternal(BlockColorMap.java:154)
at de.piegames.blockmap.color.BlockColorMap$InternalColorMap.getColorMap(BlockColorMap.java:32)
at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.run(CommandLineMain.java:125)
at picocli.CommandLine.execute(CommandLine.java:1043)
... 7 more
Caused by: java.lang.NullPointerException
at java.io.Reader.(Reader.java:78)
at java.io.InputStreamReader.(InputStreamReader.java:72)
at de.piegames.blockmap.color.BlockColorMap.loadInternal(BlockColorMap.java:152)
... 10 more
I assume I have to use BlockMap/BlockMap-standalone/build/libs/BlockMap-1.1.1.jar ?
I found BlockMap while looking into TOGoS's Map Renderer which no longer works for Minecraft 1.13 and above. I've glad to see it being updated.
Now, I do not know Java -- I've only downloaded & installed the JRE from Oracle. I finally decided to upgrade from Java 10 and found all the business about the license changes. So I went to openjdk.java.net and downloaded what appears to be the latest version: 14.0.2. I tested this version with Minecraft and it worked with no problems I saw. It also worked fine with MultiMC and the fabric loader with all the mods I use.
Next I tried BlockMap (I ran this from an MSYS2 bash shell):
$ OpenJDK/jdk-14.0.2/bin/java -jar BlockMap-gui-2.1.0-windows.jar
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
What appeared to be sort of a splash screen image appeared and then... nothing. I had to kill the process.
Next I tried:
$ OpenJDK/jdk-14.0.2/bin/java -jar BlockMap-cli-2.1.0.jar render -o Jeepers --create-tile-html "$APPDATA/.minecraft/saves/JeepersCreepers Backup"
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.gson.internal.reflect.UnsafeReflectionAccessor (file:/C:/Users/me/Desktop/BlockMap/BlockMap-cli-2.1.0.jar) to field java.util.Optional.value
WARNING: Please consider reporting this to the maintainers of com.google.gson.internal.reflect.UnsafeReflectionAccessor
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20-07-26 08:46:25 INFO RegionRenderer [56] - Rendering region file 2 1
:
:
It ran to completion, the tiles are rendered. It is a very large image. Is there a way to allow zooming in/out?
As BlockMap development seems to be in progress, I figured I'd let you know.
I loaded a 1.12 world. I got tons of messages:
20-08-02 15:39:56 WARN RegionRenderer [130] - Skipping chunk because it is too old
Does it mean that the minecraft version of the world is too old (not supported)? Or does it mean that some timestamp on a chunk is too long in the past? If the latter, is there a way to ignore the error and render the chunk anyway?
1.6.0
openjdk version "13.0.2" 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8)
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode)
Linux triceraptodactyl 5.5.8-1-MANJARO #1 SMP PREEMPT Thu Mar 5 20:29:51 UTC 2020 x86_64 GNU/Linux
1.13.2
Banner pin positions are wrong.
The banner pins are near origin.
The banner pins should be near the map.
The banners should be spread across the town, but they are near origin
Map position is marked in pink
The map modes, especially the biom mode, need a legend to identify the meaning of each color blob.
With the biom mode it's easy to differ between a desert and a forest, but it is not really possible to spot e.g. a birch forest.
The height map should also get one, just for the sake of completeness.
Error: A JNI error has occured, please check your installation and try again.
I'd like the position the view is in when switching between nether and overworld to be divided/multiplied by 8.
This is because travelling one block in the nether covers a distance of 8 blocks in the overworld.
1.5.0
12.0.2
Windows 10
Error dialog on navigation to Help->About.
A single "guistandalone" didn't get split to "gui.standalone" in /BlockMap-gui/src/main/resources/de/piegames/blockmap/gui/standalone/about/dependency.fxml
Navigate to Help->About.
javafx.fxml.LoadException: de.piegames.blockmap.guistandalone.about.DependencyPane is not a valid type.
file:/C:/Users/lincoln/Downloads/BlockMap-gui-1.5.0-windows-10.jar!/de/piegames/blockmap/gui/standalone/about/dependency.fxml:21
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2621) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.fxml.FXMLLoader$RootElement.constructValue(FXMLLoader.java:1314) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:754) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2722) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2435) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at de.piegames.blockmap.gui.standalone.about.DependencyPane.<init>(DependencyPane.java:27) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at de.piegames.blockmap.gui.standalone.about.AboutDialog.<init>(AboutDialog.java:72) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at de.piegames.blockmap.gui.standalone.GuiController.showAbout(GuiController.java:438) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:76) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:273) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:83) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1784) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1670) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.event.Event.fireEvent(Event.java:198) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.scene.control.MenuItem.fire(MenuItem.java:459) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.doSelect(ContextMenuContent.java:1380) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.lambda$createChildren$12(ContextMenuContent.java:1333) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.event.Event.fireEvent(Event.java:198) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.scene.Scene$MouseHandler.process(Scene.java:3862) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.scene.Scene.processMouseEvent(Scene.java:1849) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2590) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:409) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:299) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at java.security.AccessController.doPrivileged(AccessController.java:389) ~[?:?]
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:447) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:411) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:446) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.glass.ui.View.handleMouseEvent(View.java:556) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.glass.ui.View.notifyMouse(View.java:942) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ~[BlockMap-gui-1.5.0-windows-10.jar:?]
at java.lang.Thread.run(Thread.java:835) [?:?]
it seems to render only on (the last) tile.
Under the Java 12 JDK I get the following error while trying to run this app. I am running this on Windows 10 build 1903.
ERROR FOLLOWS:
Graphics Device initialization failed for : d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:243)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
... 1 more
Exception in thread "main" java.lang.RuntimeException: No toolkit found
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:835)
java version "12.0.2" 2019-07-16
Java(TM) SE Runtime Environment (build 12.0.2+10)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing)
I've made for my server a new, custom color map to generate only rails on the map (for own further processing). I've added in the block-color-instructions-1_15.json
a new color map rails
and it compiles successfully. But with the current 1.6.1 (and as I can see in older logs in 1.6.0) the custom color map doesn't know the custom color map. In the BlockMap-core/build/resources/main
dir I find the compiled color map block-colors-rails-1_15.json
. And it worked on older versions.
railmap
on my fork, I use ./gradlew regenerate && ./gradlew release && cp BlockMap-cli/build/libs/fat/BlockMap-cli-1.6.1.jar .
java -jar BlockMap-cli-1.6.1.jar render --lazy --create-big-image --create-tile-html --color-map RAILS --shader=FLAT --max-X=5000 --max-Z=5000 --min-X=-5000 --min-Z=-5000 -o <outputdir> <regionfiledir>
Blockmap displays:
Invalid value for option '--color-map': expected one of [DEFAULT, OCEAN_GROUND, NO_FOLIAGE, CAVES, X_RAY] (case-sensitive) but was 'RAILS'
Usage: blockmap render [-hlp] [--create-big-image] [--create-tile-html] [-c=
{DEFAULT|CAVES|NO_FOLIAGE|OCEAN_GROUND|RAILS}] [-d=
{OVERWORLD|NETHER|END}] [--max-X=<maxX>]
[--max-Y=<maxY>] [--max-Z=<maxZ>] [--min-X=<minX>]
[--min-Y=<minY>] [--min-Z=<minZ>] [-o=<FOLDER>] [-s=
{FLAT|RELIEF|BIOMES|HEIGHTMAP}] INPUT
...
Hi,
Great software, i tried it today for the first time: it renders only some chunks, rest stays "blue". I have attached the output from the commandline.
Ubuntu 18.04
OpenJDK-8
regards,
flo
log.txt
I am getting this error on one of my maps, others work fine.
Exception in thread "main" picocli.CommandLine$ExecutionException: Error while running command (de.piegames.blockmap.standalone.CommandLineMain$CommandRender@59b38691): java.lang.IllegalArgumentException: Unsupported compression type, must be between 0 and 2 (inclusive)
at picocli.CommandLine.execute(CommandLine.java:1051)
at picocli.CommandLine.access$900(CommandLine.java:142)
at picocli.CommandLine$RunLast.handle(CommandLine.java:1246)
at picocli.CommandLine$RunLast.handle(CommandLine.java:1214)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1122)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:1405)
at picocli.CommandLine.parseWithHandler(CommandLine.java:1344)
at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:199)
Caused by: java.lang.IllegalArgumentException: Unsupported compression type, must be between 0 and 2 (inclusive)
at com.flowpowered.nbt.stream.NBTInputStream.<init>(NBTInputStream.java:120)
at com.flowpowered.nbt.stream.NBTInputStream.<init>(NBTInputStream.java:92)
at com.flowpowered.nbt.regionfile.Chunk.getInputStream(Chunk.java:192)
at com.flowpowered.nbt.regionfile.Chunk.readTag(Chunk.java:199)
at de.piegames.blockmap.renderer.RegionRenderer.renderRaw(RegionRenderer.java:113)
at de.piegames.blockmap.renderer.RegionRenderer.render(RegionRenderer.java:56)
at de.piegames.blockmap.world.RegionFolder$WorldRegionFolder.render(RegionFolder.java:150)
at de.piegames.blockmap.world.RegionFolder$CachedRegionFolder.render(RegionFolder.java:395)
at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.run(CommandLineMain.java:156)
at picocli.CommandLine.execute(CommandLine.java:1043)
... 7 more
This isn't really related to the program but I can't download the jar file, chrome has the file about to be downloaded but something about it makes it unable to complete. I know that this file is the issue and it's not an issue with my computer because I tried downloading other jar files and they work fine. please help!
It seems that --create-big-image only cares about what world files exist and then renders according to that instead of the render settings.
Example: I have a world with region files from -5 to 5 (in both X and Z). Asking it to render from -1028 to 1028 in both direction creates a big.png that 3,584px × 4,096px large.
So first of all, the file should be much smaller if it would be rendering only the chunks bounding the +-1028 blocks (-3 to 2 instead of -5 to 5). The tiles.html does the same mistake by the way, but at least it contains the full block area assigned in the render command line.
Second of all the big.png cuts off the right border of the image as it does not include the full width if the tiles rendered.
Looking at the code at https://github.com/Minecraft-Technik-Wiki/BlockMap/blob/master/BlockMap-standalone/src/main/java/de/piegames/blockmap/standalone/PostProcessing.java#L98, it anyhow seems as if the RenderSettings are not a part of calculating the affected areas at all. Instead, all the dimensions for the image are taken from the availability of world files, not from the desired settings.
1.16 was released today, block map is unable to render any of the chunks for it.
Failed to render chunk (5, 5) section 3. This is very likely because your chunk is corrupt. If possible, please verify it manually before sending a bug report.
Missing color for minecraft:stone_slab,type=bottom
Missing color for minecraft:stone_brick_stairs,facing=south,half=bottom,shape=straight
Missing color for minecraft:stone_brick_stairs,facing=north,half=bottom,shape=straight
Missing color for minecraft:oak_stairs,facing=north,half=bottom,shape=straight
etc.
1.3.0
OpenJDK Runtime Environment 18.9 (build 11.0.3+7-LTS)
Linux localhost.localdomain 3.10.0-957.12.2.el7.x86_64 #1 SMP Tue May 14 21:24:32 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
command: java -jar /root/Minecraft/1.14.2/BlockMap-1.3.0.jar render -l -o=/root/Minecraft/1.14.2/map_display /root/Minecraft/1.14.2/world_a/region --color-map=NO_FOLIAGE
java -jar /root/Minecraft/1.14.2/BlockMap-1.3.0.jar render -l -o=/root/Minecraft/1.14.2/map_display /root/Minecraft/1.14.2/world_a/region --color-map=NO_FOLIAGE
The output PNG image has only transparent color (1kb).
A leaflet powered web map would be nice.
I already made one, see https://lambdacraft.dev/craft/map/
The source https://github.com/LambdaCraft/LambdaMap
It's in react but can be statically compiled to deliverable html and js. The player positions are handled by a REST api in a fabric mod. The output of blockmap is passed through pngquant for small file delivery.
It would be nice however to have all this bundled into one server fabric mod, with updating player positions, refreshing tiles, etc.
Personally I would prefer if the server mod was lightweight as to not take up too much CPU in a client/server-worker model but perhaps if it hooked into the server instance to find the average TPS/MSPT and only do rendering when there is compute time available that would be great.
Task :BlockMap-internal:compileJava FAILED
...\BlockMap\BlockMap-internal\src\main\java\de\piegames\blockmap\generate\Generator.java:275: error: cannot find symbol
while (GuiMain.instance == null)
^
symbol: variable instance
location: class GuiMain
this goes for all the occurances of GuiMain.instance below.
I'm actually a bit surprised nobody has asked for it yet. Anyways, the process is documented and only takes a few hours.
1.2.0
openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Linux 3.10.0-862.2.3.el7.x86_64 #1 SMP Wed May 9 18:05:47 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
using small coordinates (smaller than a chunk) creates weird results.
the big.png seems to be ok.
java -jar BlockMap.jar render ./world/region --create-big-image --min-X=-4 --max-X=3 --min-Z=-4 --max-Z=3 -o ./target/png --create-tile-html
2. look at the result
3. ...
It renders the given coordinates for every chunk in the affected regions, then assembles all the half-rendered chunks in all actually affected regions into a new image
it should render the coordinates as expected only.
2.1.0
java-14-openjdk
Linux triceraptodactyl 5.6.16-1-MANJARO #1 SMP PREEMPT Wed Jun 3 14:26:28 UTC 2020 x86_64 GNU/Linux
Pin positions are at the corners of blocks instead of being centered. This may not be an issue for most structures, but it definitely is for POIs.
Happens always.
Best visible when fully zoomed in on a POI.
The pin is pointing at the corner of the block.
The pin should be pointing at the center of the block.
1.6.1
OpenJDK 12
macOS 10.15.3
Some of the regions I render for the end and the nether are empty and seem to have a lot of skipped chunks. The rendered.json reports RENDERED and FULL for most of the fields.
java -jar BlockMap-cli-1.6.1.jar render -o nether_gen --max-height=72 --create-tile-html world/DIM-1/region
Any suggestions?
$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
$
$ java -jar BlockMap-1.3.0.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: de/piegames/blockmap/standalone/CommandLineMain has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
$ java -version
openjdk version "12.0.1" 2019-04-16
OpenJDK Runtime Environment (build 12.0.1+12)
OpenJDK 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)
$ java -jar BlockMap-1.3.0.jar
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
Graphics Device initialization failed for : es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:243)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
... 1 more
19-05-12 16:37:42:475 FATAL RegionRenderer [256] - Could not load GUI main class
java.lang.reflect.InvocationTargetException: null
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?]
at de.piegames.blockmap.standalone.CommandLineMain.run(CommandLineMain.java:249) [BlockMap-1.3.0.jar:?]
at picocli.CommandLine.execute(CommandLine.java:1043) [BlockMap-1.3.0.jar:?]
at picocli.CommandLine.access$900(CommandLine.java:142) [BlockMap-1.3.0.jar:?]
at picocli.CommandLine$RunLast.handle(CommandLine.java:1246) [BlockMap-1.3.0.jar:?]
at picocli.CommandLine$RunLast.handle(CommandLine.java:1214) [BlockMap-1.3.0.jar:?]
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1122) [BlockMap-1.3.0.jar:?]
at picocli.CommandLine.parseWithHandlers(CommandLine.java:1405) [BlockMap-1.3.0.jar:?]
at picocli.CommandLine.parseWithHandler(CommandLine.java:1344) [BlockMap-1.3.0.jar:?]
at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:265) [BlockMap-1.3.0.jar:?]
Caused by: java.lang.RuntimeException: No toolkit found
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272) ~[BlockMap-1.3.0.jar:?]
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267) ~[BlockMap-1.3.0.jar:?]
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158) ~[BlockMap-1.3.0.jar:?]
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658) ~[BlockMap-1.3.0.jar:?]
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) ~[BlockMap-1.3.0.jar:?]
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) ~[BlockMap-1.3.0.jar:?]
at java.lang.Thread.run(Thread.java:835) ~[?:?]
$ export FX12=/Users/ray/Projects/javafx-sdk-11.0.2/lib
$ java --module-path $FX12 --add-modules javafx.controls -jar BlockMap-1.3.0.jar
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
19-05-12 17:09:08:386 FATAL GuiMain [46] - Cannot start BlockMap
java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0x298a30df) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0x298a30df
at com.sun.javafx.fxml.FXMLLoaderHelper.<clinit>(FXMLLoaderHelper.java:38) ~[BlockMap-1.3.0.jar:?]
at javafx.fxml.FXMLLoader.<clinit>(FXMLLoader.java:2056) ~[BlockMap-1.3.0.jar:?]
at de.piegames.blockmap.guistandalone.GuiMain.start(GuiMain.java:34) ~[BlockMap-1.3.0.jar:?]
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) ~[javafx.graphics.jar:?]
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) ~[javafx.graphics.jar:?]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) ~[javafx.graphics.jar:?]
at java.security.AccessController.doPrivileged(AccessController.java:389) ~[?:?]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) ~[javafx.graphics.jar:?]
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) [javafx.graphics.jar:?]
$ java --module-path $FX12 --add-modules javafx.controls,javafx.fxml -jar BlockMap-1.3.0.jar
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
19-05-12 17:10:04:655 FATAL GuiMain [46] - Cannot start BlockMap
java.lang.IllegalAccessError: superclass access check failed: class impl.org.controlsfx.behavior.RangeSliderBehavior (in unnamed module @0xa1d113b) cannot access class com.sun.javafx.scene.control.behavior.BehaviorBase (in module javafx.controls) because module javafx.controls does not export com.sun.javafx.scene.control.behavior to unnamed module @0xa1d113b
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) ~[?:?]
at jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802) ~[?:?]
at jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700) ~[?:?]
at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623) ~[?:?]
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[?:?]
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
at impl.org.controlsfx.skin.RangeSliderSkin.<init>(RangeSliderSkin.java:95) ~[BlockMap-1.3.0.jar:?]
at org.controlsfx.control.RangeSlider.createDefaultSkin(RangeSlider.java:194) ~[BlockMap-1.3.0.jar:?]
at javafx.scene.control.Control.doProcessCSS(Control.java:897) ~[javafx.controls.jar:?]
at javafx.scene.control.Control.access$000(Control.java:83) ~[javafx.controls.jar:?]
at javafx.scene.control.Control$1.doProcessCSS(Control.java:89) ~[javafx.controls.jar:?]
at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) ~[javafx.controls.jar:?]
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) ~[javafx.graphics.jar:?]
at javafx.scene.Parent.doProcessCSS(Parent.java:1397) ~[javafx.graphics.jar:?]
at javafx.scene.Parent.access$400(Parent.java:79) ~[javafx.graphics.jar:?]
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125) ~[javafx.graphics.jar:?]
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) ~[javafx.graphics.jar:?]
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) ~[javafx.graphics.jar:?]
at javafx.scene.Parent.doProcessCSS(Parent.java:1397) ~[javafx.graphics.jar:?]
at javafx.scene.Parent.access$400(Parent.java:79) ~[javafx.graphics.jar:?]
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125) ~[javafx.graphics.jar:?]
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) ~[javafx.graphics.jar:?]
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) ~[javafx.graphics.jar:?]
at javafx.scene.Parent.doProcessCSS(Parent.java:1397) ~[javafx.graphics.jar:?]
at javafx.scene.Parent.access$400(Parent.java:79) ~[javafx.graphics.jar:?]
at javafx.scene.Parent$1.doProcessCSS(Parent.java:125) ~[javafx.graphics.jar:?]
at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) ~[javafx.graphics.jar:?]
at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) ~[javafx.graphics.jar:?]
at javafx.scene.Node.processCSS(Node.java:9529) ~[javafx.graphics.jar:?]
at javafx.scene.Scene.doCSSPass(Scene.java:569) ~[javafx.graphics.jar:?]
at javafx.scene.Scene.preferredSize(Scene.java:1745) ~[javafx.graphics.jar:?]
at javafx.scene.Scene$2.preferredSize(Scene.java:393) ~[javafx.graphics.jar:?]
at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66) ~[javafx.graphics.jar:?]
at javafx.stage.Window$12.invalidated(Window.java:1086) ~[javafx.graphics.jar:?]
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110) ~[javafx.base.jar:?]
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145) ~[javafx.base.jar:?]
at javafx.stage.Window.setShowing(Window.java:1174) ~[javafx.graphics.jar:?]
at javafx.stage.Window.show(Window.java:1189) ~[javafx.graphics.jar:?]
at javafx.stage.Stage.show(Stage.java:273) ~[javafx.graphics.jar:?]
at de.piegames.blockmap.guistandalone.GuiMain.start(GuiMain.java:41) ~[BlockMap-1.3.0.jar:?]
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) ~[javafx.graphics.jar:?]
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) ~[javafx.graphics.jar:?]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) ~[javafx.graphics.jar:?]
at java.security.AccessController.doPrivileged(AccessController.java:389) ~[?:?]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) ~[javafx.graphics.jar:?]
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) [javafx.graphics.jar:?]
I want compile BlockMap on a freshly cloned repository on Debian Stretch using Gradle 5 for automatically generation of maps for our minecraft server. But after using gradle regenerate
following error appears:
> Task :BlockMap:BlockMap-internal:extractMinecraftData FAILED
> Task :regenerate FAILED
Task ':regenerate' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Selected primary task 'BlockMap-internal:generateSources' from project :BlockMap-internal
Selected primary task 'BlockMap-internal:generateData' from project :BlockMap-internal
:BlockMap:BlockMap-internal:compileJava (Thread[Execution worker for ':',5,main]) started.
:BlockMap:BlockMap-internal:compileJava (Thread[Execution worker for ':',5,main]) completed. Took 0.067 secs.
:BlockMap:BlockMap-internal:processResources (Thread[Execution worker for ':',5,main]) started.
:BlockMap:BlockMap-internal:processResources (Thread[Execution worker for ':',5,main]) completed. Took 0.011 secs.
:BlockMap:BlockMap-internal:extractMinecraftData (Thread[Execution worker for ':',5,main]) started.
:BlockMap:BlockMap-internal:extractMinecraftData (Thread[Execution worker for ':',5,main]) completed. Took 0.0 secs.
:regenerate (Thread[Execution worker for ':',5,main]) completed. Took 0.625 secs.
FAILURE: Build failed with an exception.
* What went wrong:
A problem was found with the configuration of task ':BlockMap:BlockMap-internal:extractMinecraftData'.
> Directory '/home/minecraft/maps/BlockMap/BlockMap-internal/null/server.jar' specified for property '$1' does not exist.
Installed Java version is openjdk8u181
2.1.0
openjdk 14.0.2
Arch Linux 5.4.52-1-lts
Entering a server address as example.address
instead of https://example.address/
results in an IllegalArgumentException (first log below). Even a missing slash at the end (https://example.address
instead of https://example.address/
) throws an exception (second log below). The second exception is not shown in the log if blockmap-gui -v
was used.
blockmap-gui
example.url
or https://example.address
via File > Load from server or top address barThe user is confronted with a stack trace.
Blockmap detects a address and completes it accordingly by adding a missing https://
prefix, a missing slash at the end etc. If the error is intended behaviour the error dialog should display a user friendly error message instead of a stack trace at least.
Log for missing https://
prefix. Actual server address has been replaced by server.stuff
:
> blockmap-gui -v
20-07-23 00:33:05 INFO RegionFolderCache [73] - Removed 0 worlds from cache
20-07-23 00:33:17 WARN GuiControllerServer [139] - Could not load server world server.stuff
java.lang.IllegalArgumentException: URI is not absolute
at java.net.URL.fromURI(URL.java:719) ~[?:?]
at java.net.URI.toURL(URI.java:1139) ~[?:?]
at de.piegames.blockmap.gui.standalone.GuiControllerServer.reload(GuiControllerServer.java:113) ~[BlockMap-gui.jar:?]
at de.piegames.blockmap.gui.standalone.GuiControllerServer.load(GuiControllerServer.java:109) ~[BlockMap-gui.jar:?]
at de.piegames.blockmap.gui.standalone.GuiController.loadRemote(GuiController.java:512) ~[BlockMap-gui.jar:?]
at de.piegames.blockmap.gui.standalone.GuiController.load(GuiController.java:424) ~[BlockMap-gui.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:76) ~[javafx-base-13-linux.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
at com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:273) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:83) ~[javafx-fxml-13-linux.jar:?]
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1784) ~[javafx-fxml-13-linux.jar:?]
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1670) ~[javafx-fxml-13-linux.jar:?]
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) ~[javafx-base-13-linux.jar:?]
at javafx.event.Event.fireEvent(Event.java:198) ~[javafx-base-13-linux.jar:?]
at javafx.scene.Node.fireEvent(Node.java:8890) ~[javafx-graphics-13-linux.jar:?]
at com.sun.javafx.scene.control.behavior.TextFieldBehavior.fire(TextFieldBehavior.java:184) ~[javafx-controls-13-linux.jar:?]
at com.sun.javafx.scene.control.behavior.TextInputControlBehavior.lambda$keyMapping$62(TextInputControlBehavior.java:330) ~[javafx-controls-13-linux.jar:?]
at com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274) ~[javafx-controls-13-linux.jar:?]
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) ~[javafx-base-13-linux.jar:?]
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) ~[javafx-base-13-linux.jar:?]
at javafx.event.Event.fireEvent(Event.java:198) ~[javafx-base-13-linux.jar:?]
at javafx.scene.Scene$KeyHandler.process(Scene.java:4070) ~[javafx-graphics-13-linux.jar:?]
at javafx.scene.Scene.processKeyEvent(Scene.java:2121) ~[javafx-graphics-13-linux.jar:?]
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:2597) ~[javafx-graphics-13-linux.jar:?]
at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:217) ~[javafx-graphics-13-linux.jar:?]
at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:149) ~[javafx-graphics-13-linux.jar:?]
at java.security.AccessController.doPrivileged(AccessController.java:391) ~[?:?]
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleKeyEvent$1(GlassViewEventHandler.java:248) ~[javafx-graphics-13-linux.jar:?]
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:412) ~[javafx-graphics-13-linux.jar:?]
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:247) ~[javafx-graphics-13-linux.jar:?]
at com.sun.glass.ui.View.handleKeyEvent(View.java:547) ~[javafx-graphics-13-linux.jar:?]
at com.sun.glass.ui.View.notifyKey(View.java:971) ~[javafx-graphics-13-linux.jar:?]
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) ~[javafx-graphics-13-linux.jar:?]
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277) ~[javafx-graphics-13-linux.jar:?]
at java.lang.Thread.run(Thread.java:832) [?:?]
Log for missing slash at the end. Actual server address has been replaced by server.stuff
:
> blockmap-gui -v
20-07-23 00:34:45 INFO RegionFolderCache [73] - Removed 0 worlds from cache
20-07-23 00:34:56 WARN GuiControllerServer [91] - Could not load world Overworld from remote file https://server.stuff
Stack trace provided by the gui. Actual server address has been replaced by server.stuff
:
java.net.UnknownHostException: blockmap.server.stuffOverworld
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:567)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:333)
at java.base/java.net.Socket.connect(Socket.java:648)
at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:290)
at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:265)
at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:177)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1194)
at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1082)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:163)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1600)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1528)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)
at java.base/java.net.URL.openStream(URL.java:1167)
at de.piegames.blockmap.world.RegionFolder$RemoteRegionFolder.getInputStream(RegionFolder.java:347)
at de.piegames.blockmap.world.RegionFolder$RemoteRegionFolder.load(RegionFolder.java:352)
at de.piegames.blockmap.world.RegionFolder$RemoteRegionFolder.load(RegionFolder.java:339)
at de.piegames.blockmap.world.RegionFolder$SavedRegionFolder.<init>(RegionFolder.java:251)
at de.piegames.blockmap.world.RegionFolder$RemoteRegionFolder.<init>(RegionFolder.java:342)
at de.piegames.blockmap.gui.standalone.GuiControllerServer.lambda$new$1(GuiControllerServer.java:88)
at de.piegames.blockmap.gui.standalone.GuiControllerServer.reload(GuiControllerServer.java:136)
at de.piegames.blockmap.gui.standalone.GuiControllerServer.load(GuiControllerServer.java:109)
at de.piegames.blockmap.gui.standalone.GuiController.loadRemote(GuiController.java:512)
at de.piegames.blockmap.gui.standalone.GuiController.load(GuiController.java:424)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:76)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:273)
at com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:83)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1784)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1670)
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.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:8890)
at com.sun.javafx.scene.control.behavior.TextFieldBehavior.fire(TextFieldBehavior.java:184)
at com.sun.javafx.scene.control.behavior.TextInputControlBehavior.lambda$keyMapping$62(TextInputControlBehavior.java:330)
at com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
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.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$KeyHandler.process(Scene.java:4070)
at javafx.scene.Scene.processKeyEvent(Scene.java:2121)
at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:2597)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:217)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:149)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleKeyEvent$1(GlassViewEventHandler.java:248)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:412)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:247)
at com.sun.glass.ui.View.handleKeyEvent(View.java:547)
at com.sun.glass.ui.View.notifyKey(View.java:971)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:832)
2.2.1
AdoptOpenJDK 16.0.1.9
Windows 10 20H2
BlockMap crashes just after showing the splashscreen, without further notice.
When running in the command-prompt, it shows "FATAL GuiMain [50] - Cannot start BlockMap", "javafx.fxml.LoadException".
I tried to start the jar-File on Windows with several Java Versions (Oracle: 16, AdoptOpen: 16, 14, 12), also tried to start with admin privileges and everything in BlockMap version 2.2.0.
The application always crashes with "FATAL GuiMain [50] - Cannot start BlockMap", "javafx.fxml.LoadException".
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
21-05-17 09:09:16 INFO RegionFolderCache [73] - Removed 0 worlds from cache
21-05-17 09:09:16 FATAL GuiMain [50] - Cannot start BlockMap
javafx.fxml.LoadException:
file:/C:/Users/Axel%20Geldmeyer/Downloads/BlockMap-gui-2.2.1-windows.jar!/de/piegames/blockmap/gui/standalone/scene.fxml:21
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2625) ~[BlockMap-gui-2.2.1-windows.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2603) ~[BlockMap-gui-2.2.1-windows.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2466) ~[BlockMap-gui-2.2.1-windows.jar:?]
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2435) ~[BlockMap-gui-2.2.1-windows.jar:?]
at de.piegames.blockmap.gui.standalone.GuiMain.init(GuiMain.java:46) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:824) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) ~[BlockMap-gui-2.2.1-windows.jar:?]
at java.lang.Thread.run(Thread.java:831) [?:?]
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.lang.Object java.util.Optional.value accessible: module java.base does not "opens java.util" to unnamed module @4691fef1
at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) ~[?:?]
at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) ~[?:?]
at java.lang.reflect.Field.checkCanSetAccessible(Field.java:177) ~[?:?]
at java.lang.reflect.Field.setAccessible(Field.java:171) ~[?:?]
at com.google.gson.internal.reflect.UnsafeReflectionAccessor.makeAccessible(UnsafeReflectionAccessor.java:44) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:159) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.Gson.getAdapter(Gson.java:458) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.Gson.getAdapter(Gson.java:458) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.internal.bind.CollectionTypeAdapterFactory.create(CollectionTypeAdapterFactory.java:53) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.Gson.getAdapter(Gson.java:458) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:931) ~[BlockMap-gui-2.2.1-windows.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:897) ~[BlockMap-gui-2.2.1-windows.jar:?]
at de.piegames.blockmap.gui.standalone.HistoryManager.<init>(HistoryManager.java:60) ~[BlockMap-gui-2.2.1-windows.jar:?]
at de.piegames.blockmap.gui.standalone.GuiController.<init>(GuiController.java:121) ~[BlockMap-gui-2.2.1-windows.jar:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:78) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
at java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) ~[?:?]
at jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:350) ~[?:?]
at java.lang.Class.newInstance(Class.java:642) ~[?:?]
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:936) ~[BlockMap-gui-2.2.1-windows.jar:?]
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:980) ~[BlockMap-gui-2.2.1-windows.jar:?]
at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:227) ~[BlockMap-gui-2.2.1-windows.jar:?]
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:752) ~[BlockMap-gui-2.2.1-windows.jar:?]
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2722) ~[BlockMap-gui-2.2.1-windows.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552) ~[BlockMap-gui-2.2.1-windows.jar:?]
... 6 more
18-11-09 15:11:28:542 WARN RegionRenderer [211] - Skipping chunk
java.lang.IllegalArgumentException: State unstable=false does not exist
at de.piegames.blockmap.renderer.BlockState.valueOf(BlockState.java:317) ~[BlockMap-1.1.1.jar:?]
at de.piegames.blockmap.renderer.RegionRenderer.parseBlockState(RegionRenderer.java:260) ~[BlockMap-1.1.1.jar:?]
at de.piegames.blockmap.renderer.RegionRenderer.lambda$renderSection$3(RegionRenderer.java:234) ~[BlockMap-1.1.1.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_191]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_191]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:1.8.0_191]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_191]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_191]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_191]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_191]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_191]
at de.piegames.blockmap.renderer.RegionRenderer.renderSection(RegionRenderer.java:235) ~[BlockMap-1.1.1.jar:?]
at de.piegames.blockmap.renderer.RegionRenderer.renderRaw(RegionRenderer.java:172) [BlockMap-1.1.1.jar:?]
at de.piegames.blockmap.renderer.RegionRenderer.render(RegionRenderer.java:43) [BlockMap-1.1.1.jar:?]
at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.run(CommandLineMain.java:156) [BlockMap-1.1.1.jar:?]
at picocli.CommandLine.execute(CommandLine.java:858) [BlockMap-1.1.1.jar:?]
at picocli.CommandLine.access$700(CommandLine.java:104) [BlockMap-1.1.1.jar:?]
at picocli.CommandLine$RunLast.handle(CommandLine.java:1035) [BlockMap-1.1.1.jar:?]
at picocli.CommandLine$RunLast.handle(CommandLine.java:1003) [BlockMap-1.1.1.jar:?]
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:911) [BlockMap-1.1.1.jar:?]
at picocli.CommandLine.parseWithHandlers(CommandLine.java:1194) [BlockMap-1.1.1.jar:?]
at picocli.CommandLine.parseWithHandler(CommandLine.java:1133) [BlockMap-1.1.1.jar:?]
at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:202) [BlockMap-1.1.1.jar:?]
Caused by: java.lang.IllegalArgumentException: No enum constant de.piegames.blockmap.renderer.BlockState.UNSTABLE_FALSE
at java.lang.Enum.valueOf(Enum.java:238) ~[?:1.8.0_191]
at de.piegames.blockmap.renderer.BlockState.valueOf(BlockState.java:10) ~[BlockMap-1.1.1.jar:?]
at de.piegames.blockmap.renderer.BlockState.valueOf(BlockState.java:315) ~[BlockMap-1.1.1.jar:?]
... 22 more
2.2.1
"16.0.1" 2021-04-20
CENTOS Linux aimba 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
On one among several worlds, I am getting the following error:
ava.lang.NullPointerException: Cannot read field "pins" because "helper" is null
at de.piegames.blockmap.world.RegionFolder$SavedRegionFolder.<init>(RegionFolder.java:293)
at de.piegames.blockmap.world.RegionFolder$LocalRegionFolder.<init>(RegionFolder.java:355)
at de.piegames.blockmap.world.RegionFolder$CachedRegionFolder.<init>(RegionFolder.java:442)
at de.piegames.blockmap.world.RegionFolder$CachedRegionFolder.create(RegionFolder.java:551)
at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.call(CommandLineMain.java:236)
at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.call(CommandLineMain.java:113)
at picocli.CommandLine.executeUserObject(CommandLine.java:1933)
at picocli.CommandLine.access$1100(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2332)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2326)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2291)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2159)
at picocli.CommandLine.execute(CommandLine.java:2058)
at de.piegames.blockmap.standalone.CommandLineMain.mainWithoutQuit(CommandLineMain.java:399)
at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:403)
I cannot instruct how to reproduce without uploading the whole world somewhere. Is there a chance to make a test for "helper" being null in the code and outputting which file is making trouble?
I tried to compile it myself but my Java skills are close to zero so I could not get it done. Compiling works but running throws this here:
java.lang.IllegalArgumentException: Did not find internal color map default
at de.piegames.blockmap.color.BlockColorMap.loadInternal(BlockColorMap.java:348)
.....
A constant pain point is that people have trouble getting a correct Java environment to run BlockMap (it is kind of hard, to be fair). A good solution to this would be to provide AppImage files. While they will be bulky (since the whole point is that they come with a JDK bundled), they'll have the advantage of being "click and run" without further setup.
I have never used AppImage though, and no idea how to create those.
Also, we'd need to investigate if there are similar solutions for Windows users. (Maybe PortableApps?)
1.3.0
Java(TM) SE Runtime Environment 18.9 (build 11.0.3+12-LTS)
Windows 10 1903
command: java --module-path "C:\Program Files\Java\javafx-sdk-11.0.2\lib" --add-modules=javafx.controls,javafx.swing -jar .\BlockMap-1.3.0.jar
error message:
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
19-06-10 04:17:40:790 FATAL GuiMain [46] - Cannot start BlockMap
java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0x6e3039d9) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0x6e3039d9
at com.sun.javafx.fxml.FXMLLoaderHelper.<clinit>(FXMLLoaderHelper.java:38) ~[BlockMap-1.3.0.jar:?]
at javafx.fxml.FXMLLoader.<clinit>(FXMLLoader.java:2056) ~[BlockMap-1.3.0.jar:?]
at de.piegames.blockmap.guistandalone.GuiMain.start(GuiMain.java:34) ~[BlockMap-1.3.0.jar:?]
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) ~[javafx.graphics.jar:?]
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) ~[javafx.graphics.jar:?]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) ~[javafx.graphics.jar:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) ~[javafx.graphics.jar:?]
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) ~[javafx.graphics.jar:?]
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) ~[javafx.graphics.jar:?]
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ~[javafx.graphics.jar:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
19-06-10 04:17:40:790 FATAL GuiMain [46] - Cannot start BlockMap
java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0x6e3039d9) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0x6e3039d9
at com.sun.javafx.fxml.FXMLLoaderHelper.<clinit>(FXMLLoaderHelper.java:38) ~[BlockMap-1.3.0.jar:?]
at javafx.fxml.FXMLLoader.<clinit>(FXMLLoader.java:2056) ~[BlockMap-1.3.0.jar:?]
at de.piegames.blockmap.guistandalone.GuiMain.start(GuiMain.java:34) ~[BlockMap-1.3.0.jar:?]
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) ~[javafx.graphics.jar:?]
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) ~[javafx.graphics.jar:?]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) ~[javafx.graphics.jar:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) ~[javafx.graphics.jar:?]
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) ~[javafx.graphics.jar:?]
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) ~[javafx.graphics.jar:?]
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) ~[javafx.graphics.jar:?]
at java.lang.Thread.run(Thread.java:834) [?:?]
Replace me
Command used: sudo java -jar BlockMap-1.4.0.jar -v render -l --create-tile-html --min-X=15000 --max-X=15000 --min-Z=15000 --max-Z=15000 -o="/var/www/html/render/topdown" "/home/mc/world name/region"
Result:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.gson.internal.reflect.UnsafeReflectionAccessor (file:/home/mc/render/BlockMap-1.4.0.jar) to constructor java.util.Optional()
WARNING: Please consider reporting this to the maintainers of com.google.gson.internal.reflect.UnsafeReflectionAccessor
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
19-06-23 00:38:09 INFO PostProcessing [34] - Writing HTML tiles...
Exception in thread "main" picocli.CommandLine$ExecutionException: Error while running command (de.piegames.blockmap.standalone.CommandLineMain$CommandRender@6c0d7c83): java.util.NoSuchElementException: No value present
at picocli.CommandLine.execute(CommandLine.java:1051)
at picocli.CommandLine.access$900(CommandLine.java:142)
at picocli.CommandLine$RunLast.handle(CommandLine.java:1246)
at picocli.CommandLine$RunLast.handle(CommandLine.java:1214)
at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1122)
at picocli.CommandLine.parseWithHandlers(CommandLine.java:1405)
at picocli.CommandLine.parseWithHandler(CommandLine.java:1344)
at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:209)
Caused by: java.util.NoSuchElementException: No value present
at java.base/java.util.OptionalInt.getAsInt(OptionalInt.java:128)
at de.piegames.blockmap.standalone.PostProcessing.createTileHtml(PostProcessing.java:53)
at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.run(CommandLineMain.java:181)
at picocli.CommandLine.execute(CommandLine.java:1043)
... 7 more
Currently trying to run version 1.4.0 on a Debian server.
openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-2, mixed mode, sharing)
Linux pecet 5.4.0-4-amd64 #1 SMP Debian 5.4.19-1 (2020-02-13) x86_64 GNU/Linux
I can't run this program on Debian Sid.
openjdk-11-jre
java -jar $THE_JAR
~/Pobrane $ java -jar BlockMap-cli-1.6.1.jar
Error: LinkageError occurred while loading main class de.piegames.blockmap.standalone.CommandLineMain
java.lang.UnsupportedClassVersionError: de/piegames/blockmap/standalone/CommandLineMain has been compiled by a more recent version of the Java Runtime (class file version 56.0), this version of the Java Runtime only recognizes class file versions up to 55.0
~/Pobrane $
I don't know, I never used the program. But it should show me a help message, I think.
Seems to not change anything. I probably shouldn't except anything, cause it's Java error...
~/Pobrane $ java -jar BlockMap-cli-1.6.1.jar -v
Error: LinkageError occurred while loading main class de.piegames.blockmap.standalone.CommandLineMain
java.lang.UnsupportedClassVersionError: de/piegames/blockmap/standalone/CommandLineMain has been compiled by a more recent version of the Java Runtime (class file version 56.0), this version of the Java Runtime only recognizes class file versions up to 55.0
~/Pobrane $
EDIT: I also tried to compile it. gradlew gave me error saying that the project is incompatible with latest version.
~/BlockMap $ ./gradlew regenerate
Downloading https://services.gradle.org/distributions/gradle-6.0.1-bin.zip
.........10%.........20%.........30%.........40%.........50%.........60%.........70%.........80%.........90%.........100%
Welcome to Gradle 6.0.1!
Here are the highlights of this release:
- Substantial improvements in dependency management, including
- Publishing Gradle Module Metadata in addition to pom.xml
- Advanced control of transitive versions
- Support for optional features and dependencies
- Rules to tweak published metadata
- Support for Java 13
- Faster incremental Java and Groovy compilation
- New Zinc compiler for Scala
- VS2019 support
- Support for Gradle Enterprise plugin 3.0
For more details see https://docs.gradle.org/6.0.1/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :BlockMap:BlockMap-core:compileJava FAILED
> Task :regenerate FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':BlockMap:BlockMap-core:compileJava'.
> Could not target platform: 'Java SE 12' using tool chain: 'JDK 11 (11)'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.0.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 2m 0s
1 actionable task: 1 executed
~/BlockMap $
EDIT 2: The same happens on Debian 10.
EDIT 3: Sorry, just noticed that I need Java 12 :/ Closing for now.
Mac OS 10.13.6 on Macbook Air.
$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
$
Launch instructions are not clear for running from source project on Mac.
The README says "java -jar BlockMap-1.1.1.jar" will launch the app.
$ find * -name Block\*jar
BlockMap-core/build/libs/BlockMap-core-1.1.2.jar
BlockMap-core/build/libs/BlockMap-core-1.2.0.jar
BlockMap-gui/build/libs/BlockMap-gui-1.1.2.jar
BlockMap-gui/build/libs/BlockMap-gui-1.2.0.jar
BlockMap-internal/build/libs/BlockMap-internal-1.1.2.jar
BlockMap-standalone/build/libs/BlockMap-standalone-1.1.2.jar
$
Which one of these am I supposed to launch with? The way I have found that will work is to use "gradle run". If there is a java command line that will launch it, please say.
At the least, updating the instructions to refer to the current version of the jar shows that someone has checked this at least once. :-)
With this command:
java -jar BlockMap.jar render /home/minecraft/server/bukkit/empire/region --create-big-image --min-X=-5 --max-X=4 --min-Z=-5 --max-Z=4 -o /home/minecraft/server/maps/empire/png
I get the following:
18-11-09 15:02:21:711 DEBUG RegionRenderer [112] - Dimension: 542208, 101376 18-11-09 15:02:21:711 ERROR RegionRenderer [117] - Could not create image, is it too big? java.lang.NegativeArraySizeException: null at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75) ~[?:1.8.0_191] at java.awt.image.Raster.createPackedRaster(Raster.java:467) ~[?:1.8.0_191] at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1032) ~[?:1.8.0_191] at java.awt.image.BufferedImage.<init>(BufferedImage.java:333) ~[?:1.8.0_191] at de.piegames.blockmap.standalone.PostProcessing.createBigImage(PostProcessing.java:115) [BlockMap-1.1.1.jar:?] at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.run(CommandLineMain.java:166) [BlockMap-1.1.1.jar:?] at picocli.CommandLine.execute(CommandLine.java:858) [BlockMap-1.1.1.jar:?] at picocli.CommandLine.access$700(CommandLine.java:104) [BlockMap-1.1.1.jar:?] at picocli.CommandLine$RunLast.handle(CommandLine.java:1035) [BlockMap-1.1.1.jar:?] at picocli.CommandLine$RunLast.handle(CommandLine.java:1003) [BlockMap-1.1.1.jar:?] at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:911) [BlockMap-1.1.1.jar:?] at picocli.CommandLine.parseWithHandlers(CommandLine.java:1194) [BlockMap-1.1.1.jar:?] at picocli.CommandLine.parseWithHandler(CommandLine.java:1133) [BlockMap-1.1.1.jar:?] at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:202) [BlockMap-1.1.1.jar:?] 18-11-09 15:02:21:714 INFO RegionRenderer [173] - Done. Region files rendered/skipped/failed/total: 202/0/0/202
the image is def. not too big to be rendered, IT should be 4kx4k pixels, 1.4 MB. I wonder why the dimensions are given as 542208, 101376
Could you please release a jar for the 1.13.2 update? I am having troubles building this properly.
When a world grows there might be a lot of files and if you want to keep a map updated rendering those files can take a lot of time.
However most of the region files usually don't change that often and if they don't change a new render of them is probably not needed.
A solution would be to have a render data file that keeps track of when the files were rendered last time and what version of the program that was used to render the image. If the region file is older than the render time, it would then not re render unless you tell the program to.
New render options could be:
--full (where everything renders regardless of what the datafile says)
--fast (where only the files that has been changed since last time or was rendered using a previous version gets rendered)
Default should probably be "full" to not confuse anyone.
Hello, upon running the program with Java 17 and on Raspbian, I have this exception that blocks the execution
It happens after some regions already being rendered, so it might be related to 1.18.1
I didn't investigate further, but I guess it could be enough for a fix
java.lang.UnsupportedOperationException
at java.base/java.util.Collections$UnmodifiableCollection.retainAll(Collections.java:1083)
at de.piegames.blockmap.world.RegionFolder$CachedRegionFolder$1.rendered(RegionFolder.java:508)
at de.piegames.blockmap.world.RegionFolder$CachedRegionFolder$1.rendered(RegionFolder.java:505)
at de.piegames.blockmap.world.ChunkMetadata$ChunkMetadataRendered.visit(ChunkMetadata.java:85)
at de.piegames.blockmap.world.RegionFolder$CachedRegionFolder.lambda$filterStructures$1(RegionFolder.java:505)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1779)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1779)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at de.piegames.blockmap.world.RegionFolder$CachedRegionFolder.filterStructures(RegionFolder.java:505)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at de.piegames.blockmap.standalone.CommandLineMain$CommandServer.call(CommandLineMain.java:370)
at de.piegames.blockmap.standalone.CommandLineMain$CommandServer.call(CommandLineMain.java:276)
at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2314)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2316)
at picocli.CommandLine.execute(CommandLine.java:2078)
at de.piegames.blockmap.standalone.CommandLineMain.mainWithoutQuit(CommandLineMain.java:399)
at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:403)
The renderer doesn't work for very low blocks when the max-height is set to low values. The blocks which are not visible then are visible for higher values of max-height though.
The program stops rendering the map entirely
The program should render the lower blocks with a low value for the max-height
2.4.0
17.0.2
Windows
Same as title. The binaries for Windows OS are not provided in the 2.4.0 release on GitHub.
I hate filing this sort of bug. Sorry. But BlockMap was working for me. I would run with "./gradlew run2" and everything was good.
I tried to do a git pull and build and that failed.
I cloned a new copy of BlockMap. That failed.
I waited a month. I cloned a new copy of BlockMap. That failed.
I do not see other instructions. Apologies if I have missed something that I should have seen.
% java --version
java 14 2020-03-17
Java(TM) SE Runtime Environment (build 14+36-1461)
Java HotSpot(TM) 64-Bit Server VM (build 14+36-1461, mixed mode, sharing)
%
%
% ./gradlew regenerate
Starting a Gradle Daemon (subsequent builds will be faster)
java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
at org.codehaus.groovy.vmplugin.VMPluginFactory.<clinit>(VMPluginFactory.java:43)
at org.codehaus.groovy.reflection.GroovyClassValueFactory.<clinit>(GroovyClassValueFactory.java:35)
at org.codehaus.groovy.reflection.ClassInfo.<clinit>(ClassInfo.java:107)
at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:95)
at org.codehaus.groovy.reflection.ReflectionCache.<clinit>(ReflectionCache.java:39)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:210)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:108)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:86)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:36)
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:86)
at groovy.lang.GroovyObjectSupport.getDefaultMetaClass(GroovyObjectSupport.java:59)
at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
at org.gradle.internal.extensibility.DefaultExtraPropertiesExtension.<init>(DefaultExtraPropertiesExtension.java:29)
at org.gradle.internal.extensibility.DefaultConvention.<init>(DefaultConvention.java:49)
at org.gradle.internal.extensibility.ExtensibleDynamicObject.<init>(ExtensibleDynamicObject.java:60)
at org.gradle.internal.instantiation.generator.MixInExtensibleDynamicObject.<init>(MixInExtensibleDynamicObject.java:35)
at org.gradle.initialization.DefaultSettings_Decorated.getAsDynamicObject(Unknown Source)
at org.gradle.initialization.SettingsFactory.createSettings(SettingsFactory.java:58)
at org.gradle.initialization.ScriptEvaluatingSettingsProcessor.process(ScriptEvaluatingSettingsProcessor.java:61)
at org.gradle.initialization.PropertiesLoadingSettingsProcessor.process(PropertiesLoadingSettingsProcessor.java:38)
at org.gradle.initialization.SettingsEvaluatedCallbackFiringSettingsProcessor.process(SettingsEvaluatedCallbackFiringSettingsProcessor.java:34)
at org.gradle.initialization.RootBuildCacheControllerSettingsProcessor.process(RootBuildCacheControllerSettingsProcessor.java:36)
at org.gradle.initialization.BuildOperationSettingsProcessor$2.call(BuildOperationSettingsProcessor.java:50)
at org.gradle.initialization.BuildOperationSettingsProcessor$2.call(BuildOperationSettingsProcessor.java:47)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.initialization.BuildOperationSettingsProcessor.process(BuildOperationSettingsProcessor.java:47)
at org.gradle.initialization.DefaultSettingsLoader.findSettingsAndLoadIfAppropriate(DefaultSettingsLoader.java:102)
at org.gradle.initialization.DefaultSettingsLoader.findAndLoadSettings(DefaultSettingsLoader.java:45)
at org.gradle.initialization.SettingsAttachingSettingsLoader.findAndLoadSettings(SettingsAttachingSettingsLoader.java:35)
at org.gradle.internal.composite.CommandLineIncludedBuildSettingsLoader.findAndLoadSettings(CommandLineIncludedBuildSettingsLoader.java:34)
at org.gradle.internal.composite.ChildBuildRegisteringSettingsLoader.findAndLoadSettings(ChildBuildRegisteringSettingsLoader.java:52)
at org.gradle.internal.composite.CompositeBuildSettingsLoader.findAndLoadSettings(CompositeBuildSettingsLoader.java:35)
at org.gradle.initialization.DefaultSettingsPreparer.prepareSettings(DefaultSettingsPreparer.java:36)
at org.gradle.initialization.BuildOperatingFiringSettingsPreparer$LoadBuild.doLoadBuild(BuildOperatingFiringSettingsPreparer.java:59)
at org.gradle.initialization.BuildOperatingFiringSettingsPreparer$LoadBuild.run(BuildOperatingFiringSettingsPreparer.java:54)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.initialization.BuildOperatingFiringSettingsPreparer.prepareSettings(BuildOperatingFiringSettingsPreparer.java:42)
at org.gradle.initialization.DefaultGradleLauncher.prepareSettings(DefaultGradleLauncher.java:194)
at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:138)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:130)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:110)
at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:60)
at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:57)
at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:85)
at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:78)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:189)
at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:78)
at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:57)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:63)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:39)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:51)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:45)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:45)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:50)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:47)
at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:78)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:31)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:42)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:28)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52)
at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:59)
at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:68)
at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:38)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:37)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:26)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:60)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:48)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:32)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:68)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:27)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.base/java.lang.Thread.run(Thread.java:832)
FAILURE: Build failed with an exception.
* What went wrong:
Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 2s
Would be nice if the render-many command would use the number of CPU cores I have to do the rendering, it could be 4 times faster on my machine.
Add dialogues to tell the user that something went wrong.
For example when trying to load a folder where BlockMap does not have the needed permissions to read the files.
Command
2.1.0
java -version
openjdk version "12.0.1" 2019-04-16
OpenJDK Runtime Environment (build 12.0.1+12)
Replace me
Darwin Kernel Version 19.3.0: Thu Jan 9 20:58:23 PST 2020; root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64
macOS 10.15.3 Catalina
Can't finish render any dimension without errors like the following:
20-07-23 15:15:03 WARN LevelMetadata [501] - Could not access map map_143.dat
java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')
at de.piegames.blockmap.world.LevelMetadata.loadFromWorld(LevelMetadata.java:496) [blockmap.jar:?]
at de.piegames.blockmap.standalone.CommandLineMain$CommandServer.call(CommandLineMain.java:379) [blockmap.jar:?]
at de.piegames.blockmap.standalone.CommandLineMain$CommandServer.call(CommandLineMain.java:277) [blockmap.jar:?]
at picocli.CommandLine.executeUserObject(CommandLine.java:1743) [blockmap.jar:?]
at picocli.CommandLine.access$900(CommandLine.java:145) [blockmap.jar:?]
at picocli.CommandLine$RunLast.handle(CommandLine.java:2101) [blockmap.jar:?]
at picocli.CommandLine$RunLast.handle(CommandLine.java:2068) [blockmap.jar:?]
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:1935) [blockmap.jar:?]
at picocli.CommandLine.execute(CommandLine.java:1864) [blockmap.jar:?]
at de.piegames.blockmap.standalone.CommandLineMain.mainWithoutQuit(CommandLineMain.java:415) [blockmap.jar:?]
at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:419) [blockmap.jar:?]
20-07-23 15:15:03 WARN LevelMetadata [454] - r.2.-10.mca is empty?!
20-07-23 15:15:03 WARN LevelMetadata [454] - r.1.-10.mca is empty?!
{
"output dir": "./rendered-web",
"server": {
"server name": "Minecraaaaaaft",
"server description": "The best server in the world",
"server address": "127.0.0.1",
"max players": 5
},
"worlds": [
{
"name": "End",
"input dir": "../lambdacraft-server-1.16/world",
"dimension": "END",
"force": false
}
]
}
java -jar blockmap-2.1.0.jar render-many config.json
2.1.0
java-14-openjdk
Linux triceraptodactyl 5.6.16-1-MANJARO #1 SMP PREEMPT Wed Jun 3 14:26:28 UTC 2020 x86_64 GNU/Linux
The players skins are loaded, but the displayed faces are blurry.
The face is blurry.
The face should be sharp.
BlockMap-cli-1.5.1.jar
CentOS 7, Linux 3.10.0-862.2.3.el7.x86_64
I get the following warnings:
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.gson.internal.reflect.UnsafeReflectionAccessor (file:/home/minecraft/server/blockmap/BlockMap-cli-1.5.1.jar) to constructor java.util.Optional()
WARNING: Please consider reporting this to the maintainers of com.google.gson.internal.reflect.UnsafeReflectionAccessor
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
1.2.0
openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Linux 3.10.0-862.2.3.el7.x86_64 #1 SMP Wed May 9 18:05:47 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
When I use --create-big-image, the render seems to iterate all available region files, no matter if the -min-X etc flags exclude a vast majority of the available map.
java -jar BlockMap.jar render ./world/region --create-tile-html --min-X=-500--max-X=500--min-Z=-500--max-Z=500 -o ./target/png
19-01-21 12:12:16:186 INFO RegionRenderer [55] - Rendering region file -1 -1
19-01-21 12:12:18:774 INFO RegionRenderer [55] - Rendering region file -1 0
19-01-21 12:12:21:482 INFO RegionRenderer [55] - Rendering region file 0 -1
19-01-21 12:12:23:433 INFO RegionRenderer [55] - Rendering region file 0 0
19-01-21 12:12:25:671 INFO RegionRenderer [35] - Writing HTML tiles...
java -jar BlockMap.jar render ./world/region --create-big-image --min-X=-500--max-X=500--min-Z=-500--max-Z=500 -o ./target/png
19-01-21 12:12:57:686 INFO RegionRenderer [55] - Rendering region file -1 -1
19-01-21 12:13:00:048 INFO RegionRenderer [55] - Rendering region file -1 0
19-01-21 12:13:02:910 INFO RegionRenderer [55] - Rendering region file 0 -1
19-01-21 12:13:04:879 INFO RegionRenderer [55] - Rendering region file 0 0
19-01-21 12:13:07:142 INFO RegionRenderer [98] - Creating big image...
19-01-21 12:13:07:150 INFO RegionRenderer [55] - Rendering region file 2 1
19-01-21 12:13:09:217 INFO RegionRenderer [55] - Rendering region file 2 2
19-01-21 12:13:10:609 INFO RegionRenderer [55] - Rendering region file 2 3
19-01-21 12:13:12:596 INFO RegionRenderer [55] - Rendering region file 2 4
19-01-21 12:13:13:300 INFO RegionRenderer [55] - Rendering region file 2 5
... plus many more.
I would expect in both cases the rendering to do only the regions needed (-1...0)
1.6.1
openjdk 13.0.2 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8)
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)
~ $ uname -a
Linux pecet 5.4.0-4-amd64 #1 SMP Debian 5.4.19-1 (2020-02-13) x86_64 GNU/Linux
~ $ cat /etc/debian_version
bullseye/sid
I can't get the HTML map to generate propertly, it fails with an error.
jdk-13.0.2/bin/java -jar Pobrane/BlockMap-cli-1.6.1.jar -v render -l --create-tile-html -d OVERWORLD -o a Minecraft/Zapisy/Lody
~ $ cat a/tiles.html
<html><head>
<link rel="stylesheet" type="text/css" href="tiles.css"/>
</head><body>
<div style="height: 18944px">%
~ $
Working map in HTML file.
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.gson.internal.reflect.UnsafeReflectionAccessor (file:/home/grzesiek11/Pobrane/BlockMap-cli-1.6.1.jar) to field java.util.Optional.value
WARNING: Please consider reporting this to the maintainers of com.google.gson.internal.reflect.UnsafeReflectionAccessor
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20-03-10 16:21:57 INFO PostProcessing [34] - Writing HTML tiles...
java.lang.NullPointerException
at de.piegames.blockmap.world.RegionFolder$LocalRegionFolder.getPath(RegionFolder.java:315)
at de.piegames.blockmap.standalone.PostProcessing.createTileHtml(PostProcessing.java:73)
at de.piegames.blockmap.standalone.CommandLineMain$CommandRender.run(CommandLineMain.java:202)
at picocli.CommandLine.executeUserObject(CommandLine.java:1729)
at picocli.CommandLine.access$900(CommandLine.java:145)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2101)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2068)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:1935)
at picocli.CommandLine.execute(CommandLine.java:1864)
at de.piegames.blockmap.standalone.CommandLineMain.main(CommandLineMain.java:210)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.