bernie-g / geckolib

GeckoLib is an animation engine for Minecraft mods, with support for complex 3D keyframe-based animations, numerous easings, concurrent animation support, sound and particle keyframes, event keyframes, math-based animations, and more. Available for all major modloaders.
https://geckolib.com
MIT License
609 stars 127 forks source link

Crashing on minecraft entity render with 1.19.2 #282

Closed nukkeldev closed 2 years ago

nukkeldev commented 2 years ago

Fabric Version: 0.58.6 GeckoLib Version: 3.1.11 Minecraft Version: 1.19.2

The Issue: Minecraft crashes when trying to render a creeper entity with geckolib's replaced renderers.

---- Minecraft Crash Report ----
// You're mean.

Time: 2022-08-06 17:11:51
Description: Rendering entity in world

java.lang.ClassCastException: class net.minecraft.entity.mob.CreeperEntity cannot be cast to class software.bernie.geckolib3.core.IAnimatable (net.minecraft.entity.mob.CreeperEntity and software.bernie.geckolib3.core.IAnimatable are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @4e1d422d)
    at software.bernie.geckolib3.renderers.geo.GeoReplacedEntityRenderer.getTextureResource(GeoReplacedEntityRenderer.java:304)
    at software.bernie.geckolib3.renderers.geo.GeoReplacedEntityRenderer.render(GeoReplacedEntityRenderer.java:173)
    at software.bernie.geckolib3.renderers.geo.GeoReplacedEntityRenderer.render(GeoReplacedEntityRenderer.java:80)
    at net.minecraft.client.render.entity.EntityRenderDispatcher.render(EntityRenderDispatcher.java:141)
    at net.minecraft.client.render.WorldRenderer.renderEntity(WorldRenderer.java:1568)
    at net.minecraft.client.render.WorldRenderer.render(WorldRenderer.java:1316)
    at net.minecraft.client.render.GameRenderer.renderWorld(GameRenderer.java:1039)
    at net.minecraft.client.render.GameRenderer.render(GameRenderer.java:816)
    at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1177)
    at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:768)
    at net.minecraft.client.main.Main.main(Main.java:244)
    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 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.renderers.geo.GeoReplacedEntityRenderer.getTextureResource(GeoReplacedEntityRenderer.java:304)
    at software.bernie.geckolib3.renderers.geo.GeoReplacedEntityRenderer.render(GeoReplacedEntityRenderer.java:173)
    at software.bernie.geckolib3.renderers.geo.GeoReplacedEntityRenderer.render(GeoReplacedEntityRenderer.java:80)
    at net.minecraft.client.render.entity.EntityRenderDispatcher.render(EntityRenderDispatcher.java:141)
    at net.minecraft.client.render.WorldRenderer.renderEntity(WorldRenderer.java:1568)
    at net.minecraft.client.render.WorldRenderer.render(WorldRenderer.java:1316)
    at net.minecraft.client.render.GameRenderer.renderWorld(GameRenderer.java:1039)

-- Entity being rendered --
Details:
    Entity Type: minecraft:creeper (net.minecraft.entity.mob.CreeperEntity)
    Entity ID: 16
    Entity Name: Creeper
    Entity's Exact location: 16.52, 23.00, -20.30
    Entity's Block location: World: (16,23,-21), Section: (at 0,7,11 in 1,1,-2; chunk contains blocks 16,-64,-32 to 31,319,-17), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,-64,-512 to 511,319,-1)
    Entity's Momentum: -0.00, -0.08, 0.05
    Entity's Passengers: []
    Entity's Vehicle: null
Stacktrace:
    at net.minecraft.client.render.entity.EntityRenderDispatcher.render(EntityRenderDispatcher.java:141)
    at net.minecraft.client.render.WorldRenderer.renderEntity(WorldRenderer.java:1568)
    at net.minecraft.client.render.WorldRenderer.render(WorldRenderer.java:1316)
    at net.minecraft.client.render.GameRenderer.renderWorld(GameRenderer.java:1039)
    at net.minecraft.client.render.GameRenderer.render(GameRenderer.java:816)
    at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1177)
    at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:768)
    at net.minecraft.client.main.Main.main(Main.java:244)
    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 net.fabricmc.devlaunchinjector.Main.main(Main.java:86)

-- Renderer details --
Details:
    Assigned renderer: software.bernie.example.client.renderer.entity.ReplacedCreeperRenderer@49d0bc55
    Location: 24.02,-59.00,-19.80 - World: (24,-59,-20), Section: (at 8,5,12 in 1,-4,-2; chunk contains blocks 16,-64,-32 to 31,319,-17), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,-64,-512 to 511,319,-1)
    Rotation: 0.0
    Delta: 0.0
