Merge master into 477-lastlogin-timestamp

Conflicts:
    - Settings.java
This commit is contained in:
ljacqu
2016-02-13 20:03:06 +01:00
81 changed files with 1948 additions and 1681 deletions
@@ -26,6 +26,7 @@ public class Management {
* Constructor for Management.
*
* @param plugin AuthMe
* @param settings The plugin settings
*/
public Management(AuthMe plugin, NewSetting settings) {
this.plugin = plugin;
@@ -80,18 +80,17 @@ public class AsynchronousJoin {
if (Settings.getMaxJoinPerIp > 0
&& !plugin.getPermissionsManager().hasPermission(player, PlayerPermission.ALLOW_MULTIPLE_ACCOUNTS)
&& !ip.equalsIgnoreCase("127.0.0.1")
&& !ip.equalsIgnoreCase("localhost")) {
if (plugin.hasJoinedIp(player.getName(), ip)) {
sched.scheduleSyncDelayedTask(plugin, new Runnable() {
&& !ip.equalsIgnoreCase("localhost")
&& plugin.hasJoinedIp(player.getName(), ip)) {
sched.scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
player.kickPlayer("A player with the same IP is already in game!");
}
@Override
public void run() {
player.kickPlayer("A player with the same IP is already in game!");
}
});
return;
}
});
return;
}
final Location spawnLoc = plugin.getSpawnLocation(player);
final boolean isAuthAvailable = database.isAuthAvailable(name);
@@ -104,12 +103,9 @@ public class AsynchronousJoin {
public void run() {
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawnLoc, PlayerCache.getInstance().isAuthenticated(name));
plugin.getServer().getPluginManager().callEvent(tpEvent);
if (!tpEvent.isCancelled()) {
if (player.isOnline() && tpEvent.getTo() != null) {
if (tpEvent.getTo().getWorld() != null) {
player.teleport(tpEvent.getTo());
}
}
if (!tpEvent.isCancelled() && player.isOnline() && tpEvent.getTo() != null
&& tpEvent.getTo().getWorld() != null) {
player.teleport(tpEvent.getTo());
}
}
@@ -155,25 +151,21 @@ public class AsynchronousJoin {
return;
}
if (!Settings.noTeleport) {
if (!needFirstSpawn() && Settings.isTeleportToSpawnEnabled || (Settings.isForceSpawnLocOnJoinEnabled && Settings.getForcedWorlds.contains(player.getWorld().getName()))) {
sched.scheduleSyncDelayedTask(plugin, new Runnable() {
if (!Settings.noTeleport && !needFirstSpawn() && Settings.isTeleportToSpawnEnabled
|| (Settings.isForceSpawnLocOnJoinEnabled && Settings.getForcedWorlds.contains(player.getWorld().getName()))) {
sched.scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawnLoc, PlayerCache.getInstance().isAuthenticated(name));
plugin.getServer().getPluginManager().callEvent(tpEvent);
if (!tpEvent.isCancelled()) {
if (player.isOnline() && tpEvent.getTo() != null) {
if (tpEvent.getTo().getWorld() != null) {
player.teleport(tpEvent.getTo());
}
}
}
}
@Override
public void run() {
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawnLoc, PlayerCache.getInstance().isAuthenticated(name));
plugin.getServer().getPluginManager().callEvent(tpEvent);
if (!tpEvent.isCancelled() && player.isOnline() && tpEvent.getTo() != null
&& tpEvent.getTo().getWorld() != null) {
player.teleport(tpEvent.getTo());
}
}
});
}
});
}
}
@@ -28,8 +28,7 @@ import fr.xephi.authme.util.Utils.GroupType;
import static fr.xephi.authme.settings.properties.RestrictionSettings.PROTECT_INVENTORY_BEFORE_LOGIN;
/**
*/
public class ProcessSyncPlayerLogin implements Runnable {
private final LimboPlayer limbo;
@@ -47,7 +46,8 @@ public class ProcessSyncPlayerLogin implements Runnable {
*
* @param player Player
* @param plugin AuthMe
* @param database DataSource
* @param database DataSource
* @param settings The plugin settings
*/
public ProcessSyncPlayerLogin(Player player, AuthMe plugin,
DataSource database, NewSetting settings) {
@@ -62,24 +62,19 @@ public class ProcessSyncPlayerLogin implements Runnable {
this.settings = settings;
}
/**
* Method getLimbo.
*
* @return LimboPlayer
*/
public LimboPlayer getLimbo() {
return limbo;
}
protected void restoreOpState() {
private void restoreOpState() {
player.setOp(limbo.getOperator());
}
protected void packQuitLocation() {
private void packQuitLocation() {
Utils.packCoords(auth.getQuitLocX(), auth.getQuitLocY(), auth.getQuitLocZ(), auth.getWorld(), player);
}
protected void teleportBackFromSpawn() {
private void teleportBackFromSpawn() {
AuthMeTeleportEvent tpEvent = new AuthMeTeleportEvent(player, limbo.getLoc());
pm.callEvent(tpEvent);
if (!tpEvent.isCancelled() && tpEvent.getTo() != null) {
@@ -87,7 +82,7 @@ public class ProcessSyncPlayerLogin implements Runnable {
}
}
protected void teleportToSpawn() {
private void teleportToSpawn() {
Location spawnL = plugin.getSpawnLocation(player);
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawnL, true);
pm.callEvent(tpEvent);
@@ -96,14 +91,14 @@ public class ProcessSyncPlayerLogin implements Runnable {
}
}
protected void restoreSpeedEffects() {
private void restoreSpeedEffects() {
if (Settings.isRemoveSpeedEnabled) {
player.setWalkSpeed(0.2F);
player.setFlySpeed(0.1F);
}
}
protected void restoreInventory() {
private void restoreInventory() {
RestoreInventoryEvent event = new RestoreInventoryEvent(player);
pm.callEvent(event);
if (!event.isCancelled() && plugin.inventoryProtector != null) {
@@ -111,7 +106,7 @@ public class ProcessSyncPlayerLogin implements Runnable {
}
}
protected void forceCommands() {
private void forceCommands() {
for (String command : Settings.forceCommands) {
player.performCommand(command.replace("%p", player.getName()));
}
@@ -120,7 +115,7 @@ public class ProcessSyncPlayerLogin implements Runnable {
}
}
protected void sendBungeeMessage() {
private void sendBungeeMessage() {
ByteArrayDataOutput out = ByteStreams.newDataOutput();
out.writeUTF("Forward");
out.writeUTF("ALL");
@@ -129,11 +124,6 @@ public class ProcessSyncPlayerLogin implements Runnable {
player.sendPluginMessage(plugin, "BungeeCord", out.toByteArray());
}
/**
* Method run.
*
* @see java.lang.Runnable#run()
*/
@Override
public void run() {
// Limbo contains the State of the Player before /login
@@ -174,8 +164,9 @@ public class ProcessSyncPlayerLogin implements Runnable {
if (jm != null) {
if (!jm.isEmpty()) {
for (Player p : Utils.getOnlinePlayers()) {
if (p.isOnline())
if (p.isOnline()) {
p.sendMessage(jm);
}
}
}
AuthMePlayerListener.joinMessage.remove(name);
@@ -187,12 +178,13 @@ public class ProcessSyncPlayerLogin implements Runnable {
}
// The Login event now fires (as intended) after everything is processed
Bukkit.getServer().getPluginManager().callEvent(new LoginEvent(player, true));
Bukkit.getServer().getPluginManager().callEvent(new LoginEvent(player));
player.saveData();
if (Settings.bungee)
if (Settings.bungee) {
sendBungeeMessage();
}
// Login is finish, display welcome message if we use email registration
if (Settings.useWelcomeMessage && Settings.emailRegistration)
if (Settings.useWelcomeMessage && Settings.emailRegistration) {
if (Settings.broadcastWelcomeMessage) {
for (String s : settings.getWelcomeMessage()) {
Bukkit.getServer().broadcastMessage(plugin.replaceAllInfo(s, player));
@@ -202,6 +194,7 @@ public class ProcessSyncPlayerLogin implements Runnable {
player.sendMessage(plugin.replaceAllInfo(s, player));
}
}
}
// Login is now finished; we can force all commands
forceCommands();
@@ -39,6 +39,7 @@ public class ProcessSyncPasswordRegister implements Runnable {
*
* @param player Player
* @param plugin AuthMe
* @param settings The plugin settings
*/
public ProcessSyncPasswordRegister(Player player, AuthMe plugin, NewSetting settings) {
this.m = plugin.getMessages();
@@ -119,7 +120,7 @@ public class ProcessSyncPasswordRegister implements Runnable {
}
// The LoginEvent now fires (as intended) after everything is processed
plugin.getServer().getPluginManager().callEvent(new LoginEvent(player, true));
plugin.getServer().getPluginManager().callEvent(new LoginEvent(player));
player.saveData();
if (!Settings.noConsoleSpam) {