[Fabric 1.19] Bug with tags
Nezarbek opened this issue · 5 comments
When installed alongside BetterEnd, the game will crash when attempting to create a new world.
---- Minecraft Crash Report ----
// Surprise! Haha. Well, this is awkward.
Time: 6/15/22, 8:07 PM
Description: mouseClicked event handler
java.lang.NullPointerException: Cannot invoke "java.util.List.add(Object)" because the return value of "java.util.Map.get(Object)" is null
at net.minecraft.class_3503.md5ec24a$lambda$loadTagInject$1$1(class_3503.java:1055)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at net.minecraft.class_3503.handler$zoa000$loadTagInject(class_3503.java:1053)
at net.minecraft.class_3503.method_33174(class_3503.java:68)
at net.minecraft.class_3503.method_33176(class_3503.java:163)
at net.minecraft.class_3505.method_33181(class_3505.java:64)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
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_437.method_25412(class_437.java:494)
-- Affected screen --
Details:
Screen name: net.minecraft.class_442
Stacktrace:
at net.minecraft.class_437.method_25412(class_437.java:494)
at net.minecraft.class_312.method_1601(class_312.java:94)
at net.minecraft.class_312.method_22686(class_312.java:165)
at net.minecraft.class_1255.execute(class_1255.java:103)
at net.minecraft.class_312.method_22684(class_312.java:165)
at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
at org.lwjgl.system.JNI.invokeV(Native Method)
at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3403)
at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:204)
at net.minecraft.class_1041.method_15998(class_1041.java:310)
at net.minecraft.class_310.method_1523(class_310.java:1171)
at net.minecraft.class_310.method_1514(class_310.java:734)
at net.minecraft.client.main.Main.main(Main.java:237)
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)
-- Last reload --
Details:
Reload number: 1
Reload reason: initial
Finished: Yes
Packs: Default, Fabric Mods
-- System Details --
Details:
Minecraft Version: 1.19
Minecraft Version ID: 1.19
Operating System: Windows 10 (amd64) version 10.0
Java Version: 17.0.3, Microsoft
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft
Memory: 987278848 bytes (941 MiB) / 2644508672 bytes (2522 MiB) up to 4294967296 bytes (4096 MiB)
CPUs: 16
Processor Vendor: AuthenticAMD
Processor Name: AMD Ryzen 7 5800X 8-Core Processor
Identifier: AuthenticAMD Family 25 Model 33 Stepping 0
Microarchitecture: unknown
Frequency (GHz): 3.80
Number of physical packages: 1
Number of physical CPUs: 8
Number of logical CPUs: 16
Graphics card #0 name: AMD Radeon RX 6800 XT
Graphics card #0 vendor: Advanced Micro Devices, Inc. (0x1002)
Graphics card #0 VRAM (MB): 4095.00
Graphics card #0 deviceId: 0x73bf
Graphics card #0 versionInfo: DriverVersion=30.0.13023.4001
Memory slot #0 capacity (MB): 16384.00
Memory slot #0 clockSpeed (GHz): 3.60
Memory slot #0 type: DDR4
Memory slot #1 capacity (MB): 16384.00
Memory slot #1 clockSpeed (GHz): 3.60
Memory slot #1 type: DDR4
Virtual memory max (MB): 37553.03
Virtual memory used (MB): 24358.80
Swap memory total (MB): 4864.00
Swap memory used (MB): 0.00
JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx4096m -Xms256m
Fabric Mods:
bclib: BCLib 2.0.5
betterend: Better End 2.0.2
fabric: Fabric API 0.56.0+1.19
fabric-api-base: Fabric API Base 0.4.9+e62f51a3a9
fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.7+9ff28f40a9
fabric-biome-api-v1: Fabric Biome API (v1) 9.0.13+b2a4a624a9
fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.18+9ff28f40a9
fabric-command-api-v1: Fabric Command API (v1) 1.2.5+f71b366fa9
fabric-command-api-v2: Fabric Command API (v2) 2.1.1+cda9839ba9
fabric-commands-v0: Fabric Commands (v0) 0.2.22+df3654b3a9
fabric-containers-v0: Fabric Containers (v0) 0.1.27+df3654b3a9
fabric-content-registries-v0: Fabric Content Registries (v0) 3.1.0+4a3ec384a9
fabric-convention-tags-v1: Fabric Convention Tags 1.0.8+37622d24a9
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.3+bd0a0d4aa9
fabric-data-generation-api-v1: Fabric Data Generation API (v1) 5.0.1+2a5b9210a9
fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.27+72da3b3da9
fabric-entity-events-v1: Fabric Entity Events (v1) 1.4.16+9ff28f40a9
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.26+9ff28f40a9
fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.25+df3654b3a9
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.19+18990361a9
fabric-item-api-v1: Fabric Item API (v1) 1.5.4+767db26ea9
fabric-item-groups-v0: Fabric Item Groups (v0) 0.3.23+9ff28f40a9
fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.18+9ff28f40a9
fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.16+df3654b3a9
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.1.0+33fbc738a9
fabric-loot-api-v2: Fabric Loot API (v2) 1.0.1+9e7660c6a9
fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.1+9e7660c6a9
fabric-message-api-v1: Fabric Message API (v1) 1.0.1+513f4a59a9
fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.8+33fbc738a9
fabric-models-v0: Fabric Models (v0) 0.3.15+9ff28f40a9
fabric-networking-api-v1: Fabric Networking API (v1) 1.0.27+7fe97409a9
fabric-networking-v0: Fabric Networking (v0) 0.3.14+df3654b3a9
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 4.0.5+9ff28f40a9
fabric-particles-v1: Fabric Particles (v1) 1.0.8+dc39553aa9
fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.9.16+92cf9a3ea9
fabric-renderer-api-v1: Fabric Renderer API (v1) 1.0.8+9ff28f40a9
fabric-renderer-indigo: Fabric Renderer - Indigo 0.6.6+9ff28f40a9
fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.18+df3654b3a9
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.12+9ff28f40a9
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.5+9ff28f40a9
fabric-rendering-v0: Fabric Rendering (v0) 1.1.20+df3654b3a9
fabric-rendering-v1: Fabric Rendering (v1) 1.10.14+9ff28f40a9
fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.0.9+e62f51a3a9
fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.5.3+9e7660c6a9
fabric-screen-api-v1: Fabric Screen API (v1) 1.0.23+9ff28f40a9
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.2.6+9ff28f40a9
fabric-textures-v0: Fabric Textures (v0) 1.0.18+9ff28f40a9
fabric-transfer-api-v1: Fabric Transfer API (v1) 2.0.9+e62f51a3a9
fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 1.1.1+9e7660c6a9
fabricloader: Fabric Loader 0.14.7
java: OpenJDK 64-Bit Server VM 17
minecraft: Minecraft 1.19
thonkutil: ThonkUtil 2.15.2+1.19
thonkutil-base: ThonkUtil Base 1.13.1+575521ba57
thonkutil-capes-v1: ThonkUtil Capes (v1) 1.4.0+82e731da57
thonkutil-coords-v1: ThonkUtil Coords (v1) 1.1.1+8ff533c957
thonkutil-customization-v1: ThonkUtil Customization (v1) 1.1.1+8ff533c957
thonkutil-legacy: ThonkUtil Legacy 1.1.1+5d4263f557
thonkutil-modchecker-v1: ThonkUtil ModChecker (v1) 1.1.1+8ff533c957
thonkutil-potions-v0: ThonkUtil Potions (v0) 1.5.1+8ff533c957
thonkutil-titlescreen-v1: ThonkUtil TitleScreen (v1) 1.2.1+8ff533c957
thonkutil-trades-v1: ThonkUtil Trades (v1) 1.2.1+8ff533c957
Launched Version: fabric-loader-0.14.7-1.19
Backend library: LWJGL version 3.3.1 SNAPSHOT
Backend API: AMD Radeon RX 6800 XT GL version 3.2.14761 Core Profile Forward-Compatible Context 21.30.23.04 30.0.13023.4001, ATI Technologies Inc.
Window size: 3440x1440
GL Caps: Using framebuffer using OpenGL 3.2
GL debug messages:
Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'fabric'
Type: Client (map_client.txt)
Graphics mode: fancy
Resource Packs: Fabric Mods
Current Language: English (US)
CPU: 16x AMD Ryzen 7 5800X 8-Core Processor
We are tracking this issue for BetterEnd here:
quiqueck/BetterEnd/issues/10
As far as I can tell the issue is new, since we added support for trinkets, and as far as I can tell this line triggers the exception:
I am currently not sure if we are doing something wrong that is tripping your Mixin. So any insight you might have could help me to fix the potentially bad behaviour from BetterEnd.
I did some more testing, and I am fairly convinced that the above line is the source issue, as it is not guaranteed, that the TagMap stored in b
actually contains a key for an item from the ITEMS-registry and thus can return null
.
BetterEnd is now surfacing the issue, as we added the trinkets:chest/cape
tag for our elytras.
I can reproduce the issue in a Minecraft instance with jsut FAPI and ThonkUtils installed. As soon as I add the attached test-Datapack to the world (which is just defining the trinkets:chest/cape
slot without adding any items to it), the same issue is generated.
I am closing our issue now, but If you find anything that suggest that we need to fix something, please let me know. :)
I tested it with Better Animals and BetterEnd, and everything seems to work! Also nothing in the log... I would say this issue is fixed :)