Stacktrace:
    at net.minecraft.client.render.entity.EntityRenderDispatcher.render(EntityRenderDispatcher.java:141)
    at net.minecraft.client.render.WorldRenderer.renderEntity(WorldRenderer.java:1568)
    at net.minecraft.client.render.WorldRenderer.render(WorldRenderer.java:1316)
    at net.minecraft.client.render.GameRenderer.renderWorld(GameRenderer.java:1039)
    at net.minecraft.client.render.GameRenderer.render(GameRenderer.java:816)
    at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1177)
    at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:768)
    at net.minecraft.client.main.Main.main(Main.java:244)
    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 net.fabricmc.devlaunchinjector.Main.main(Main.java:86)

-- Affected level --
Details:
    All players: 1 total; [ClientPlayerEntity['Player696'/281, l='ClientLevel', x=-7.50, y=82.00, z=-0.50]]
    Chunk stats: 1024, 585
    Level dimension: minecraft:overworld
    Level spawn location: World: (0,82,0), Section: (at 0,2,0 in 0,5,0; chunk contains blocks 0,-64,0 to 15,319,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511)
    Level time: 303 game time, 303 day time
    Server brand: fabric
    Server type: Integrated singleplayer server
Stacktrace:
    at net.minecraft.client.world.ClientWorld.addDetailsToCrashReport(ClientWorld.java:453)
    at net.minecraft.client.MinecraftClient.addDetailsToCrashReport(MinecraftClient.java:2341)
    at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:787)
    at net.minecraft.client.main.Main.main(Main.java:244)
    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 net.fabricmc.devlaunchinjector.Main.main(Main.java:86)

-- Last reload --
Details:
    Reload number: 1
    Reload reason: initial
    Finished: Yes
    Packs: Default, Fabric Mods

