webbukkit / DynmapBlockScan

Tool to scan post-1.8 MC blocks and JSON model data to automatically generate Dynmap models
63 stars 30 forks source link

Dynmap ignores files from BlockScan #4

Closed AveoCross closed 6 years ago

AveoCross commented 7 years ago

I upgraded Dynmap to Dynmap 3.0 Alpha and added DynmapBlockScan 3.0 Alpha - everything for forge. I ran fullrender and blocks from mods like Biomes o Plenty still aren't visible. In logs I see DynmapBlockScan working and spamming like crazy with information about finding models and textures. But I still can't see them on rendered map. I have bunch of models and textures text files in /dynmap/renderdata/modsupport folder. I must change some config in dynmap configuration file or something?

Latest Forge Minecraft 1.10.2 Dynmap config file - http://aveocross.ml/uploads/configuration.txt Server Log file - http://aveocross.ml/uploads/fml-server-latest.log Dynmap - http://aveocross.ml/dynmap/

mikeprimm commented 7 years ago

Did you make sure you re-rendered some of the map? Pick a spot with the blocks and run '/dynmap radiusrender 20' or something to confirm that you have updated the tiles rendered there with the migrated block definitions.

AveoCross commented 7 years ago

I purged all maps before update and after updating I run fullrender of server save.

AveoCross commented 7 years ago

Today I purged all maps and renedered them again. I thought maybe it will work magically but still blocks from Chisel, BoP and possibly more aren't visible.

mikeprimm commented 6 years ago

Chisel isn't going to work - quite probably never will, unless the mod dev develops Dynmap support....

Chemox commented 6 years ago

@mikeprimm I'm curious what is the issue with chiseled blocks?

mikeprimm commented 6 years ago

@Chemox Custom code based renderers for pretty much everything, from what I saw last I looked, versus being based around the JSON-based block model scheme used post 1.8 for most stuff. The DynmapBlockScan is all about leveraging and parsing the block-state plus JSON model based rendering used by MOST stuff - which is great for blocks rendering using that method, or leveraging the standard models (which also use that method for most everything except liquids and some odd blocks like banners). Unfortunately, even there, I'm fighting with the fact that the block state mappings are MOSTLY data driven - expect when they aren't.... - which is what you get when you see lots of stuff failing to open its block state file. Basically, there is a way to hack the block state mapping with code - and code that is ONLY client side - so, I cannot use it server side to figure out which files go with which block states for blocks that opt to mess with that, too.

ChubbyPitbull commented 6 years ago

I was having the same issue. Specifically, I was trying to get Advanced Rocketry and BiomesOPlenty textures to render. I had generated the files from the Oct22 DynamicBlockScan for 1.10.2, and I noticed in the server logs that when Dynmap 3 started, it stated which mods it enabled. Notably, BiomesOPlenty and Advanced Rocketry were missing from this list (among others). DynamicBlock scan had generated the BOP and AR model/textures files as all lowercase, so I edited the "Modname" fields in both sets of files to be case sensitive ("biomesoplenty" -> "BiomesOPlenty" and "advancedrocketry" -> "advancedRocketry") and when I restarted dynmap, it at least stated that those mods were now enabled. The textures still appear black on my map, but it's a data point.

I had generated the files by loading DynmapBlockScan and Dynmap3 on my client, and letting it generate all the files in the /dynmap/renderdata/modsupport folder. I then added the same Dynmap 3 version to my server mod list, removed the DynmapBlockScan and Dynmap3 mods from my client, and uploaded all the files from my client /dynmap/renderdata/modsupport folder to the server /dynmap/renderdata folder. That's the installation method I was able to deduce from searching around.

ChubbyPitbull commented 6 years ago

I did some more testing with editing the DynmapBlockScan-generated files for BOP to have a case sensitive modname of "BiomesOPlenty." I turned on verbose logging and missing block logging in the dynmap config, and got the logs attached below. Without renaming the modname, dynmap does not activate BiomesOPlenty mod.

These are the files that DynmapBlockScan generated, edited to make modname case sensitive: biomesoplenty-models.txt biomesoplenty-texture.txt

