Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1.16.1 Modded] Missing Textures + Rendering Crash with Botania #4639

Open
Stereo528 opened this issue Aug 18, 2020 · 7 comments
Open

[1.16.1 Modded] Missing Textures + Rendering Crash with Botania #4639

Stereo528 opened this issue Aug 18, 2020 · 7 comments

Comments

@Stereo528
Copy link
Contributor

Description of Issue

When adding OptiFine to the Modpack Enigmatica 6 you will get a crash when rendering one of the items from the mod Botania. There will also be missing models and textures from various mods, such as the Cables from Applied Energistics, Many Guide Books from mods, and possibly more.

Steps to Reproduce

  1. Add OptiFine to the Enigmatica 6 Modpack
  2. look around in JEI at missing Texture/Models, and will eventually crash when trying to render the Botania Mana Pylon

OptiFine Version

1.16.1 G2

Installation Method

Mods Folder

Forge Version

32.0.108

Other Installed Mods

https://github.com/NillerMedDild/Enigmatica6/blob/master/MODLIST.md

Log Files/Crash Reports

In Relevant Issue On The Modpack's Github: EnigmaticaModpacks/Enigmatica6#154

Prior Testing

Issue only occurs with OptiFine

Additional Information

Many Textures/Models are missing from books and cables, chat is semi-spammed with 1281 GL Error

@Stereo528
Copy link
Contributor Author

This Can be fixed with OptiForge

A likely answer to this is that Forge made some rendering changes that don't break anything with just OptiFine + Forge but when adding mods with custom models will break. A possibility is model rendering changes on OptiFine's side that a new forge rendering thing breaks.

@Stereo528
Copy link
Contributor Author

Some other mods to not that it does not work with:
Any mod that adds some sort of cable: Mekanism, Applied Energistics, most tech mods.
Mods with guide books such as: Patchouli, weirdly doesn't happen with Quark's Ancient Tome books, this might be because they do not have NBT beyond an enchant compared to that of a guide book which in basics is a written book.

@minimusubi
Copy link

Can confirm with Immersive Engineering and Botania with Optifine 1.16.1 G2 on Forge 1.16.1-32.0.108. This could be related to Forge's build 107, for which I paste the changelog below:

Build: 1.16.1-32.0.107 - Sat Aug 08 01:00:42 GMT 2020
	David Quintana:
		Move ModelRegistryEvent invocation to when the model loading is about to start.
		Freeze the ModelLoaderRegistry right after this event happens, just before model loading actually begins.
		This means ModelRegistryEvent is now the correct place to register loaders, as it was intended.
		This is a slight breaking change, but any mod that used FMLClientSetupEvent before will need to be updated regardless due to the existing race condition.

@Occhioverde
Copy link

This Can be fixed with OptiForge

I'm having the same issue with the AE2 mod (which, as you previously said, seems to be affected by this bug as well), but installing OptiForge didn't help at all. Rather the game crashed while trying to tessellate a model:

---- Minecraft Crash Report ----
// Shall we play a game?

Time: 20/08/20, 21:17
Description: Tesselating block model

java.util.ConcurrentModificationException: null
	at java.util.HashMap.computeIfAbsent(HashMap.java:1134) ~[?:?] {}
	at appeng.client.render.cablebus.CableBusBakedModel.getQuads(CableBusBakedModel.java:95) ~[?:8.0.0-beta.1] {re:classloading}
	at net.minecraft.client.renderer.BlockModelRenderer.renderModelFlat(BlockModelRenderer.java:203) ~[?:?] {re:classloading,xf:OptiFine:default}
	at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.renderModelFlat(ForgeBlockModelRenderer.java:69) ~[?:?] {re:classloading}
	at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:101) ~[?:?] {re:classloading,xf:OptiFine:default}
	at net.minecraft.client.renderer.BlockRendererDispatcher.renderModel(BlockRendererDispatcher.java:83) ~[?:?] {re:classloading,xf:OptiFine:default}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$ChunkRender$RebuildTask.func_228940_a_(ChunkRenderDispatcher.java:894) ~[?:?] {re:classloading,xf:OptiFine:default}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$ChunkRender$RebuildTask.func_225618_a_(ChunkRenderDispatcher.java:721) ~[?:?] {re:classloading,xf:OptiFine:default}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.lambda$runTask$1(ChunkRenderDispatcher.java:180) ~[?:?] {re:classloading,xf:OptiFine:default}
	at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) ~[?:?] {}
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[?:?] {}
	at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1742) ~[?:?] {}
	at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1728) ~[?:?] {}
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) ~[?:?] {}
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177) ~[?:?] {}


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134)
	at appeng.client.render.cablebus.CableBusBakedModel.getQuads(CableBusBakedModel.java:95)
	at net.minecraft.client.renderer.BlockModelRenderer.renderModelFlat(BlockModelRenderer.java:203)
	at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.renderModelFlat(ForgeBlockModelRenderer.java:69)

