[Legacy] GeckoLib Fabric

[Legacy] GeckoLib Fabric

3M Downloads

Crash With Different Models & Transition Ticks

Aelpecyem opened this issue ยท 4 comments

commented

Having one entity type with multiple models and animations depending on circumstance (e.g. mob variants) crashes the game, given that the animation controller is set to have transitionLengthTicks > 0.

I assume this has something to do with how the animations are applied, since it seems to apply the wrong animation to the wrong model.

---- Minecraft Crash Report ----
// Sorry :(

Time: 05.02.21, 19:12
Description: Rendering entity in world

java.lang.NullPointerException: Rendering entity in world
	at software.bernie.geckolib3.core.controller.AnimationController.process(AnimationController.java:432)
	at software.bernie.geckolib3.core.processor.AnimationProcessor.tickAnimation(AnimationProcessor.java:65)
	at software.bernie.geckolib3.model.AnimatedGeoModel.setLivingAnimations(AnimatedGeoModel.java:71)
	at software.bernie.geckolib3.model.AnimatedGeoModel.setLivingAnimations(AnimatedGeoModel.java:28)
	at software.bernie.geckolib3.renderer.geo.GeoEntityRenderer.render(GeoEntityRenderer.java:139)
	at software.bernie.geckolib3.renderer.geo.GeoEntityRenderer.render(GeoEntityRenderer.java:38)
	at net.minecraft.client.render.entity.EntityRenderDispatcher.render(EntityRenderDispatcher.java:255)
	at net.minecraft.client.render.WorldRenderer.renderEntity(WorldRenderer.java:1261)
	at net.minecraft.client.render.WorldRenderer.render(WorldRenderer.java:1246)
	at net.minecraft.client.render.GameRenderer.renderWorld(GameRenderer.java:624)
	at net.minecraft.client.render.GameRenderer.render(GameRenderer.java:424)
	at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1007)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:624)
	at net.minecraft.client.main.Main.main(Main.java:187)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
	at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:139)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27)
	at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)


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

-- Head --
Thread: Render thread
Stacktrace:
	at software.bernie.geckolib3.core.controller.AnimationController.process(AnimationController.java:432)
	at software.bernie.geckolib3.core.processor.AnimationProcessor.tickAnimation(AnimationProcessor.java:65)
	at software.bernie.geckolib3.model.AnimatedGeoModel.setLivingAnimations(AnimatedGeoModel.java:71)
	at software.bernie.geckolib3.model.AnimatedGeoModel.setLivingAnimations(AnimatedGeoModel.java:28)
	at software.bernie.geckolib3.renderer.geo.GeoEntityRenderer.render(GeoEntityRenderer.java:139)
	at software.bernie.geckolib3.renderer.geo.GeoEntityRenderer.render(GeoEntityRenderer.java:38)

-- Entity being rendered --
Details:
	Entity Type: miskatonicmysteries:phantasmal_glider (com.miskatonicmysteries.common.entity.PhantasmaEntity)
	Entity ID: 413
	Entity Name: entity.miskatonicmysteries.phantasmal_glider
	Entity's Exact location: -300.61, 69.18, 56.57
	Entity's Block location: World: (-301,69,56), Chunk: (at 3,4,8 in -19,3; contains blocks -304,0,48 to -289,255,63), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
	Entity's Momentum: 0.00, 0.06, 0.00
	Entity's Passengers: []
	Entity's Vehicle: ~~ERROR~~ NullPointerException: null

-- Renderer details --
Details:
	Assigned renderer: com.miskatonicmysteries.client.render.entity.phantasma.PhantasmaRenderer@59683eaf
	Location: -7.51,1.01,-1.73 - World: (-8,1,-2), Chunk: (at 8,0,14 in -1,-1; contains blocks -16,0,-16 to -1,255,-1), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
	Rotation: 180.06424
	Delta: 0.7800092
Stacktrace:
	at net.minecraft.client.render.entity.EntityRenderDispatcher.render(EntityRenderDispatcher.java:255)
	at net.minecraft.client.render.WorldRenderer.renderEntity(WorldRenderer.java:1261)
	at net.minecraft.client.render.WorldRenderer.render(WorldRenderer.java:1246)
	at net.minecraft.client.render.GameRenderer.renderWorld(GameRenderer.java:624)

-- Affected level --
Details:
	All players: 1 total; [ClientPlayerEntity['Player148'/234, l='ClientLevel', x=-293.10, y=66.53, z=58.29]]
	Chunk stats: Client Chunk Cache: 169, 81
	Level dimension: minecraft:overworld
	Level spawn location: World: (-224,66,16), Chunk: (at 0,4,0 in -14,1; contains blocks -224,0,16 to -209,255,31), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
	Level time: 203888 game time, 10848 day time
	Server brand: fabric
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.client.world.ClientWorld.addDetailsToCrashReport(ClientWorld.java:454)
	at net.minecraft.client.MinecraftClient.addDetailsToCrashReport(MinecraftClient.java:2166)
	at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:640)
	at net.minecraft.client.main.Main.main(Main.java:187)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
	at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:139)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27)
	at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)

