Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/20/19 in all areas

  1. 1 point
  2. There might be some built-in capability for this, in which case you can ignore me, but this wouldn't be difficult to do "from scratch," so to speak. You could fairly simply store a boolean for each chunk, whether or not it's been affected by your ore generation, and do some block replacement logic on the chunk if not (then toggle the boolean, naturally). You would only need to run this check when a chunk was loaded, so you could use the event that fires when a chunk is loaded (I'm not sure what it's called in 1.14. From a brief search, it seems to be ChunkEvent.Load, but don't quote me on that). I haven't done world generation yet, so I can't advise you on keeping runaway chunk generation from happening, but you should look into that if you haven't already.
    1 point
  3. I created a complex block model to showcase the severity of the issue some more: Seems like BufferBuilder#sortVertexData() is only ever called to re-sort translucence vertices inside ChunkRender#postRenderBlocks(), which implies that manually sorting them ourselves in baked models may not be possible, but don't quote me on that. For now, a viable workaround would be to separate the problematic model into distinct "solid" and "transparent" models, then re-combine them in a single baked model by rendering them on the correct layers. You can check the current layer being rendered by using the static MinecraftForgeClient#getRenderLayer() method. The block would need to return true for both the solid and translucent layers, of course. This workaround isn't perfect, since quads that still need to render on the translucent layer won't be "fixed", but it will mitigate the problem for many cases. If it really comes down to it, using a tile entity may have to be a last resort if a better fix can't be found. Edit: Forge's multi-layer-model system would be a perfect way of implementing this solution, and would remove the need to write a custom baked model yourself. However, as of writing this, that feature is currently inaccessible. For now, you will have to implement this yourself.
    1 point
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.