1
0
mirror of https://github.com/mcMMO-Dev/mcMMO.git synced 2026-02-18 01:42:32 +01:00

mcMMO now checks in all places for a loaded profile before executing processing on said profile

This commit is contained in:
nossr50
2019-04-12 15:17:05 -07:00
parent 00cc5f0845
commit 33a68daa9c
62 changed files with 560 additions and 21 deletions

View File

@@ -120,11 +120,16 @@ public class EventUtils {
Player player = (Player) entity;
if (!UserManager.hasPlayerDataKey(player)) {
return false;
return true;
}
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
if(mcMMOPlayer == null)
{
return true;
}
/* Check for invincibility */
if (mcMMOPlayer.getGodMode()) {
entityDamageEvent.setCancelled(true);
@@ -242,6 +247,9 @@ public class EventUtils {
public static void handlePartyTeleportEvent(Player teleportingPlayer, Player targetPlayer) {
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(teleportingPlayer);
if(mcMMOPlayer == null)
return;
McMMOPartyTeleportEvent event = new McMMOPartyTeleportEvent(teleportingPlayer, targetPlayer, mcMMOPlayer.getParty().getName());
mcMMO.p.getServer().getPluginManager().callEvent(event);
@@ -300,6 +308,9 @@ public class EventUtils {
}
public static boolean handleStatsLossEvent(Player player, HashMap<String, Integer> levelChanged, HashMap<String, Float> experienceChanged) {
if(UserManager.getPlayer(player) == null)
return true;
McMMOPlayerStatLossEvent event = new McMMOPlayerStatLossEvent(player, levelChanged, experienceChanged);
mcMMO.p.getServer().getPluginManager().callEvent(event);
@@ -346,6 +357,15 @@ public class EventUtils {
HashMap<String, Float> experienceChangedVictim = eventVictim.getExperienceChanged();
McMMOPlayer killerPlayer = UserManager.getPlayer(killer);
//Not loaded
if(killerPlayer == null)
return true;
//Not loaded
if(UserManager.getPlayer(victim) == null)
return true;
PlayerProfile victimProfile = UserManager.getPlayer(victim).getProfile();
for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) {