Open tonymccallie opened 4 years ago
How does your nether look?
Idk if it's just mine that's super messed up but check this out:
As of writing this, there is currently no PR that introduces these blocks. However, if you really want 1.16 support, you've got some other alternatives in the meanwhile. There are two extensions to Minecraft-Overviewer (that I am aware of) which allow it to render block models and thereby support new blocks automatically.
See https://github.com/DragonDev1906/Minecraft-Overviewer/tree/modernGLRender. Has an extra dependency on modernGL
which might take some effort to get running depending on your setup. It is quite efficient and the results look very good. Note, however, that some blocks are not yet supported (namely multipart blocks like fences and walls).
(Also note that you will have to merge #1759 to support 1.16)
See https://github.com/irath96/Minecraft-Overviewer/tree/block-model. Has no extra dependencies, but takes about 10–20 seconds longer than @DragonDev1906's version to generate textures. Also supports warped/crimson signs and has support for multipart blocks (fences, walls, etc). (Already has #1759 merged)
I'm already on your branch (thanks EVER so much!). What's the update path? I did a git pull and ran python3 setup.py build
but it didn't seem to fix anything? Do I need to remove the previous build?
@tonymccallie Right now it only looks for block models when a .jar file is provided in the texturepath
configuration option. Did you set this option? If yes, what version did you specify?
I did not set that option at all. My config file is pretty simple:
worlds["shire"] = "/Users/redacted/Library/Application Support/minecraft/saves/world"
renders["shireoverworld"] = {
"world": "shire",
"title": "ShireCraft",
"rendermode": lighting,
"dimension": "overworld",
}
outputdir = "/Users/redacted/Desktop/mc/mcmap"```
@tonymccallie Since you seem to be using macOS as well, this should be the correct path for you (add this line to your config file):
texturepath = "/Users/{your username here}/Library/Application Support/minecraft/versions/20w19a/20w19a.jar"
(or use any other 1.13+ Minecraft version you want)
Thanks, I'm running with --forcerender now. I'll let you know when it's done in an hour or two.
@tonymccallie Okay, thanks 👍 By the way, you can already tell from the output at the very beginning whether things are likely going to work. It should look something like this:
…
2020-05-12 19:14:42 Generating textures...
2020-05-12 19:14:50 Rendered 1540 blocks from block models
2020-05-12 19:15:05 Preprocessing...
…
If you see that "rendered … blocks from block models" line, things are probably going to work fine.
well.. dang..
2020-05-12 11:11:40 Welcome to Minecraft Overviewer!
2020-05-12 11:11:40 Forcerender mode activated. ALL tiles will be rendered.
2020-05-12 11:11:41 Generating textures...
2020-05-12 11:11:53 Preprocessing...
2020-05-12 11:12:36 Rendering 86689 total tiles.
@tonymccallie Are you on the correct branch? Please make sure you are on the block-model
branch.
ah, that was it.. building again now. Thanks for you help.
2020-05-12 11:39:07 Welcome to Minecraft Overviewer!
2020-05-12 11:39:07 Forcerender mode activated. ALL tiles will be rendered.
2020-05-12 11:39:07 Generating textures...
2020-05-12 11:39:14 Rendered 1540 blocks from block models
uh-oh.. getting new errors
2020-05-12 11:39:59 Rendering 86689 total tiles.
ERROR:root:Could not render chunk 17,-19 for some reason. This is likely a render primitive option error. ] 0 0.00t/s eta ------
ERROR:root:Full error was:
Traceback (most recent call last):
File "/Users/{redacted}/Desktop/MC/dev/Minecraft-Overviewer/overviewer_core/tileset.py", line 1091, in _render_rendertile
c_overviewer.render_loop(
RuntimeError: you must call Textures.generate()```
@tonymccallie Have you run python setup.py build
on the new branch already?
python3, yes
no errors there
ok, so I re-cloned and pulled that branch from your fork. Rebuilt. Same errors.
I also tried and am getting the same RuntimeError Btw thank you! :D
@tonymccallie @crlang44 Thanks for your feedback -- it seems like this is due to Minecraft-Overviewer's weird multi-threading system (blocks are rendered once on the mainthread and then again on each worker thread). I've just pushed a commit that should work around this, please let me know whether you're still getting the RuntimeError.
2020-05-12 12:21:46 Welcome to Minecraft Overviewer!
2020-05-12 12:21:46 Forcerender mode activated. ALL tiles will be rendered.
2020-05-12 12:21:46 Generating textures...
2020-05-12 12:21:53 Rendered 1540 blocks from block models
2020-05-12 12:22:05 Preprocessing...
2020-05-12 12:22:53 Rendering 86689 total tiles.
0% [ ] 210 4.39t/s eta 05h 28m 02s
Looks promising! Didn't get this far before error last time.
Thanks so much for working on this!
Seems like it can work well with the new blocks. However I'm still having issues with the nether render. Looks like glowstone and some other blocks cause these column artifacts.
This is a more zoomed out image:
Anybody else have an issue with nether renders?
@iRath96 Mine finally finished running. Unfortunately, it still didn't get the warped nylium or other new blocks.. the only new one I see is the twisting vines and the shroom lights. Strange that it would only pick up on some of the new ones?
@crlang44 I haven't tried the nether yet.
@tonymccallie Thanks for letting me know. Can you give me some more background on your setup? In particular, which python version and OS version are you using? What version of Minecraft are you using for texturepath
? What version of Minecraft is your world? Are you using any resource packs?
@iRath96 sure thing! macOS 10.15.4
$ python3 -V
Python 3.8.2
my config
worlds["shire"] = "/Users/{redacted}/Library/Application Support/minecraft/saves/world"
renders["shireoverworld"] = {
"world": "shire",
"title": "ShireCraft",
"rendermode": lighting,
"dimension": "overworld",
}
outputdir = "/Users/{redacted}/Desktop/mc/mcmap"
texturepath = "/Users/{redacted}/Library/Application Support/minecraft/versions/20w19a/20w19a.jar"
My world is running 20w19a on a server. I'm downloading the world directory into my local folder to process it (and for backup)
My local client uses resource packs, but I didn't think Overviewer picked up on those unless specified?
@tonymccallie It's hard to say what's going on here. I am running the same Python version, same OS, but all blocks render correctly for me. Could you give my test map a try (https://downloads.sind.besonders.cool/testblocks.zip) and see if all blocks render correctly there? (use the same configuration you're already using)
If they do not render correctly, could you try without the "rendermode": lighting
line?
@crlang44 I've added minecraft:nether_gold_ore
and minecraft:ancient_debris
to the list of skipped blocks in the nether renderer now, which reduces these columns by quite a bit.
This means you will have to re-run python setup.py build
.
Before:
After:
Notice, however, that we cannot get rid of all obstructions. Since the nether has caves now, the nether renderer cannot always determine what the correct ground level should be. This would require a rewrite of the nether renderer.
With "rendermode": lighting
Without:
Nevermind, actually it seems to be a problem with the lighting model. I'll take a look at this tomorrow.
spawn.zip Actually.. 0,-1 had more of those blocks in it, so I'm uploading that one.
Was simpler than I though. Just pushed a fix.
(Nice map by the way 👍 )
I just ran the testblocks with lighting and it looked great!
Running my full map.
It will be here when it's complete in about 1.5-2 hours. ShireCraft Map
Thanks so much for all your help!
Been trying for the last few hours to compile iRath96's code for windows but keep running into issues. If anyone has the version precompiled and could send it to me that would be fantastic!
Newbie question: The main download page of overviewer includes the overviewer.exe file. But iRath96's branch is only code. How do I use it? I'm running Win10. I googled it and I get to a lot of pages saying that I should install a buch of things. What is the correct way?
Update: I installed python 3.8.3 and just tried using "python overviewer.py" instead of "overviewer.exe" and I got the following:
C:\Users\Ezequiel\Documents\Minecraft\Minecraft-Overviewer-block-model>python overviewer.py --config=cfg_test.txt
You need to compile the c_overviewer module to run Minecraft Overviewer.
Run 'python setup.py build', or see the README for details.
C:\Users\Ezequiel\Documents\Minecraft\Minecraft-Overviewer-block-model>python setup.py build
Traceback (most recent call last):
File "setup.py", line 28, in <module>
import numpy
ModuleNotFoundError: No module named 'numpy'
@kiel814 building the overviewer from source is documented here http://docs.overviewer.org/en/latest/building/#windows-build-instructions
I got stuck at the prerequisites, where it says:
The extensions can be installed via:
c:\python37\python.exe -m pip -U numpy pillow
I get the following error:
C:\Python38-32>python.exe -m pip -U numpy pillow
Usage:
C:\Python38-32\python.exe -m pip <command> [options]
no such option: -U
I tried to move on without that but when I use the developer command prompt:
C:\....\Minecraft-Overviewer-block-model>python setup.py build
Traceback (most recent call last):
File "setup.py", line 28, in <module>
import numpy
ModuleNotFoundError: No module named 'numpy'
There is a second set of instructions but those require me to go to another page and following other previous instructions and install more stuff.
I really appreciate people working on this tool so other people like me can use it. But I wish you would just include the executable in the download as is the case with the main branch.
I haven't tried it, but python.exe -m pip install numpy pillow
should work.
Thanks... I got a few steps ahead.
I was able to install numpy through:
C:\Python38-32>python.exe -m pip install numpy pillow
Then, from the Developer Command Prompt for VS 2019, I was able to compile the code, after copying an additional library that was not mentioned in the steps (ImagingUtils.h from the pillow sources).
Here are the last lines of the compilation result:
LINK : warning LNK4044: unrecognized option '/DWINVER=0x060'; ignored
LINK : warning LNK4044: unrecognized option '/D_WIN32_WINNT=0x060'; ignored
Creating library build\temp.win32-3.8\Release\overviewer_core/src\c_overviewer.cp38-win32.lib and object build\temp.win32-3.8\Release\overviewer_core/src\c_overviewer.cp38-win32.exp
Generating code
Finished generating code
running build_scripts
creating build\scripts-3.8
copying and adjusting overviewer.py -> build\scripts-3.8
Build Complete
According to the instructions, there should be a file named "c_overviewer.pyd" in the current working directory. But there is not. There are only 2 identical pyd files and they are located in: overviewer_core\c_overviewer.cp38-win32.pyd build\lib.win32-3.8\overviewer_core\c_overviewer.cp38-win32.pyd
So what now? How do I use them. I did a quick google search, and PYD files are not executables, they are like DLLs.
Any help? Thanks!
Qa'pla! ... I mean... I figured it out!
I had to download Python 3.7 instead of 3.8.
I also downloaded version x86 of both Python and Overviewer.
After compiling, I took the file from:
overviewer_core\c_overviewer.cp38-win32.pyd
And replaced the file with the same name in the _overviewercore folder within the downloaded version of overviewer.
Whew!
Thanks for all the help.
I'm running iRath86's fork that hasn't been merged in yet #1759 because my server is running on snapshot 20w19a. He fixed the issue I was having with chunks not rendering, but I'm still not seeing the new 1.16 blocks like Warped Nylium. Is there a way I can add a resource pack for that?
Thanks for all you do.
(example given.. the black area should be a mix of warped nylium and crimson nylium)