Some blocks are not rendered (mostly blockentities) #122
Wolf2323 posted onGitHub
I've noticed that the decorated_pot is not rendering at all in the prismarine-web-client.
I'm not sure how difficult it would be to fix this issue, but I am considering attempting to fix it myself. Could you please look into this issue or provide some guidance on how to resolve it? Any advice or pointers would be greatly appreciated.
Thank you!
I'm going to patch minecraft-assets by adding all missing models from Bluemap repository (including beds, pots, heads and maybe even basic banners). I'm completely out of time right now, it would be insane if you could help with this it one! The preferable way here is adding them to the source repository of minecraft-assets
Edit: I don't see pots in https://github.com/BlueMap-Minecraft/BlueMap/tree/master/BlueMapCore/src/main/resourceExtensions/mc1_20_3/assets/minecraft need to look wether bluemap supports rendering them or not and why we don't support rendering them. Maybe the rendering is a bit tricker than I thought initially as the model must be computed on the fly?
I found this issue: https://github.com/BlueMap-Minecraft/BlueMap/issues/145 And there is a live demo where a lot of the things are working from TyBraniff. Here is the repo: https://github.com/TyBraniff/BlueMap
Who ever is faster in actually adding the missing models to minecraft-assets now ;)
I found this issue: BlueMap-Minecraft/BlueMap#145
Thank you so much! You already saved me a lot of time! I see the files format is compatible and can easily be added here.
Who ever is faster in actually adding the missing models to minecraft-assets now ;)
definitely not me, if you could bring the files it would be insane!
Okay, updated test, so these blocks are not rendered currently:
Banners:
- black_banner
- blue_banner
- brown_banner
- cyan_banner
- gray_banner
- green_banner
- light_blue_banner
- light_gray_banner
- lime_banner
- magenta_banner
- orange_banner
- pink_banner
- purple_banner
- red_banner
- white_banner
- yellow_banner
Wall Banners:
- black_wall_banner
- blue_wall_banner
- brown_wall_banner
- cyan_wall_banner
- gray_wall_banner
- green_wall_banner
- light_blue_wall_banner
- light_gray_wall_banner
- lime_wall_banner
- magenta_wall_banner
- orange_wall_banner
- pink_wall_banner
- purple_wall_banner
- red_wall_banner
- white_wall_banner
- yellow_wall_banner
Candles:
- black_candle
- blue_candle
- brown_candle
- cyan_candle
- gray_candle
- green_candle
- light_blue_candle
- light_gray_candle
- lime_candle
- magenta_candle
- orange_candle
- pink_candle
- purple_candle
- red_candle
- white_candle
- yellow_candle
- candle
Heads (easy):
- creeper_head
- dragon_head
- piglin_head
- player_head
- skeleton_skull
- wither_skeleton_skull
- zombie_head
Wall Heads (easy):
- creeper_wall_head
- dragon_wall_head
- piglin_wall_head
- player_wall_head
- skeleton_wall_skull
- wither_skeleton_wall_skull
- zombie_wall_head
Beds (easy):
- black_bed
- blue_bed
- brown_bed
- cyan_bed
- gray_bed
- green_bed
- light_blue_bed
- light_gray_bed
- lime_bed
- magenta_bed
- orange_bed
- pink_bed
- purple_bed
- red_bed
- white_bed
- yellow_bed
Other:
- bubble_column
- end_gateway
- end_portal
- pink_petals
- powder_snow_cauldron
- repeater (bug in default state, needs investigation)
- sea_pickle
- snow (the same)
- structure_void (?)
- turtle_egg
- water_cauldron - not sure
I am a bit confused. Initially, I thought I was adding the missing blocks to minecraft-assets
, but now it seems like I need to add them to the code you referenced. As I am not very experienced with this project, could you please provide more detailed instructions on what exactly needs to be done and where I should make these additions?
Thank you.
Initially, I thought I was adding the missing blocks to
minecraft-assets
If you know how to do this go ahead, but I didn't receive a message from maintainers and am not sure whether these assets should be added to https://github.com/PrismarineJS/minecraft-jar-extractor or somewhere else. On the other hand I already have the code that adds additional block states / models. So we can just merge the files back to original repos once we figure out how to do this. here is a basic contribution guide
- add handlers there
- add states / models here (better to read states / models from json files, it was a terrible idea to inline them in the code). Also, note that there is no need to care for <1.13 versions.
Then run pnpm tsx prismarine-viewer/viewer/prepare/generateTextures.ts
to generate new models (can replace there mcAssets.versions
with specific version like ['1.20.2'] for faster process.
And run pnpm run-playground
to test specific blocks render.
I promise I will merge asap once it's done!
Thanks for coming back and happy coding!
In this branch https://github.com/ResilientGroup/prismarine-web-client/tree/decorated_pot i started adding the decorated pot, but i already tried a lot, and now the texture is still missing. Can you help me how to continue?
@Wolf2323 Great start, but please open a PR so I can work on your changes (or you can try adding textures yourself as I described below).
You don't see textures because you don't add them (to atlas). I read them like so:
You can simplify everything by just reading the needed texture and adding it like so:
in case of decorated pot it should be easy. Just ensure that the final texture name in the model of the block matches the name of the key you use in generatedImageTextures
please let me know if it works for you