Theoretically, the "only" thing to be done is to save the whole inventory per UUID, and remove any items of an unregistered/not logged in player in his inventory, when joining the server. On login then give him back those items.
Don't know how hard it would be to save and load the inventory. Giving and taking items however is possible with commands even for offline players, therefore it should work.
This method ensures, that no item dropping, item cloning, or just seeing the inventory of other players is ever possible. Would be nice.
Also it would tie together with the theoretically possible way of allowing not logged in players to do certain things. Explained below.
Hm. How do you implement, that they can't walk, interact or use certain commands, before logged in? For example before logged in I should of course have no Admin rights, but if I logged in with the right account then I should have them.
The same should apply to all other permissions someone has linked to any account.
Maybe there don't have to be explicit permissions, but the possibility to drop unregistered /not logged in players in certain permission groups and the possibility to then allow interaction with the world.
For example if I could set in the config, that not logged in people are in Group Unregistered, then I can set certain permissions for Unregistered, like the ability to /sendmodmessage message or to run around, but not doing anything else, like dropping items, picking up items, or interacting with anything.
If they login, they are automatically dropped in group Default or if they are already in another group like Mod, or Admin, they are of course dropped in those groups.
Overall the possibility to allow certaing things, even when not logged in. That way I as server owner, could for example say, that they may walk around to admire the cool world. And to send private messages to friends (if I had a friends plugin) or Mods. Maybe with modifyworld, they are even allowed to use certain blocks.
If I now also had the feature with the empty inventory that gets loaded with the items on logg in, then they could do things as unregistered player, but the logged in real player is ensured to have his inventory.
On login the position and inventory is reset to the situation, where last logging out. Only if the player ran around when not logged in and logged in in the same session, then the position can be set to the position when logging in.
That way a real player is not reset, when logging in, but is ensured to not end up in a lava pool if someone else moved there as unregistered player with the same UUID.
Hm, yea I thought there could be a command /sendmodmessage message, that allows unregistered/not logged in players to contact someone in case, they have a problem. For example they could see an error message or they forgot their password and their e-mail account is no longer active or other things, so they could talk to someone.
Overall however, they should not be seen by other players in the chat, as that could lead to unregistered player spam.
Maybe there doesn't ave to be a /sendmodmessage command, but the player is only seen by Mods chatting, when not logged in.
Yea, yea no problem. I like your plugin so far.