-- System Details --
Details:
    Minecraft Version: 1.19.2
    Minecraft Version ID: 1.19.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 17.0.4, Amazon.com Inc.
    Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Amazon.com Inc.
    Memory: 1780679840 bytes (1698 MiB) / 2994733056 bytes (2856 MiB) up to 8573157376 bytes (8176 MiB)
    CPUs: 16
    Processor Vendor: AuthenticAMD
    Processor Name: AMD Ryzen 7 3700X 8-Core Processor             
    Identifier: AuthenticAMD Family 23 Model 113 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: NVIDIA GeForce RTX 2080 SUPER
    Graphics card #0 vendor: NVIDIA (0x10de)
    Graphics card #0 VRAM (MB): 4095.00
    Graphics card #0 deviceId: 0x1e81
    Graphics card #0 versionInfo: DriverVersion=31.0.15.1659
    Memory slot #0 capacity (MB): 8192.00
    Memory slot #0 clockSpeed (GHz): 2.13
    Memory slot #0 type: DDR4
    Memory slot #1 capacity (MB): 8192.00
    Memory slot #1 clockSpeed (GHz): 2.13
    Memory slot #1 type: DDR4
    Memory slot #2 capacity (MB): 8192.00
    Memory slot #2 clockSpeed (GHz): 2.13
    Memory slot #2 type: DDR4
    Memory slot #3 capacity (MB): 8192.00
    Memory slot #3 clockSpeed (GHz): 2.13
    Memory slot #3 type: DDR4
    Virtual memory max (MB): 37558.51
    Virtual memory used (MB): 27945.93
    Swap memory total (MB): 4864.00
    Swap memory used (MB): 967.90
    JVM Flags: 0 total; 
    Fabric Mods: 
        appleskin: AppleSkin 2.4.0+mc1.19
        dynamicfps: Dynamic FPS 2.2.0
            com_moandjiezana_toml_toml4j: toml4j 0.7.2
        fabric: Fabric API 0.58.6+1.19.2
        fabric-api-base: Fabric API Base 0.4.9+e62f51a390
        fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.7+9ff28f4090
        fabric-biome-api-v1: Fabric Biome API (v1) 9.0.15+d5533c0190
        fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.18+9ff28f4090
        fabric-command-api-v2: Fabric Command API (v2) 2.1.5+0c17ea9690
        fabric-content-registries-v0: Fabric Content Registries (v0) 3.2.1+07df213e90
        fabric-convention-tags-v1: Fabric Convention Tags 1.0.8+37622d2490
        fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.3+bd0a0d4a90
        fabric-data-generation-api-v1: Fabric Data Generation API (v1) 5.1.6+a680b9b490
        fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.28+a6d2f78590
        fabric-entity-events-v1: Fabric Entity Events (v1) 1.4.16+9ff28f4090
        fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.26+9ff28f4090
        fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.19+1899036190
        fabric-gametest-api-v1: Fabric Game Test API (v1) 1.0.33+e62f51a390
        fabric-item-api-v1: Fabric Item API (v1) 1.5.5+35a03c4390
        fabric-item-groups-v0: Fabric Item Groups (v0) 0.3.26+9ff28f4090
        fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.18+9ff28f4090
        fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.1.0+33fbc73890
        fabric-loot-api-v2: Fabric Loot API (v2) 1.1.1+03a4e56890
        fabric-message-api-v1: Fabric Message API (v1) 5.0.1+4e0178f490
        fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.11+33fbc73890
        fabric-models-v0: Fabric Models (v0) 0.3.15+9ff28f4090
        fabric-networking-api-v1: Fabric Networking API (v1) 1.2.2+5eb68ef290
        fabric-object-builder-api-v1: Fabric Object Builder API (v1) 4.0.8+9ff28f4090
        fabric-particles-v1: Fabric Particles (v1) 1.0.8+dc39553a90
        fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.9.22+23c4cfef90
        fabric-renderer-api-v1: Fabric Renderer API (v1) 1.0.8+9ff28f4090
        fabric-renderer-indigo: Fabric Renderer - Indigo 0.6.10+5187d39f90
        fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.12+9ff28f4090
        fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.5+9ff28f4090
        fabric-rendering-v1: Fabric Rendering (v1) 1.10.14+9ff28f4090
        fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.0.9+e62f51a390
        fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.5.6+5f1a85e090
        fabric-screen-api-v1: Fabric Screen API (v1) 1.0.24+f05effaf90
        fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.2.11+9ff28f4090
        fabric-textures-v0: Fabric Textures (v0) 1.0.18+9ff28f4090
        fabric-transfer-api-v1: Fabric Transfer API (v1) 2.0.9+e62f51a390
        fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 1.1.1+9e7660c690
        fabricloader: Fabric Loader 0.14.8
        ferritecore: FerriteCore 4.2.1
        fpsdisplay: FPS-Display 1.5.0+1.19
            cloth-config: Cloth Config v6 7.0.69
                cloth-basic-math: cloth-basic-math 0.6.1
        geckolib3: Geckolib 3.1.11
        java: OpenJDK 64-Bit Server VM 17
        lambdynlights: LambDynamicLights 2.1.2+1.19
            pride: Pride Lib 1.1.2+1.19
            spruceui: SpruceUI 4.0.0+1.19
        lazydfu: LazyDFU 0.1.3
        memoryleakfix: memory Leak Fix 1.19.1-0.6.0
        minecraft: Minecraft 1.19.2
        modmenu: Mod Menu 4.0.5
        smoothboot: Smooth Boot 1.19-1.7.1
        sodium: Sodium 0.4.2+build.16
            org_joml_joml: joml 1.10.4
        starlight: Starlight 1.1.1+fabric.ae22326
    Launched Version: Fabric
    Backend library: LWJGL version 3.3.1 SNAPSHOT
    Backend API: NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2 GL version 3.2.0 NVIDIA 516.59, NVIDIA Corporation
    Window size: 1920x1017
    GL Caps: Using framebuffer using OpenGL 3.2
    GL debug messages: 
    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fabric'; Server brand changed to 'fabric'
    Type: Integrated Server (map_client.txt)
    Graphics mode: fancy
    Resource Packs: Fabric Mods
    Current Language: English (US)
    CPU: 16x AMD Ryzen 7 3700X 8-Core Processor 
    Server Running: true
    Player Count: 1 / 8; [ServerPlayerEntity['Player696'/281, l='ServerLevel[New World]', x=-7.50, y=82.00, z=-0.50]]
    Data Packs: vanilla, Fabric Mods
    World Generation: Stable
nukkeldev commented 2 years ago

Tried on QuiltMC and the problem persisted.

java.lang.ClassCastException: class net.minecraft.entity.mob.CreeperEntity cannot be cast to class software.bernie.geckolib3.core.IAnimatable
AzureDoom commented 2 years ago

Thank you, will check in a bit

AzureDoom commented 2 years ago

Fix building to Maven/CF now.