SuperMartijn642 / ItemCollectors

4 stars 4 forks source link

[Crash] Crashes when rendering item collector box with ImmediatelyFast #35

Open amyavi opened 3 months ago

amyavi commented 3 months ago

Version Info

Steps to Reproduce Theoretically this crash should happen every time you hover over a item collector with IF installed, but I've only managed to get it to happen consistently when rendering AE2's ME Formation Plane.

  1. Install AE2, Item Collectors and ImmediatelyFast
  2. Look at an item collector while rendering a ME Formation Plane's front side
  3. The game crashes

I've also created a small world that should provoke the crash as soon as you hover over the item collector: test.zip.

I believe the crash happens due to the core library's RenderUtils class utilizing the main BufferSource when rendering boxes and their outlines. To fix this, you'd need to make these functions take a BufferSource and pass WorldRenderContext#consumers() to them in onBlockHighlight.

Crash report (~/logs/latest.log) latest.log crash-2024-07-03_21.27.34-client.txt

Relevant exception:

java.lang.IllegalStateException: BufferBuilder not started
    at net.minecraft.class_287.method_22900(class_287.java:396) ~[client-intermediary.jar:?]
    at net.minecraft.class_4584.method_22912(class_4584.java:18) ~[client-intermediary.jar:?]
    at net.minecraft.class_4588.method_22918(class_4588.java:123) ~[client-intermediary.jar:?]
    at net.minecraft.class_761.method_3278(class_761.java:2522) ~[client-intermediary.jar:?]
    at net.minecraft.class_265.method_1106(class_265.java:85) ~[client-intermediary.jar:?]
    at net.minecraft.class_251.method_1052(class_251.java:181) ~[client-intermediary.jar:?]
    at net.minecraft.class_251.method_1064(class_251.java:129) ~[client-intermediary.jar:?]
    at net.minecraft.class_265.method_1104(class_265.java:85) ~[client-intermediary.jar:?]
    at net.minecraft.class_761.method_3291(class_761.java:2513) ~[client-intermediary.jar:?]
    at net.minecraft.class_761.method_22712(class_761.java:2466) ~[client-intermediary.jar:?]
    at net.minecraft.class_761.method_22710(class_761.java:1443) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.method_3188(class_757.java:1110) ~[client-intermediary.jar:?]
    at net.minecraft.class_757.method_3192(class_757.java:880) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1219) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:802) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:250) ~[minecraft-1.20.1-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.11.jar:?]
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129) ~[NewLaunch.jar:?]
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]