-- Block model being tesselated --
Details:
	Block: CableBusBlock[cable_bus]
	Block location: World: (283,73,175), Chunk: (at 11,4,15 in 17,10; contains blocks 272,0,160 to 287,255,175), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
	Using AO: false
Stacktrace:
	at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:101)

-- Block being tesselated --
Details:
	Block: CableBusBlock[cable_bus]
	Block location: World: (283,73,175), Chunk: (at 11,4,15 in 17,10; contains blocks 272,0,160 to 287,255,175), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)

-- Affected level --
Details:
	All players: 1 total; [ClientPlayerEntity['Occhioverde'/264, l='ClientLevel', x=277.30, y=70.00, z=174.34]]
	Chunk stats: Client Chunk Cache: 441, 268
	Level dimension: minecraft:overworld
	Level spawn location: World: (192,87,176), Chunk: (at 0,5,0 in 12,11; contains blocks 192,0,176 to 207,255,191), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
	Level time: 6830849 game time, 19271 day time
	Server brand: forge
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.client.world.ClientWorld.func_72914_a(ClientWorld.java:616)
	at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:1973)
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.lambda$runTask$3(ChunkRenderDispatcher.java:186)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1742)
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1728)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

-- System Details --
Details:
	Minecraft Version: 1.16.1
	Minecraft Version ID: 1.16.1
	Operating System: Linux (amd64) version 5.7.9-1-MANJARO
	Java Version: 11.0.7, Oracle Corporation
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 461416880 bytes (440 MB) / 1409286144 bytes (1344 MB) up to 2147483648 bytes (2048 MB)
	CPUs: 4
	JVM Flags: 8 total; -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
	ModLauncher: 6.1.1+74+master.966c698
	ModLauncher launch target: fmlclient
	ModLauncher naming: srg
	ModLauncher services: 
		/mixin-0.8.jar mixin PLUGINSERVICE 
		/eventbus-3.0.3-service.jar eventbus PLUGINSERVICE 
		/forge-1.16.1-32.0.108.jar object_holder_definalize PLUGINSERVICE 
		/forge-1.16.1-32.0.108.jar runtime_enum_extender PLUGINSERVICE 
		/forge-1.16.1-32.0.108.jar capability_inject_definalize PLUGINSERVICE 
		/accesstransformers-2.2.0-shadowed.jar accesstransformer PLUGINSERVICE 
		/forge-1.16.1-32.0.108.jar runtimedistcleaner PLUGINSERVICE 
		/mixin-0.8.jar mixin TRANSFORMATIONSERVICE 
		/OptiFine_1.16.1_HD_U_G2.jar OptiFine TRANSFORMATIONSERVICE 
		/forge-1.16.1-32.0.108.jar fml TRANSFORMATIONSERVICE 
		/OptiForge-MC1.16.1-0.1.9.jar FakeOptiFine TRANSFORMATIONSERVICE 
		/OptiForge-MC1.16.1-0.1.9.jar optiforge TRANSFORMATIONSERVICE 
	FML: 32.0
	Forge: net.minecraftforge:32.0.108
	FML Language Providers: 
		javafml@32.0
		minecraft@1
	Mod List: 
		forge-1.16.1-32.0.108-client.jar Minecraft {minecraft@1.16.1 DONE}
		OptiForge-MC1.16.1-0.1.9.jar OptiForge {optiforge@0.1.9 DONE}
		elevatorid-1.16.1-1.7.3.jar Elevator Mod {elevatorid@1.16.1-1.7.3 DONE}
		Mekanism-1.16.1-10.0.9.432.jar Mekanism {mekanism@10.0.9 DONE}
		forge-1.16.1-32.0.108-universal.jar Forge {forge@32.0.108 DONE}
		MekanismTools-1.16.1-10.0.9.432.jar Mekanism: Tools {mekanismtools@10.0.9 DONE}
		cc-tweaked-1.16.1-1.90.3.jar CC: Tweaked {computercraft@1.90.3 DONE}
		MekanismGenerators-1.16.1-10.0.9.432.jar Mekanism: Generators {mekanismgenerators@10.0.9 DONE}
		appliedenergistics2-8.0.0-beta.1.jar Applied Energistics 2 {appliedenergistics2@8.0.0-beta.1 DONE}
		[1.16.1]+SecurityCraft+v1.8.19.1-beta2.jar SecurityCraft {securitycraft@v1.8.19.1-beta2 DONE}
		jei-1.16.1-7.0.1.10.jar Just Enough Items {jei@7.0.1.10 DONE}
	Launched Version: 1.16.1-forge-32.0.108
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: ~~ERROR~~ IllegalStateException: Rendersystem called from wrong thread
	GL Caps: Using framebuffer using OpenGL 3.0
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'forge'
	Type: Client (map_client.txt)
	Resource Packs: 
	Current Language: English (US)
	CPU: 4x AMD A8-7410 APU with AMD Radeon R5 Graphics
	OptiFine Version: OptiFine_1.16.1_HD_U_G2
	OptiFine Build: 20200802-005745
	Render Distance Chunks: 8
	Mipmaps: 4
	Anisotropic Filtering: 1
	Antialiasing: 0
	Multitexture: false
	Shaders: null
	OpenGlVersion: 4.5 (Compatibility Profile) Mesa 20.1.3
	OpenGlRenderer: AMD KABINI (DRM 2.50.0, 5.7.9-1-MANJARO, LLVM 10.0.0)
	OpenGlVendor: X.Org
	CpuCount: 4

