player profile load event from issue request #4045

This commit is contained in:
Shrek5InTheatres2019
2019-09-06 16:44:58 -07:00
parent e27d299132
commit c6c1c39a98
6 changed files with 81 additions and 1 deletions

View File

@ -0,0 +1,20 @@
package com.gmail.nossr50.runnables.player;
import com.gmail.nossr50.datatypes.player.PlayerProfile;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.EventUtils;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
public class ExecutePlayerProfileLoadEventTask extends BukkitRunnable {
private Player player;
private PlayerProfile profile;
public ExecutePlayerProfileLoadEventTask(Player player, PlayerProfile profile){
this.player = player;
this.profile = profile;
}
@Override
public void run() {
EventUtils.callPlayerProfileLoadEvent(this.player, this.profile);
}
}

View File

@ -3,14 +3,18 @@ package com.gmail.nossr50.runnables.player;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.player.PlayerProfile;
import com.gmail.nossr50.events.players.McMMOPlayerProfileLoadEvent;
import com.gmail.nossr50.locale.LocaleLoader;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.runnables.commands.McScoreboardKeepTask;
import com.gmail.nossr50.util.EventUtils;
import com.gmail.nossr50.util.Misc;
import com.gmail.nossr50.util.player.UserManager;
import com.gmail.nossr50.util.scoreboards.ScoreboardManager;
import org.bukkit.Bukkit;
import org.bukkit.Server;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.scheduler.BukkitRunnable;
public class PlayerProfileLoadingTask extends BukkitRunnable {
@ -42,9 +46,13 @@ public class PlayerProfileLoadingTask extends BukkitRunnable {
}
PlayerProfile profile = mcMMO.getDatabaseManager().loadPlayerProfile(player.getName(), player.getUniqueId(), true);
// If successful, schedule the apply
if (profile.isLoaded()) {
new ApplySuccessfulProfile(new McMMOPlayer(player, profile)).runTask(mcMMO.p);
Bukkit.getScheduler().runTask(mcMMO.p, () -> {
EventUtils.callPlayerProfileLoadEvent(player, profile);
});
return;
}