Fix NPE when writing PlayerInfoData to packet

By default, the listName field in EntityPlayer is null. As the WrappedChatComponent ignores null values (which in itself is completely fine), the field will be null when you read one while the EntityPlayer has no listName. When you try to write one, however, the converter directly accesses the handle from the WrappedChatComponent. This means you will be trying to access the handle of null when you don't explicitly set the displayName in such a packet.
This commit is contained in:
Mark Hendriks 2015-01-09 01:45:17 +01:00
parent 266e9e47cc
commit dd5bfd5f16

View File

@ -80,7 +80,7 @@ public class PlayerInfoData {
specific.profile.handle,
specific.ping,
EnumWrappers.getGameModeConverter().getGeneric(EnumWrappers.getGameModeClass(), specific.gameMode),
specific.displayName.handle
specific.displayName != null ? specific.displayName.handle : null
);
return result;
} catch (Exception e) {
@ -149,4 +149,4 @@ public class PlayerInfoData {
return String.format("PlayerInfoData { profile=%s, ping=%s, gameMode=%s, displayName=%s }",
profile, ping, gameMode, displayName);
}
}
}