Change some custom event to let them be async
This commit is contained in:
@@ -13,6 +13,7 @@ import fr.xephi.authme.cache.auth.PlayerCache;
|
||||
import fr.xephi.authme.cache.limbo.LimboCache;
|
||||
import fr.xephi.authme.cache.limbo.LimboPlayer;
|
||||
import fr.xephi.authme.datasource.DataSource;
|
||||
import fr.xephi.authme.events.RestoreInventoryEvent;
|
||||
import fr.xephi.authme.listener.AuthMePlayerListener;
|
||||
import fr.xephi.authme.plugin.manager.CombatTagComunicator;
|
||||
import fr.xephi.authme.settings.Settings;
|
||||
@@ -97,6 +98,15 @@ public class AsyncronousQuit {
|
||||
}
|
||||
AuthMePlayerListener.gameMode.remove(name);
|
||||
final Player p = player;
|
||||
RestoreInventoryEvent ev = new RestoreInventoryEvent(player, inv, armor, true);
|
||||
Bukkit.getPluginManager().callEvent(ev);
|
||||
if (ev.isCancelled()) {
|
||||
inv = null;
|
||||
armor = null;
|
||||
} else {
|
||||
inv = ev.getInventory();
|
||||
armor = ev.getArmor();
|
||||
}
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new ProcessSyncronousPlayerQuit(plugin, p, inv, armor, isOp, isFlying, needToChange));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import fr.xephi.authme.AuthMe;
|
||||
import fr.xephi.authme.events.RestoreInventoryEvent;
|
||||
import fr.xephi.authme.settings.Settings;
|
||||
|
||||
public class ProcessSyncronousPlayerQuit implements Runnable {
|
||||
@@ -32,13 +31,8 @@ public class ProcessSyncronousPlayerQuit implements Runnable {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (inv != null && armor != null) {
|
||||
RestoreInventoryEvent ev = new RestoreInventoryEvent(player, inv, armor);
|
||||
player.getServer().getPluginManager().callEvent(ev);
|
||||
if (!ev.isCancelled()) {
|
||||
plugin.api.setPlayerInventory(player, ev.getInventory(), ev.getArmor());
|
||||
}
|
||||
}
|
||||
if (inv != null && armor != null)
|
||||
plugin.api.setPlayerInventory(player, inv, armor);
|
||||
if (needToChange) {
|
||||
player.setOp(isOp);
|
||||
if (player.getGameMode() != GameMode.CREATIVE && !Settings.isMovementAllowed) {
|
||||
|
||||
Reference in New Issue
Block a user