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

Aperta Adatta ai principianti
#1,867 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
67/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
java
Ambito
game-dev

Direzione di ricerca

Inizia da LatexHuman.java, in getGameProfile() (riga 71), poi segui i suoi chiamanti registerTextures() e getModelName(); secondo la segnalazione, il crash si verifica solo quando ci si trasforma in Latex Human con keepConscious impostato su false. Controlla come viene ottenuto il nome del profilo del giocatore ed esegui i test pertinenti di rendering o trasformazione; il lavoro è completato quando questo caso non genera più la NullPointerException segnalata né blocca il mondo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
Lingua principale
Java
Stelle
87
Fork
58
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di LtxProgrammer/Changed-Minecraft-Mod

Tutte le issue di LtxProgrammer/Changed-Minecraft-Mod

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.