Thread-safety
This commit is contained in:
parent
b322032757
commit
b25d874122
@ -73,7 +73,7 @@ public class AuthMe extends JavaPlugin {
|
|||||||
|
|
||||||
// Version and build number values
|
// Version and build number values
|
||||||
private static String pluginVersion = "5.6.0-Fork";
|
private static String pluginVersion = "5.6.0-Fork";
|
||||||
public static final String pluginBuild = "b";
|
private static final String pluginBuild = "b";
|
||||||
private static String pluginBuildNumber = "38";
|
private static String pluginBuildNumber = "38";
|
||||||
// Private instances
|
// Private instances
|
||||||
private EmailService emailService;
|
private EmailService emailService;
|
||||||
@ -85,12 +85,22 @@ public class AuthMe extends JavaPlugin {
|
|||||||
private Injector injector;
|
private Injector injector;
|
||||||
private BackupService backupService;
|
private BackupService backupService;
|
||||||
public static ConsoleLogger logger;
|
public static ConsoleLogger logger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*/
|
*/
|
||||||
public AuthMe() {
|
public AuthMe() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the plugin's build
|
||||||
|
*
|
||||||
|
* @return The plugin's build
|
||||||
|
*/
|
||||||
|
public static String getPluginBuild() {
|
||||||
|
return pluginBuild;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the plugin's name.
|
* Get the plugin's name.
|
||||||
|
|||||||
@ -32,10 +32,10 @@ import org.bukkit.inventory.meta.ItemMeta;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
@ -70,12 +70,14 @@ public class GuiCaptchaHandler implements Listener {
|
|||||||
private int timesLeft = 3;
|
private int timesLeft = 3;
|
||||||
//Use ConcurrentHashMap to store player and their close reason
|
//Use ConcurrentHashMap to store player and their close reason
|
||||||
/* We used many async tasks so there is concurrent**/
|
/* We used many async tasks so there is concurrent**/
|
||||||
public static HashMap<Player, String> closeReasonMap = new HashMap<>();
|
public static ConcurrentHashMap<Player, String> closeReasonMap = new ConcurrentHashMap<>();
|
||||||
//define randomStringSet
|
//define randomStringSet
|
||||||
String randomSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz!@#%&*()_+";
|
String randomSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz!@#%&*()_+";
|
||||||
String randomString = "";
|
String randomString = "";
|
||||||
Random randomItemSet = new Random();
|
Random randomItemSet = new Random();
|
||||||
Random howManyRandom = new Random();
|
Random howManyRandom = new Random();
|
||||||
|
|
||||||
|
|
||||||
private boolean isPacketListenersActive = false;
|
private boolean isPacketListenersActive = false;
|
||||||
|
|
||||||
public GuiCaptchaHandler() {
|
public GuiCaptchaHandler() {
|
||||||
@ -162,6 +164,7 @@ public class GuiCaptchaHandler implements Listener {
|
|||||||
messages.send(playerunreg, MessageKey.GUI_CAPTCHA_VERIFIED_AUTO_BEDROCK);
|
messages.send(playerunreg, MessageKey.GUI_CAPTCHA_VERIFIED_AUTO_BEDROCK);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bukkitService.runTaskAsynchronously(() -> {
|
bukkitService.runTaskAsynchronously(() -> {
|
||||||
bukkitService.runTask(() -> {
|
bukkitService.runTask(() -> {
|
||||||
randomString = sb.toString();
|
randomString = sb.toString();
|
||||||
@ -233,14 +236,12 @@ public class GuiCaptchaHandler implements Listener {
|
|||||||
timeOut = settings.getProperty(RestrictionSettings.TIMEOUT);
|
timeOut = settings.getProperty(RestrictionSettings.TIMEOUT);
|
||||||
}
|
}
|
||||||
long finalTimeOut = timeOut;
|
long finalTimeOut = timeOut;
|
||||||
bukkitService.runTask(() -> {
|
bukkitService.runTaskLater(() -> {
|
||||||
bukkitService.runTaskLater(() -> {
|
if (!closeReasonMap.containsKey(playerunreg) && !authmeApi.isRegistered(playerunreg.getName())) {
|
||||||
if (!closeReasonMap.containsKey(playerunreg) && !authmeApi.isRegistered(playerunreg.getName())) {
|
playerunreg.kickPlayer(service.retrieveSingleMessage(playerunreg, MessageKey.GUI_CAPTCHA_KICK_TIMEOUT));
|
||||||
playerunreg.kickPlayer(service.retrieveSingleMessage(playerunreg, MessageKey.GUI_CAPTCHA_KICK_TIMEOUT));
|
timesLeft = 3; // Reset the attempt counter
|
||||||
timesLeft = 3; // Reset the attempt counter
|
}
|
||||||
}
|
}, finalTimeOut * 20L);
|
||||||
}, finalTimeOut * 20L);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user