-- System Details --
Details:
	Minecraft Version: 1.16.4
	Minecraft Version ID: 1.16.4
	Operating System: Mac OS X (x86_64) version 10.13.6
	Java Version: 11.0.7, JetBrains s.r.o.
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), JetBrains s.r.o.
	Memory: 540538880 bytes (515 MB) / 1690304512 bytes (1612 MB) up to 4294967296 bytes (4096 MB)
	CPUs: 8
	JVM Flags: 0 total; 
	Patchouli open book context: n/a
	Fabric Mods: 
		autoconfig1u: Auto Config v1 Updated 3.3.1
		bannerpp: Banner++ 2.0.2+mc.1.16.3
		cardinal-components-base: Cardinal Components API (base) 2.5.0
		cardinal-components-entity: Cardinal Components API (entities) 2.5.0
		cloth-basic-math: Cloth Basic Math 0.5.1
		cloth-client-events-v0: Cloth Client Events v0 1.4.5
		cloth-config2: Cloth Config v4 4.8.3
		fabric: Fabric API 0.29.4+1.16
		fabric-api-base: Fabric API Base 0.2.0+daa38b3d7d
		fabric-api-lookup-api-v1: Fabric Api Lookup API (v1) 0.1.0+5477c4303a
		fabric-biome-api-v1: Fabric Biome API (v1) 3.1.1+ca58154a7d
		fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+ca58154a7d
		fabric-command-api-v1: Fabric Command API (v1) 1.0.10+ca58154a7d
		fabric-commands-v0: Fabric Commands (v0) 0.2.2+ca58154a7d
		fabric-containers-v0: Fabric Containers (v0) 0.1.10+ca58154a7d
		fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.1+ca58154a7d
		fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.3+ca58154a7d
		fabric-dimensions-v1: fabric-dimensions-v1 2.0.2+ca58154a7d
		fabric-entity-events-v1: Fabric Entity Events (v1) 1.0.3+ca58154a7d
		fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.2+ca58154a7d
		fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+ca58154a7d
		fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.6+ca58154a7d
		fabric-item-api-v1: Fabric Item API (v1) 1.2.1+ca58154a7d
		fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.3+ca58154a7d
		fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.2+ca58154a7d
		fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.1+ca58154a7d
		fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.1+ca58154a7d
		fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.2+ca58154a7d
		fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+ca58154a7d
		fabric-models-v0: Fabric Models (v0) 0.2.1+ca58154a7d
		fabric-networking-api-v1: Fabric Networking API (v1) 1.0.1+ca58154a7d
		fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.8+ca58154a7d
		fabric-networking-v0: Fabric Networking (v0) 0.3.2+ca58154a7d
		fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.3+ca58154a7d
		fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.2+ca58154a7d
		fabric-particles-v1: Fabric Particles (v1) 0.2.4+ca58154a7d
		fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.4+ca58154a7d
		fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.1+ca58154a7d
		fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.4+ca58154a7d
		fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.2.1+ca58154a7d
		fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+ca58154a7d
		fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+ca58154a7d
		fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+ca58154a7d
		fabric-rendering-v1: Fabric Rendering (v1) 1.5.1+ca58154a7d
		fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.2+ca58154a7d
		fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.1+ca58154a7d
		fabric-structure-api-v1: Fabric Structure API (v1) 1.1.4+ca58154a7d
		fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.1+ca58154a7d
		fabric-textures-v0: Fabric Textures (v0) 1.0.6+ca58154a7d
		fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.6+ca58154a7d
		fabricloader: Fabric Loader 0.11.1
		fasttransferlib: Fast Transfer Lib 0.2.1
		fiber: fiber 0.23.0-2
		geckolib3: Geckolib 3.0.19
		java: OpenJDK 64-Bit Server VM 11
		minecraft: Minecraft 1.16.4
		miskatonicmysteries: Miskatonic Mysteries 0.0.1
		modmenu: Mod Menu 1.14.6+build.31
		patchouli: Patchouli 1.16.4-48-FABRIC
		roughlyenoughitems: Roughly Enough Items 5.8.10
		roughlyenoughitems-api: REI (API) 5.8.10
		roughlyenoughitems-default-plugin: REI (Default Plugin) 5.8.10
		roughlyenoughitems-runtime: REI (Runtime) 5.8.10
		satin: Satin 1.5.1
		team_reborn_energy: Energy 0.1.1
		trinkets: Trinkets 2.6.7
	Launched Version: Fabric
	Backend library: LWJGL version 3.2.1 build 12
	Backend API: Intel HD Graphics 4000 OpenGL Engine GL version 2.1 INTEL-10.36.32, Intel Inc.
	GL Caps: Using framebuffer using ARB_framebuffer_object extension
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'
	Type: Client (map_client.txt)
	GPU Warnings: version: 2.1
	Graphics mode: fast
	Resource Packs: Fabric Mods
	Current Language: English (US)
	CPU: 8x Intel(R) Core(TM) i7-3720QM CPU @ 2.60GHz
commented

Random question: have you assigned an random UUID to each mob? I found it fixed animation issues I had.

commented

aren't UUIDs assigned automatically?

commented

anyways, latest build fixed this, thank you

however, the animations do not really transition when enabling transition ticks

commented

Can you explain what is null in this case, in our mod we are using Geckolib for 1.15.2 and having this exception frequently. But we have a special case where we use custom models for rendering instead of default player models.