private void addPlayer(EntityPlayerMP newPlayer) { if (!players.containsKey(newPlayer)) { players.put(newPlayer, 1); // playerSelections starts off null = no selection MultipartOneAtATimeReceiver newReceiver = new MultipartOneAtATimeReceiver(); newReceiver.registerPacketCreator(new SelectionPacket.SelectionPacketCreator()); newReceiver.registerLinkageFactory(new VoxelLinkageFactory(newPlayer)); newReceiver.setPacketSender(new PacketSenderServer(packetHandlerRegistryServer, newPlayer)); playerMOATreceivers.put(newPlayer, newReceiver); MultipartOneAtATimeSender newSender = new MultipartOneAtATimeSender( packetHandlerRegistryServer, null, Packet250Types.PACKET250_SELECTION_PACKET_ACKNOWLEDGE, Side.SERVER); newSender.setPacketSender(new PacketSenderServer(packetHandlerRegistryServer, newPlayer)); playerMOATsenders.put(newPlayer, newSender); // playerBlockVoxelMultiSelectors.put(newPlayer, new BlockVoxelMultiSelector()); } }