[16:55:57] [Server thread/TRACE] [dynmap/dynmap]: Sending event FMLServerStartedEvent to mod dynmap [16:55:57] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Added 75 custom biome mappings [16:55:57] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Using ops.txt for access control [16:55:57] [BetterFps Update Checker/WARN] [BetterFps/]: Could not check for updates: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 2 column 2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Mod Support processing completed [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading models... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 307 block models from models_0.txt [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] BiomesOPlenty[5.0.0.2162] models enabled [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 0 block models from dynmap/renderdata/biomesoplenty-models.txt [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading texture mappings... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 591 texture mappings from texture_0.txt [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] BiomesOPlenty[5.0.0.2162] textures enabled [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 0 texture mappings from dynmap/renderdata/biomesoplenty-texture.txt [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading templates... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading userid-by-IP data... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading shaders... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 23 shaders. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading perspectives... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 82 perspectives. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading lightings... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 14 lightings. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Web server is permitting symbolic links [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 11 components.

[16:55:58] [Server thread/WARN] [FML/dynmap]: MOD HAS DIRECT REFERENCE System.exit() THIS IS NOT ALLOWED REROUTING TO FML! [16:55:58] [Server thread/WARN] [FML/dynmap]: Offender: org/dynmap/jetty/server/ShutdownMonitor$ShutdownMonitorThread.run()V [16:55:58] [Server thread/WARN] [FML/dynmap]: Use FMLCommonHandler.exitJava instead

[16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Web server started on address 0.0.0.0:8123 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] version 3.0-alpha-1-9 is enabled - core version 3.0-SNAPSHOT-Dev201801061609 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Using environment as template: normal-hires [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Configuration of world world [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] name: world [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] title: world/Overworld [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] enabled: true [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] extrazoomout: 2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] maps: [{class=org.dynmap.hdmap.HDMap, name=flat, title=Flat, prefix=flat, perspective=iso_S_90_lowres, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=surface, title=Surface, prefix=t, perspective=iso_SE_30_hires, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=cave, title=Cave, prefix=ct, perspective=iso_SE_60_lowres, shader=cave, lighting=default, mapzoomin=3}] [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading maps of world 'world'... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 3 maps of world 'world'. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Using environment as template: normal-hires [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Configuration of world DIM-9999 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] name: DIM-9999 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] title: world/ExtraUtils2_Quarry_Dim [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] enabled: true [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] extrazoomout: 2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] maps: [{class=org.dynmap.hdmap.HDMap, name=flat, title=Flat, prefix=flat, perspective=iso_S_90_lowres, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=surface, title=Surface, prefix=t, perspective=iso_SE_30_hires, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=cave, title=Cave, prefix=ct, perspective=iso_SE_60_lowres, shader=cave, lighting=default, mapzoomin=3}] [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading maps of world 'DIM-9999'... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 3 maps of world 'DIM-9999'. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Using environment as template: normal-hires [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Configuration of world DIM43 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] name: DIM43 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] title: world/simplevoidworld [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] enabled: true [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] extrazoomout: 2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] maps: [{class=org.dynmap.hdmap.HDMap, name=flat, title=Flat, prefix=flat, perspective=iso_S_90_lowres, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=surface, title=Surface, prefix=t, perspective=iso_SE_30_hires, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=cave, title=Cave, prefix=ct, perspective=iso_SE_60_lowres, shader=cave, lighting=default, mapzoomin=3}] [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading maps of world 'DIM43'... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 3 maps of world 'DIM43'. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Using environment as template: normal-hires [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Configuration of world DIM144 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] name: DIM144 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] title: world/CompactMachines [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] enabled: true [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] extrazoomout: 2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] maps: [{class=org.dynmap.hdmap.HDMap, name=flat, title=Flat, prefix=flat, perspective=iso_S_90_lowres, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=surface, title=Surface, prefix=t, perspective=iso_SE_30_hires, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=cave, title=Cave, prefix=ct, perspective=iso_SE_60_lowres, shader=cave, lighting=default, mapzoomin=3}] [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading maps of world 'DIM144'... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 3 maps of world 'DIM144'. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Using environment as template: the_end-hires [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Configuration of world DIM1 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] name: DIM1 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] title: world/The End [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] enabled: true [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] extrazoomout: 2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] maps: [{class=org.dynmap.hdmap.HDMap, name=flat, title=Flat, prefix=flat, perspective=iso_S_90_lowres, shader=stdtexture, lighting=brightnight, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=the_end, title=Surface, prefix=st, perspective=iso_SE_30_hires, shader=stdtexture, lighting=brightnight, mapzoomin=1}] [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading maps of world 'DIM1'... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 2 maps of world 'DIM1'. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Using environment as template: normal-hires [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Configuration of world DIM2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] name: DIM2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] title: world/planet [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] enabled: true [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] extrazoomout: 2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] maps: [{class=org.dynmap.hdmap.HDMap, name=flat, title=Flat, prefix=flat, perspective=iso_S_90_lowres, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=surface, title=Surface, prefix=t, perspective=iso_SE_30_hires, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=cave, title=Cave, prefix=ct, perspective=iso_SE_60_lowres, shader=cave, lighting=default, mapzoomin=3}] [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading maps of world 'DIM2'... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 3 maps of world 'DIM2'. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Using environment as template: nether-hires [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Configuration of world DIM-1 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] name: DIM-1 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] title: world/Nether [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] enabled: true [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] extrazoomout: 2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] maps: [{class=org.dynmap.hdmap.HDMap, name=flat, title=Flat, prefix=flat, perspective=iso_S_90_lowres, shader=stdtexture, lighting=nethershadows, background=#300806, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=nether, title=Surface, prefix=nt, perspective=iso_SE_30_hires, shader=stdtexture, lighting=nethershadows, background=#300806, mapzoomin=1}] [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading maps of world 'DIM-1'... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 2 maps of world 'DIM-1'. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Using environment as template: normal-hires [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Configuration of world DIM6 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] name: DIM6 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] title: world/MiningWorld [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] enabled: true [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] extrazoomout: 2 [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] maps: [{class=org.dynmap.hdmap.HDMap, name=flat, title=Flat, prefix=flat, perspective=iso_S_90_lowres, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=surface, title=Surface, prefix=t, perspective=iso_SE_30_hires, shader=stdtexture, lighting=shadows, mapzoomin=1}, {class=org.dynmap.hdmap.HDMap, name=cave, title=Cave, prefix=ct, perspective=iso_SE_60_lowres, shader=cave, lighting=default, mapzoomin=3}] [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loading maps of world 'DIM6'... [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 3 maps of world 'DIM6'. [16:55:58] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Loaded 16 pending tile renders for world 'world' [16:55:59] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Register events [16:55:59] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Register commands [16:55:59] [Server thread/INFO] [Dynmap/dynmap]: [Dynmap] Enabled

mikeprimm commented 6 years ago

Good catch - the thing is that, along the way, forge shifted to enforcing a requirement for mod names to be purely lower case (I'm pretty sure this was as of 1.11 - which is why the backport to 1.10.2 of the block scan stuff broke). Nice job on working it out, @ChubbyPitbull! I've patched the DynmapForge v3.0 code with a fix.