The bug
Setting a ConversionTime for a zombie villager without setting ConversionPlayerLeast and ConversionPlayerMost crashes the server.
[^crash-2017-05-17_21.03.51-server.txt] (1.12-pre3, 1.12-pre5)
Description: Ticking entity
java.lang.NullPointerException: Ticking entity
at amr.b(SourceFile:2627)
at ads.dr(SourceFile:186)
at ads.B_(SourceFile:113)
at amr.a(SourceFile:1514)
at om.a(SourceFile:714)
at amr.h(SourceFile:1499)
at amr.k(SourceFile:1382)
at om.k(SourceFile:547)
at net.minecraft.server.MinecraftServer.D(SourceFile:634)
at net.minecraft.server.MinecraftServer.C(SourceFile:562)
at cgx.C(SourceFile:154)
at net.minecraft.server.MinecraftServer.run(SourceFile:466)
at java.lang.Thread.run(Thread.java:745)How to reproduce
/summon zombie_villager ~ ~ ~ {ConversionTime:0}Code analysis
Based on 1.12-pre3 decompiled using CFR
It looks like the UUID of the player who started the conversion is compared with the UUIDs of online players to then trigger the advancement trigger cured_zombie_villager. The problem is that it is not tested if the passed UUID is null which causes a NullPointerException when the method equals is called for it.
Linked issues
is duplicated by 1
Attachments
Comments 8
The file will be located in your ".minecraft" folder, under "crash-reports". It will have a similar filename to the screenshots.
To attach it, use the same method as attaching screenshots (drag the file onto the bug report's "attachments" section)
also a normal "summon minecraft:zombie_villager" - "entitydata @e[r=2]
{ConversionTime:40}