diff --git a/src/main/java/world/bentobox/bentobox/api/user/User.java b/src/main/java/world/bentobox/bentobox/api/user/User.java
index e464d9d9f..1ec70d3ab 100644
--- a/src/main/java/world/bentobox/bentobox/api/user/User.java
+++ b/src/main/java/world/bentobox/bentobox/api/user/User.java
@@ -17,9 +17,15 @@ import org.bukkit.util.Vector;
import world.bentobox.bentobox.BentoBox;
/**
- * BSB's user object. Wraps Player.
- * @author tastybento
+ * Combines {@link Player}, {@link OfflinePlayer} and {@link CommandSender} to provide convenience methods related to
+ * localization and generic interactions.
+ *
+ * Therefore, a User could usually be a Player, an OfflinePlayer or the server's console.
+ * Preliminary checks should be performed before trying to run methods that relies on a specific implementation.
+ *
+ * It is good practice to use the User instance whenever possible instead of Player or CommandSender.
*
+ * @author tastybento
*/
public class User {
@@ -33,7 +39,7 @@ public class User {
}
/**
- * Get an instance of User from a CommandSender
+ * Gets an instance of User from a CommandSender
* @param sender - command sender, e.g. console
* @return user - user
*/
@@ -44,8 +50,9 @@ public class User {
// Console
return new User(sender);
}
+
/**
- * Get an instance of User from a Player object
+ * Gets an instance of User from a Player object
* @param player - the player
* @return user - user
*/
@@ -58,8 +65,9 @@ public class User {
}
return new User(player);
}
+
/**
- * Get an instance of User from a UUID
+ * Gets an instance of User from a UUID
* @param uuid - UUID
* @return user - user
*/
@@ -73,9 +81,10 @@ public class User {
// Return player, or null if they are not online
return new User(uuid);
}
+
/**
* Removes this player from the User cache
- * @param player - the player
+ * @param player the player
*/
public static void removePlayer(Player player) {
users.remove(player.getUniqueId());
@@ -342,7 +351,6 @@ public class User {
return Locale.forLanguageTag(plugin.getPlayers().getLocale(playerUUID));
}
return Locale.forLanguageTag(plugin.getSettings().getDefaultLanguage());
-
}
/**
@@ -351,7 +359,6 @@ public class User {
*/
public void updateInventory() {
player.updateInventory();
-
}
/**
@@ -421,6 +428,7 @@ public class User {
result = prime * result + ((playerUUID == null) ? 0 : playerUUID.hashCode());
return result;
}
+
/* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/