@AnthonyFuller
Copy link

AnthonyFuller commented Aug 21, 2020

Can confirm, installing OptiForge fixes the issue.
As said above, this is probably the reason:

Can confirm with Immersive Engineering and Botania with Optifine 1.16.1 G2 on Forge 1.16.1-32.0.108. This could be related to Forge's build 107, for which I paste the changelog below:

Build: 1.16.1-32.0.107 - Sat Aug 08 01:00:42 GMT 2020
	David Quintana:
		Move ModelRegistryEvent invocation to when the model loading is about to start.
		Freeze the ModelLoaderRegistry right after this event happens, just before model loading actually begins.
		This means ModelRegistryEvent is now the correct place to register loaders, as it was intended.
		This is a slight breaking change, but any mod that used FMLClientSetupEvent before will need to be updated regardless due to the existing race condition.

@Stereo528
Copy link
Contributor Author

This Can be fixed with OptiForge

I'm having the same issue with the AE2 mod (which, as you previously said, seems to be affected by this bug as well), but installing OptiForge didn't help at all. Rather the game crashed while trying to tessellate a model:

As you stated in the AE2 issue, "game crashed while trying to tessellate a CableBusBlock" and since I honestly don't think that there is going to be further updates for 1.16.1 because 1.16.2 is out, you might take that up with the OptiForge devs (unless you already have) since it is currently OptiForge that fixes most of the model rendering issues that are caused by OptiFine.

@Occhioverde
Copy link

OK, I think that I'll get in touch with the OptiForge developers.
In any case, do you think that this problem occours even in 1.16.2 version or that the update should solve it? I'm asking because almost all the mods that I use are up-to-date and I think that it will be more convenient to just wait until I can play that version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants