mega12345mega / NBT-Editor

Edit items, blocks, and entities in-game.
MIT License
46 stars 14 forks source link

Incompatible with mod vivecraft - crashes upon startup #34

Closed TahoeBennie closed 1 year ago

TahoeBennie commented 1 year ago

This mod seems to break vivecraft's functionality of adding the vr mode button from what I can depict with the crash report. It crashes upon loading before it gets too far into loading the game. It breaks when I use it alongside vivecraft, the mod version of it, not the installation. Here is the immidiately useful section of the crash report but I will provide the full thing too:

java.lang.ClassCastException: class com.luneruniverse.minecraft.mod.nbteditor.screens.CreativeTab$CreativeTabGroup cannot be cast to class net.minecraft.class_339 (com.luneruniverse.minecraft.mod.nbteditor.screens.CreativeTab$CreativeTabGroup and net.minecraft.class_339 are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @6a41eaa2)
    at net.minecraft.class_442.addVRModeButton(class_442.java:547)
    at net.minecraft.class_442.handler$zlh000$initFullGame(class_442.java:538)
    at net.minecraft.class_442.method_2249(class_442.java:165)
    at net.minecraft.class_442.method_25426(class_442.java:130)
    at net.minecraft.class_437.method_41843(class_437.java:392)
    at net.minecraft.class_437.method_25423(class_437.java:383)
    at net.minecraft.class_310.method_1507(class_310.java:1049)
    at net.minecraft.class_310.<init>(class_310.java:673)
    at net.minecraft.client.main.Main.method_44604(Main.java:205)
    at net.minecraft.client.main.Main.main(Main.java:51)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:71)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Render thread
Stacktrace:
    at net.minecraft.class_442.addVRModeButton(class_442.java:547)
    at net.minecraft.class_442.handler$zlh000$initFullGame(class_442.java:538)
    at net.minecraft.class_442.method_2249(class_442.java:165)
    at net.minecraft.class_442.method_25426(class_442.java:130)
    at net.minecraft.class_437.method_41843(class_437.java:392)
    at net.minecraft.class_437.method_25423(class_437.java:383)
    at net.minecraft.class_310.method_1507(class_310.java:1049)
    at net.minecraft.class_310.<init>(class_310.java:673)

Line 366 in the following full log is where this happens. https://mclo.gs/MmjJTzy

mega12345mega commented 1 year ago

Looking through Vivecraft's source code, I think I found the issue. It appears the mod assumes that the first element on the title screen is a button. However, my mod adds in the CreativeTabGroup so that users the of new API can add the tabs on any screen. Since the CreativeTabGroup isn't a button, there is an error. Apparently, this button is only used for positioning warnings.

I'm not sure what the best way of fixing this is, but it shouldn't be that difficult. I should have it working in the next update.

I don't really know much about the development of Vivecraft, but you might want to submit an issue over there as well, since this could cause issues with any mod that modifies the title screen.

mega12345mega commented 1 year ago

I've just released v1.11.0, which fixes this!