mirror of
https://e.coding.net/circlecloud/AuthMe.git
synced 2025-11-26 21:46:23 +00:00
180 lines
4.3 KiB
Java
180 lines
4.3 KiB
Java
package fr.xephi.authme.api;
|
|
|
|
import java.security.NoSuchAlgorithmException;
|
|
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.Location;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.inventory.ItemStack;
|
|
import org.bukkit.plugin.Plugin;
|
|
|
|
import cn.citycraft.AuthMe.AuthMe;
|
|
import cn.citycraft.AuthMe.Utils;
|
|
import cn.citycraft.AuthMe.cache.auth.PlayerAuth;
|
|
import cn.citycraft.AuthMe.cache.auth.PlayerCache;
|
|
import cn.citycraft.AuthMe.security.PasswordSecurity;
|
|
import cn.citycraft.AuthMe.settings.Settings;
|
|
|
|
public class API {
|
|
|
|
public static AuthMe instance;
|
|
public static final String newline = System.getProperty("line.separator");
|
|
|
|
@Deprecated
|
|
public API(final AuthMe instance) {
|
|
API.instance = instance;
|
|
}
|
|
|
|
/**
|
|
* @param String
|
|
* playerName, String passwordToCheck
|
|
* @return true if the password is correct , false else
|
|
*/
|
|
@Deprecated
|
|
public static boolean checkPassword(final String playerName, final String passwordToCheck) {
|
|
if (!isRegistered(playerName)) {
|
|
return false;
|
|
}
|
|
final String player = playerName.toLowerCase();
|
|
final PlayerAuth auth = instance.database.getAuth(player);
|
|
try {
|
|
return PasswordSecurity.comparePasswordWithHash(passwordToCheck, auth.getHash(), playerName);
|
|
} catch (final NoSuchAlgorithmException e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Force a player to login
|
|
*
|
|
* @param Player
|
|
* player
|
|
*/
|
|
@Deprecated
|
|
public static void forceLogin(final Player player) {
|
|
instance.management.performLogin(player, "dontneed", true);
|
|
}
|
|
|
|
@Deprecated
|
|
public static Location getLastLocation(final Player player) {
|
|
try {
|
|
final PlayerAuth auth = PlayerCache.getInstance().getAuth(player.getName().toLowerCase());
|
|
if (auth != null) {
|
|
final Location loc = new Location(Bukkit.getWorld(auth.getWorld()), auth.getQuitLocX(), auth.getQuitLocY(), auth.getQuitLocZ());
|
|
return loc;
|
|
}
|
|
} catch (final NullPointerException ex) {
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* Hook into AuthMe
|
|
*
|
|
* @return AuthMe instance
|
|
*/
|
|
@Deprecated
|
|
public static AuthMe hookAuthMe() {
|
|
if (instance != null) {
|
|
return instance;
|
|
}
|
|
final Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("AuthMe");
|
|
if (plugin == null || !(plugin instanceof AuthMe)) {
|
|
return null;
|
|
}
|
|
instance = (AuthMe) plugin;
|
|
return instance;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param player
|
|
* @return true if player is authenticate
|
|
*/
|
|
@Deprecated
|
|
public static boolean isAuthenticated(final Player player) {
|
|
return PlayerCache.getInstance().isAuthenticated(player.getName());
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param playerName
|
|
* @return true if player is registered
|
|
*/
|
|
@Deprecated
|
|
public static boolean isRegistered(final String playerName) {
|
|
final String player = playerName.toLowerCase();
|
|
return instance.database.isAuthAvailable(player);
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param player
|
|
* @return true if the player is unrestricted
|
|
*/
|
|
@Deprecated
|
|
public static boolean isUnrestricted(final Player player) {
|
|
return Utils.isUnrestricted(player);
|
|
}
|
|
|
|
/**
|
|
* Register a player
|
|
*
|
|
* @param String
|
|
* playerName, String password
|
|
* @return true if the player is register correctly
|
|
*/
|
|
@Deprecated
|
|
public static boolean registerPlayer(final String playerName, final String password) {
|
|
try {
|
|
final String name = playerName.toLowerCase();
|
|
final String hash = PasswordSecurity.getHash(Settings.getPasswordHash, password, name);
|
|
if (isRegistered(name)) {
|
|
return false;
|
|
}
|
|
final PlayerAuth auth = new PlayerAuth(name, hash, "198.18.0.1", 0, "your@email.com", playerName);
|
|
if (!instance.database.saveAuth(auth)) {
|
|
return false;
|
|
}
|
|
return true;
|
|
} catch (final NoSuchAlgorithmException ex) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
@Deprecated
|
|
public static void setPlayerInventory(final Player player, final ItemStack[] content, final ItemStack[] armor) {
|
|
try {
|
|
player.getInventory().setContents(content);
|
|
player.getInventory().setArmorContents(armor);
|
|
} catch (final NullPointerException npe) {
|
|
}
|
|
}
|
|
|
|
@Deprecated
|
|
public AuthMe getPlugin() {
|
|
return instance;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param player
|
|
* @return true if player is a npc
|
|
*/
|
|
@Deprecated
|
|
public boolean isaNPC(final Player player) {
|
|
return Utils.isNPC(player);
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param player
|
|
* @return true if player is a npc
|
|
*/
|
|
@Deprecated
|
|
public boolean isNPC(final Player player) {
|
|
return Utils.isNPC(player);
|
|
}
|
|
|
|
}
|