It’s not just a matter of state, there are methods available to online players that are not available to offline so that’s why you need two separate classes
Ya, but most of those methods can just not do anything if the player is offline or can still change the player’s data when he/she is offline.
that’s a poor design decision.
I don’t think we need a OfflinePlayer. This is how I see it:
Sponge can have an API for everything related to Player- as if we don’t already or implemented already. Now, plugins can utilize that API if you guys really want this functionality. I doubt it though.
I would utilize this API to log players’ IP addresses, movements, and whatever other information can possibly be “mined.” You guys might not like this idea, but I’ll explain in a second. What I’m saying is essentially I just wrote an API to do what I want to do, if I were a data miner.
Now, I’m not, we don’t have to do this. I already can see people typing away their answers right back at me. I want to say though- if you want an “OfflinePlayer” we could just use a plugin. Plugins are helpful, they shouldn’t put high intensity on a server unless that is the use (like WorldEdit, I’m not saying it’s bad). A plugin would make it so much easier for some people who just want to host a server for their friends and doesn’t want to deal with the hassle of MCEdit or something that is similar. This is just the way I see things.
TL;DR I don’t think we need to implement anything similar to the /seen command from Essentials, but an API call for this would be nice.