Render crash on Transfur to Latex Human (Game freezes, World rendered unjoinable)

Abierto Apto para principiantes
#1,867 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
67/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
java
Área
game-dev

Línea de trabajo

Empieza en LatexHuman.java, en getGameProfile() (línea 71), y sigue después sus llamadas registerTextures() y getModelName(); el informe indica que el bloqueo solo ocurre al transformarse en Latex Human con keepConscious en false. Comprueba cómo se obtiene el nombre del perfil del jugador y ejecuta las pruebas pertinentes de renderizado o transformación; el trabajo estará terminado cuando este caso deje de lanzar la NullPointerException indicada o de congelar el mundo.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description: Unexpected error
Exception: java.lang.NullPointerException: Profile name must not be null

	at java.base/java.util.Objects.requireNonNull(Unknown Source) ~[?:?] {}
	at MC-BOOTSTRAP/[email protected]/com.mojang.authlib.GameProfile.<init>(GameProfile.java:31) ~[authlib-6.0.54.jar%23110!/:?] {re:mixin}
	at TRANSFORMER/[email protected]/net.furrymodder.changed.entity.beast.LatexHuman.lambda$getGameProfile$2(LatexHuman.java:71) ~[Changed-m1.21.1-neo-0.15.7.3.jar%23327!/:0.15.7.3] {re:classloading}

Offending code:

    public Optional<GameProfile> getGameProfile() {
        return this.entityData.get(DATA_PLAYER).map(uuid -> new GameProfile(uuid, null));
    }
Thread: Render thread
Stacktrace:
	at java.base/java.util.Objects.requireNonNull(Unknown Source) ~[?:?] {}
	at MC-BOOTSTRAP/[email protected]/com.mojang.authlib.GameProfile.<init>(GameProfile.java:31) ~[authlib-6.0.54.jar%23110!/:?] {re:mixin}
	at TRANSFORMER/[email protected]/net.furrymodder.changed.entity.beast.LatexHuman.lambda$getGameProfile$2(LatexHuman.java:71) ~[Changed-m1.21.1-neo-0.15.7.3.jar%23327!/:0.15.7.3] {re:classloading}
	at java.base/java.util.Optional.map(Unknown Source) ~[?:?] {}
	at TRANSFORMER/[email protected]/net.furrymodder.changed.entity.beast.LatexHuman.getGameProfile(LatexHuman.java:71) ~[Changed-m1.21.1-neo-0.15.7.3.jar%23327!/:0.15.7.3] {re:classloading}
	at TRANSFORMER/[email protected]/net.furrymodder.changed.entity.beast.LatexHuman.registerTextures(LatexHuman.java:88) ~[Changed-m1.21.1-neo-0.15.7.3.jar%23327!/:0.15.7.3] {re:classloading}
	at TRANSFORMER/[email protected]/net.furrymodder.changed.entity.beast.LatexHuman.getModelName(LatexHuman.java:121) ~[Changed-m1.21.1-neo-0.15.7.3.jar%23327!/:0.15.7.3] {re:classloading}
	at TRANSFORMER/[email protected]/net.furrymodder.changed.init.ChangedEntityRenderers.lambda$getComplexRenderer$0(ChangedEntityRenderers.java:38) ~[Changed-m1.21.1-neo-0.15.7.3.jar%23327!/:0.15.7.3] {re:mixin,re:classloading}
	at java.base/java.util.Optional.map(Unknown Source) ~[?:?] {}
	at TRANSFORMER/[email protected]/net.furrymodder.changed.init.ChangedEntityRenderers.getComplexRenderer(ChangedEntityRenderers.java:38) ~[Changed-m1.21.1-neo-0.15.7.3.jar%23327!/:0.15.7.3] {re:mixin,re:classloading}
	at TRANSFORMER/[email protected]/net.minecraft.client.renderer.entity.EntityRenderDispatcher.handler$feg000$changed$getRendererOrOverridden(EntityRenderDispatcher.java:4158) ~[client-1.21.1-20240808.144430-srg.jar%23308!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at TRANSFORMER/[email protected]/net.minecraft.client.renderer.entity.EntityRenderDispatcher.getRenderer(EntityRenderDispatcher.java) ~[client-1.21.1-20240808.144430-srg.jar%23308!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at TRANSFORMER/[email protected]/net.minecraft.client.Camera.adjustAnimForEntity(Camera.java:3056) ~[client-1.21.1-20240808.144430-srg.jar%23308!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at TRANSFORMER/[email protected]/net.minecraft.client.Camera.md214cc9$changed$lambda$animateCamera$0$3(Camera.java:3121) ~[client-1.21.1-20240808.144430-srg.jar%23308!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at TRANSFORMER/[email protected]/net.furrymodder.changed.process.ProcessTransfur.ifPlayerTransfurred(ProcessTransfur.java:629) ~[Changed-m1.21.1-neo-0.15.7.3.jar%23327!/:0.15.7.3] {re:mixin,re:classloading}

Notes:

  • the actual transfur is fine
  • this only applies to the Latex-Human beast entity
  • keepConscious must be false
Lenguaje dominante
Java
Estrellas
87
Forks
58
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de LtxProgrammer/Changed-Minecraft-Mod

Todos los issues de LtxProgrammer/Changed-Minecraft-Mod

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.