Hopefully fixes issue with uninitialized loot disks. Closes #1191.

This commit is contained in:
Florian Nücke 2015-06-14 13:42:01 +02:00
parent 0cc849189c
commit 83b47501d6
2 changed files with 8 additions and 3 deletions

View File

@ -40,7 +40,7 @@ object PacketHandler extends CommonPacketHandler {
} }
override def dispatch(p: PacketParser) { override def dispatch(p: PacketParser) {
if (p.player != null && p.player.getEntityWorld != null) p.packetType match { p.packetType match {
case PacketType.Analyze => onAnalyze(p) case PacketType.Analyze => onAnalyze(p)
case PacketType.ChargerState => onChargerState(p) case PacketType.ChargerState => onChargerState(p)
case PacketType.ColorChange => onColorChange(p) case PacketType.ColorChange => onColorChange(p)

View File

@ -134,8 +134,13 @@ object EventHandler {
if (ClassTransformer.hadSimpleComponentErrors) { if (ClassTransformer.hadSimpleComponentErrors) {
player.addChatMessage(Localization.Chat.WarningSimpleComponent) player.addChatMessage(Localization.Chat.WarningSimpleComponent)
} }
ServerPacketSender.sendPetVisibility(None, Some(player)) // Gaaah, MC 1.8 y u do this to me? Sending the packets here directly can lead to them
ServerPacketSender.sendLootDisks(player) // arriving on the client before it has a world and player instance, which causes all
// sorts of trouble. It worked perfectly fine in MC 1.7.10... oSWDEG'PIl;dg'poinEG\a'pi=
EventHandler.schedule(() => {
ServerPacketSender.sendPetVisibility(None, Some(player))
ServerPacketSender.sendLootDisks(player)
})
// Do update check in local games and for OPs. // Do update check in local games and for OPs.
if (!Mods.VersionChecker.isAvailable && (!MinecraftServer.getServer.isDedicatedServer || MinecraftServer.getServer.getConfigurationManager.canSendCommands(player.getGameProfile))) { if (!Mods.VersionChecker.isAvailable && (!MinecraftServer.getServer.isDedicatedServer || MinecraftServer.getServer.getConfigurationManager.canSendCommands(player.getGameProfile))) {
Future { Future {