WIP of reworking classes involved in querying data, also some work done to the party code rewrite

This commit is contained in:
nossr50
2020-10-15 16:19:47 -07:00
parent 9e450adb0b
commit cf245b02a5
62 changed files with 649 additions and 650 deletions

View File

@@ -51,7 +51,7 @@ public final class ChimaeraWing {
return;
}
mmoPlayer = mcMMO.getUserManager().getPlayer(player);
mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
//Not loaded
if(mmoPlayer == null)

View File

@@ -73,7 +73,7 @@ public class EventUtils {
*/
public static McMMOPlayer getMcMMOPlayer(Entity entity)
{
return mcMMO.getUserManager().getPlayer((Player)entity);
return mcMMO.getUserManager().queryMcMMOPlayer((Player)entity);
}
/**
@@ -121,7 +121,7 @@ public class EventUtils {
return true;
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
if(mmoPlayer == null)
{
@@ -199,7 +199,7 @@ public class EventUtils {
boolean isCancelled = event.isCancelled();
if (isCancelled) {
PlayerProfile profile = mcMMO.getUserManager().getPlayer(player);
PlayerProfile profile = mcMMO.getUserManager().queryMcMMOPlayer(player);
profile.getExperienceManager().setSkillLevel(skill, profile.getSkillLevel(skill) - (isLevelUp ? levelsChanged : -levelsChanged));
profile.addXp(skill, xpRemoved);
@@ -215,7 +215,7 @@ public class EventUtils {
boolean isCancelled = event.isCancelled();
if (isCancelled) {
PlayerProfile profile = mcMMO.getUserManager().getPlayer(player);
PlayerProfile profile = mcMMO.getUserManager().queryMcMMOPlayer(player);
profile.modifySkill(skill, profile.getSkillLevel(skill) - (isLevelUp ? levelsChanged : -levelsChanged));
profile.addXp(skill, xpRemoved);
@@ -250,7 +250,7 @@ public class EventUtils {
}
public static void handlePartyTeleportEvent(Player teleportingPlayer, Player targetPlayer) {
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(teleportingPlayer);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(teleportingPlayer);
if(mmoPlayer == null)
return;
@@ -305,15 +305,15 @@ public class EventUtils {
boolean isCancelled = event.isCancelled();
if (!isCancelled) {
mcMMO.getUserManager().getPlayer(player).addXp(skill, event.getRawXpGained());
mcMMO.getUserManager().getPlayer(player).registerXpGain(skill, event.getRawXpGained());
mcMMO.getUserManager().queryMcMMOPlayer(player).addXp(skill, event.getRawXpGained());
mcMMO.getUserManager().queryMcMMOPlayer(player).registerXpGain(skill, event.getRawXpGained());
}
return !isCancelled;
}
public static boolean handleStatsLossEvent(Player player, HashMap<String, Integer> levelChanged, HashMap<String, Float> experienceChanged) {
if(mcMMO.getUserManager().getPlayer(player) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(player) == null)
return true;
McMMOPlayerStatLossEvent event = new McMMOPlayerStatLossEvent(player, levelChanged, experienceChanged);
@@ -324,7 +324,7 @@ public class EventUtils {
if (!isCancelled) {
levelChanged = event.getLevelChanged();
experienceChanged = event.getExperienceChanged();
PlayerProfile playerProfile = mcMMO.getUserManager().getPlayer(player);
PlayerProfile playerProfile = mcMMO.getUserManager().queryMcMMOPlayer(player);
for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) {
String skillName = primarySkillType.toString();
@@ -363,17 +363,17 @@ public class EventUtils {
HashMap<String, Integer> levelChangedVictim = eventVictim.getLevelChanged();
HashMap<String, Float> experienceChangedVictim = eventVictim.getExperienceChanged();
McMMOPlayer killerPlayer = mcMMO.getUserManager().getPlayer(killer);
McMMOPlayer killerPlayer = mcMMO.getUserManager().queryMcMMOPlayer(killer);
//Not loaded
if(killerPlayer == null)
return true;
//Not loaded
if(mcMMO.getUserManager().getPlayer(victim) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(victim) == null)
return true;
PlayerProfile victimProfile = mcMMO.getUserManager().getPlayer(victim);
PlayerProfile victimProfile = mcMMO.getUserManager().queryMcMMOPlayer(victim);
for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) {
String skillName = primarySkillType.toString();

View File

@@ -25,10 +25,10 @@ public final class HardcoreManager {
double statLossPercentage = Config.getInstance().getHardcoreDeathStatPenaltyPercentage();
int levelThreshold = Config.getInstance().getHardcoreDeathStatPenaltyLevelThreshold();
if(mcMMO.getUserManager().getPlayer(player) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(player) == null)
return;
PlayerProfile playerProfile = mcMMO.getUserManager().getPlayer(player);
PlayerProfile playerProfile = mcMMO.getUserManager().queryMcMMOPlayer(player);
int totalLevelsLost = 0;
HashMap<String, Integer> levelChanged = new HashMap<>();
@@ -76,11 +76,11 @@ public final class HardcoreManager {
double vampirismStatLeechPercentage = Config.getInstance().getHardcoreVampirismStatLeechPercentage();
int levelThreshold = Config.getInstance().getHardcoreVampirismLevelThreshold();
if(mcMMO.getUserManager().getPlayer(killer) == null || mcMMO.getUserManager().getPlayer(victim) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(killer) == null || mcMMO.getUserManager().queryMcMMOPlayer(victim) == null)
return;
PlayerProfile killerProfile = mcMMO.getUserManager().getPlayer(killer);
PlayerProfile victimProfile = mcMMO.getUserManager().getPlayer(victim);
PlayerProfile killerProfile = mcMMO.getUserManager().queryMcMMOPlayer(killer);
PlayerProfile victimProfile = mcMMO.getUserManager().queryMcMMOPlayer(victim);
int totalLevelsStolen = 0;
HashMap<String, Integer> levelChanged = new HashMap<>();

View File

@@ -367,7 +367,7 @@ public final class HolidayManager {
if(!Config.getInstance().isAprilFoolsAllowed())
return;
final McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
final McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
if (mmoPlayer == null) return;
int levelTotal = Misc.getRandom().nextInt(1 + mmoPlayer.getSkillLevel(PrimarySkillType.MINING)) + 1;

View File

@@ -8,7 +8,7 @@ import com.gmail.nossr50.commands.chat.AdminChatCommand;
import com.gmail.nossr50.commands.chat.McChatSpy;
import com.gmail.nossr50.commands.chat.PartyChatCommand;
import com.gmail.nossr50.commands.database.McpurgeCommand;
import com.gmail.nossr50.commands.database.McremoveCommand;
import com.gmail.nossr50.commands.database.DatabaseRemovePlayerCommand;
import com.gmail.nossr50.commands.database.MmoshowdbCommand;
import com.gmail.nossr50.commands.experience.AddlevelsCommand;
import com.gmail.nossr50.commands.experience.AddxpCommand;
@@ -298,7 +298,7 @@ public final class CommandRegistrationManager {
command.setPermission("mcmmo.commands.mcremove");
command.setPermissionMessage(permissionsMessage);
command.setUsage(LocaleLoader.getString("Commands.Usage.1", "mcremove", "<" + LocaleLoader.getString("Commands.Usage.Player") + ">"));
command.setExecutor(new McremoveCommand());
command.setExecutor(new DatabaseRemovePlayerCommand());
}
private static void registerMmoshowdbCommand() {

View File

@@ -87,7 +87,7 @@ public final class CommandUtils {
PlayerProfile profile = new PlayerProfile(playerName, false);
if (unloadedProfile(sender, profile)) {
if (hasNoProfile(sender, profile)) {
return false;
}
@@ -95,12 +95,12 @@ public final class CommandUtils {
return false;
}
public static boolean unloadedProfile(CommandSender sender, PlayerProfile profile) {
public static boolean hasNoProfile(CommandSender sender, PlayerProfile profile) {
if (profile.isLoaded()) {
return false;
}
sender.sendMessage(LocaleLoader.getString("Commands.Offline"));
return true;
}
@@ -215,10 +215,10 @@ public final class CommandUtils {
}
private static void printGroupedSkillData(Player inspect, CommandSender display, String header, List<PrimarySkillType> skillGroup) {
if(mcMMO.getUserManager().getPlayer(inspect) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(inspect) == null)
return;
PlayerProfile profile = mcMMO.getUserManager().getPlayer(inspect);
PlayerProfile profile = mcMMO.getUserManager().queryMcMMOPlayer(inspect);
List<String> displayData = new ArrayList<>();
displayData.add(header);

View File

@@ -35,7 +35,7 @@ public class NotificationManager {
*/
public static void sendPlayerInformation(Player player, NotificationType notificationType, String key)
{
if(mcMMO.getUserManager().getPlayer(player) == null || !mcMMO.getUserManager().getPlayer(player).hasSkillChatNotifications())
if(mcMMO.getUserManager().queryMcMMOPlayer(player) == null || !mcMMO.getUserManager().queryMcMMOPlayer(player).hasSkillChatNotifications())
return;
McMMOMessageType destination = AdvancedConfig.getInstance().doesNotificationUseActionBar(notificationType) ? McMMOMessageType.ACTION_BAR : McMMOMessageType.SYSTEM;
@@ -49,10 +49,10 @@ public class NotificationManager {
public static boolean doesPlayerUseNotifications(Player player)
{
if(mcMMO.getUserManager().getPlayer(player) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(player) == null)
return false;
else
return mcMMO.getUserManager().getPlayer(player).hasSkillChatNotifications();
return mcMMO.getUserManager().queryMcMMOPlayer(player).hasSkillChatNotifications();
}
/**
@@ -71,7 +71,7 @@ public class NotificationManager {
public static void sendPlayerInformationChatOnly(Player player, String key, String... values)
{
if(mcMMO.getUserManager().getPlayer(player) == null || !mcMMO.getUserManager().getPlayer(player).hasSkillChatNotifications())
if(mcMMO.getUserManager().queryMcMMOPlayer(player) == null || !mcMMO.getUserManager().queryMcMMOPlayer(player).hasSkillChatNotifications())
return;
String preColoredString = LocaleLoader.getString(key, (Object[]) values);
@@ -80,7 +80,7 @@ public class NotificationManager {
public static void sendPlayerInformationChatOnlyPrefixed(Player player, String key, String... values)
{
if(mcMMO.getUserManager().getPlayer(player) == null || !mcMMO.getUserManager().getPlayer(player).hasSkillChatNotifications())
if(mcMMO.getUserManager().queryMcMMOPlayer(player) == null || !mcMMO.getUserManager().queryMcMMOPlayer(player).hasSkillChatNotifications())
return;
String preColoredString = LocaleLoader.getString(key, (Object[]) values);
@@ -90,7 +90,7 @@ public class NotificationManager {
public static void sendPlayerInformation(Player player, NotificationType notificationType, String key, String... values)
{
if(mcMMO.getUserManager().getPlayer(player) == null || !mcMMO.getUserManager().getPlayer(player).hasSkillChatNotifications())
if(mcMMO.getUserManager().queryMcMMOPlayer(player) == null || !mcMMO.getUserManager().queryMcMMOPlayer(player).hasSkillChatNotifications())
return;
McMMOMessageType destination = AdvancedConfig.getInstance().doesNotificationUseActionBar(notificationType) ? McMMOMessageType.ACTION_BAR : McMMOMessageType.SYSTEM;

View File

@@ -0,0 +1,12 @@
package com.gmail.nossr50.util.player;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.datatypes.party.Party;
import com.gmail.nossr50.datatypes.party.PartyFeature;
import org.jetbrains.annotations.NotNull;
public class PartyUtils {
public static boolean isAllowed(@NotNull Party party, @NotNull PartyFeature partyFeature) {
return party.getPartyExperienceManager().getLevel() >= Config.getInstance().getPartyFeatureUnlockLevel(partyFeature);
}
}

View File

@@ -9,19 +9,23 @@ import com.gmail.nossr50.runnables.player.PersistentPlayerDataSaveTask;
import com.gmail.nossr50.runnables.skills.BleedTimerTask;
import com.gmail.nossr50.util.scoreboards.ScoreboardManager;
import com.google.common.collect.ImmutableList;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.metadata.FixedMetadataValue;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.UUID;
//TODO: Add per world handling
public final class UserManager {
private final HashSet<McMMOPlayer> playerDataSet; //Used to track players for sync saves on shutdown
private final @NotNull HashSet<McMMOPlayer> playerDataSet; //Used to track players for sync saves on shutdown
public UserManager() {
this.playerDataSet = new HashSet<>();
@@ -32,13 +36,13 @@ public final class UserManager {
*
* @param mmoPlayer the player profile to start tracking
*/
public void track(McMMOPlayer mmoPlayer) {
public void track(@NotNull McMMOPlayer mmoPlayer) {
mmoPlayer.getPlayer().setMetadata(mcMMO.playerDataKey, new FixedMetadataValue(mcMMO.p, mmoPlayer));
playerDataSet.add(mmoPlayer); //for sync saves on shutdown
}
public void cleanupPlayer(McMMOPlayer mmoPlayer) {
public void cleanupPlayer(@NotNull McMMOPlayer mmoPlayer) {
playerDataSet.remove(mmoPlayer);
}
@@ -47,8 +51,8 @@ public final class UserManager {
*
* @param player The Player object
*/
public void remove(Player player) {
McMMOPlayer mmoPlayer = getPlayer(player);
public void remove(@NotNull Player player) {
McMMOPlayer mmoPlayer = queryMcMMOPlayer(player);
mmoPlayer.cleanup();
player.removeMetadata(mcMMO.playerDataKey, mcMMO.p);
@@ -66,12 +70,12 @@ public final class UserManager {
playerDataSet.clear(); //Clear sync save tracking
}
public Collection<McMMOPlayer> getPlayers() {
public @NotNull Collection<McMMOPlayer> getPlayers() {
Collection<McMMOPlayer> playerCollection = new ArrayList<>();
for (Player player : mcMMO.p.getServer().getOnlinePlayers()) {
if (hasPlayerDataKey(player)) {
playerCollection.add(getPlayer(player));
playerCollection.add(queryMcMMOPlayer(player));
}
}
@@ -84,19 +88,40 @@ public final class UserManager {
* @param playerName The name of the player whose McMMOPlayer to retrieve
* @return the player's McMMOPlayer object
*/
public McMMOPlayer getPlayer(String playerName) {
public @Nullable McMMOPlayer queryMcMMOPlayer(@NotNull UUID playerUUID) {
return retrieveMcMMOPlayer(playerName, false);
}
public McMMOPlayer getOfflinePlayer(OfflinePlayer player) {
if (player instanceof Player) {
return getPlayer((Player) player);
}
/**
* Attempts to find a player in the database by name alone
* @param playerName target player name
* @return will return a valid McMMOPlayer if one is found, otherwise returns null
*/
public @Nullable OfflinePlayer findPlayer(@NotNull String playerName) {
return retrieveMcMMOPlayer(player.getName(), true);
}
public McMMOPlayer getOfflinePlayer(String playerName) {
public @Nullable McMMOPlayer queryMcMMOPlayer(@NotNull OfflinePlayer offlinePlayer) {
return queryMcMMOPlayer(offlinePlayer.getUniqueId());
}
/**
* Used to grab a player by name alone
* @param playerName
* @return
*/
@Deprecated
public @Nullable McMMOPlayer queryMcMMOPlayer(@NotNull String playerName) {
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(playerName);
if(offlinePlayer != null) {
return retrieveMcMMOPlayer(offlinePlayer);
} else {
return null;
}
}
public @Nullable McMMOPlayer getOfflinePlayer(String playerName) {
return retrieveMcMMOPlayer(playerName, true);
}
@@ -105,7 +130,7 @@ public final class UserManager {
* @param player target player
* @return McMMOPlayer object for this player, null if Player has not been loaded
*/
public McMMOPlayer getPlayer(Player player) {
public @Nullable McMMOPlayer queryMcMMOPlayer(@NotNull Player player) {
//Avoid Array Index out of bounds
if(player != null && player.hasMetadata(mcMMO.playerDataKey))
return (McMMOPlayer) player.getMetadata(mcMMO.playerDataKey).get(0).value();
@@ -113,7 +138,7 @@ public final class UserManager {
return null;
}
private McMMOPlayer retrieveMcMMOPlayer(String playerName, boolean offlineValid) {
private @Nullable McMMOPlayer retrieveMcMMOPlayer(@NotNull String playerName, boolean offlineValid) {
Player player = mcMMO.p.getServer().getPlayerExact(playerName);
if (player == null) {
@@ -124,79 +149,31 @@ public final class UserManager {
return null;
}
return getPlayer(player);
return queryMcMMOPlayer(player);
}
public boolean hasPlayerDataKey(Entity entity) {
return entity != null && entity.hasMetadata(mcMMO.playerDataKey);
}
public MMODataSnapshot createPlayerDataSnapshot(PersistentPlayerData persistentPlayerData) {
public @NotNull MMODataSnapshot createPlayerDataSnapshot(@NotNull PersistentPlayerData persistentPlayerData) {
return new MMODataSnapshot(persistentPlayerData);
}
public void saveUserImmediately(PersistentPlayerData persistentPlayerData, boolean useSync) {
public void saveUserImmediately(@NotNull PersistentPlayerData persistentPlayerData, boolean useSync) {
if(useSync)
scheduleSyncSave(createPlayerDataSnapshot(persistentPlayerData)); //Execute sync saves immediately
else
scheduleAsyncSaveDelay(createPlayerDataSnapshot(persistentPlayerData), 0);
}
public void saveUserWithDelay(PersistentPlayerData persistentPlayerData, boolean useSync, int delayTicks) {
public void saveUserWithDelay(@NotNull PersistentPlayerData persistentPlayerData, boolean useSync, int delayTicks) {
if(useSync)
scheduleSyncSaveDelay(createPlayerDataSnapshot(persistentPlayerData), delayTicks); //Execute sync saves immediately
else
scheduleAsyncSaveDelay(createPlayerDataSnapshot(persistentPlayerData), delayTicks);
}
// public void save(boolean useSync) {
// if (!changed || !loaded) {
// saveAttempts = 0;
// return;
// }
//
// // TODO should this part be synchronized?
// PlayerProfile profileCopy = new PlayerProfile(playerName, uuid,
// experienceManager.copyPrimarySkillLevelsMap(),
// experienceManager.copyPrimarySkillExperienceValuesMap(),
// ImmutableMap.copyOf(abilityDATS),
// mobHealthbarType,
// scoreboardTipsShown,
// ImmutableMap.copyOf(uniquePlayerData),
// ImmutableMap.copyOf(xpBarState));
//
// changed = !mcMMO.getDatabaseManager().saveUser(profileCopy);
//
// if (changed) {
// mcMMO.p.getLogger().severe("PlayerProfile saving failed for player: " + playerName + " " + uuid);
//
// if(saveAttempts > 0)
// {
// mcMMO.p.getLogger().severe("Attempted to save profile for player "+getPlayerName()
// + " resulted in failure. "+saveAttempts+" have been made so far.");
// }
//
// if(saveAttempts < 10)
// {
// saveAttempts++;
//
// if(useSync)
// scheduleSyncSave(); //Execute sync saves immediately
// else
// scheduleAsyncSaveDelay();
//
// } else {
// mcMMO.p.getLogger().severe("mcMMO has failed to save the profile for "
// +getPlayerName()+" numerous times." +
// " mcMMO will now stop attempting to save this profile." +
// " Check your console for errors and inspect your DB for issues.");
// }
//
// } else {
// saveAttempts = 0;
// }
// }
/**
* Save all users ON THIS THREAD.
*/
@@ -226,7 +203,7 @@ public final class UserManager {
*
* @param syncSave if true, data is saved synchronously
*/
public void logout(McMMOPlayer mmoPlayer, boolean syncSave) {
public void logout(@NotNull McMMOPlayer mmoPlayer, boolean syncSave) {
BleedTimerTask.bleedOut(mmoPlayer.getPlayer());
//TODO: There is a possibility that async saves don't execute in time if the server is told to shutdown
@@ -247,19 +224,19 @@ public final class UserManager {
}
public void scheduleAsyncSave(MMODataSnapshot mmoDataSnapshot) {
public void scheduleAsyncSave(@NotNull MMODataSnapshot mmoDataSnapshot) {
new PersistentPlayerDataSaveTask(mmoDataSnapshot).runTaskAsynchronously(mcMMO.p);
}
public void scheduleSyncSave(MMODataSnapshot mmoDataSnapshot) {
public void scheduleSyncSave(@NotNull MMODataSnapshot mmoDataSnapshot) {
new PersistentPlayerDataSaveTask(mmoDataSnapshot).runTask(mcMMO.p);
}
public void scheduleAsyncSaveDelay(MMODataSnapshot mmoDataSnapshot, int delayTicks) {
public void scheduleAsyncSaveDelay(@NotNull MMODataSnapshot mmoDataSnapshot, int delayTicks) {
new PersistentPlayerDataSaveTask(mmoDataSnapshot).runTaskLaterAsynchronously(mcMMO.p, delayTicks);
}
public void scheduleSyncSaveDelay(MMODataSnapshot mmoDataSnapshot, int delayTicks) {
public void scheduleSyncSaveDelay(@NotNull MMODataSnapshot mmoDataSnapshot, int delayTicks) {
new PersistentPlayerDataSaveTask(mmoDataSnapshot).runTaskLater(mcMMO.p, delayTicks);
}
}

View File

@@ -205,7 +205,7 @@ public class ScoreboardWrapper {
if(mcMMO.getUserManager().getPlayer(playerName) == null)
return;
PlayerProfile profile = mcMMO.getUserManager().getPlayer(player);
PlayerProfile profile = mcMMO.getUserManager().queryMcMMOPlayer(player);
if (profile.getScoreboardTipsShown() >= Config.getInstance().getTipsAmount()) {
return;
@@ -433,7 +433,7 @@ public class ScoreboardWrapper {
return;
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
if(mmoPlayer == null)
return;

View File

@@ -47,7 +47,7 @@ public final class CombatUtils {
return;
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
//Make sure the profiles been loaded
if(mmoPlayer == null) {
@@ -95,7 +95,7 @@ public final class CombatUtils {
return;
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
//Make sure the profiles been loaded
if(mmoPlayer == null) {
@@ -144,7 +144,7 @@ public final class CombatUtils {
double finalDamage = initialDamage;
Map<DamageModifier, Double> modifiers = getModifiers(event);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
//Make sure the profiles been loaded
if(mmoPlayer == null) {
@@ -193,7 +193,7 @@ public final class CombatUtils {
double initialDamage = event.getDamage();
double finalDamage = initialDamage;
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
//Make sure the profiles been loaded
if(mmoPlayer == null) {
@@ -233,7 +233,7 @@ public final class CombatUtils {
double finalDamage = initialDamage;
if(master != null && master.isOnline() && master.isValid()) {
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(master);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(master);
//Make sure the profiles been loaded
if(mmoPlayer == null) {
@@ -265,7 +265,7 @@ public final class CombatUtils {
private static void processArcheryCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event, Projectile arrow) {
double initialDamage = event.getDamage();
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
//Make sure the profiles been loaded
if(mmoPlayer == null) {
@@ -307,7 +307,7 @@ public final class CombatUtils {
private static void processCrossbowCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event, Projectile arrow) {
double initialDamage = event.getDamage();
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
//Make sure the profiles been loaded
if(mmoPlayer == null) {
@@ -319,7 +319,7 @@ public final class CombatUtils {
double finalDamage = event.getDamage();
if (target instanceof Player && PrimarySkillType.UNARMED.getPVPEnabled()) {
UnarmedManager unarmedManager = mcMMO.getUserManager().getPlayer((Player) target).getUnarmedManager();
UnarmedManager unarmedManager = mcMMO.getUserManager().queryMcMMOPlayer((Player) target).getUnarmedManager();
if (unarmedManager.canDeflect()) {
event.setCancelled(unarmedManager.deflectCheck());
@@ -359,7 +359,7 @@ public final class CombatUtils {
return;
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
AcrobaticsManager acrobaticsManager = mmoPlayer.getAcrobaticsManager();
if (acrobaticsManager.canDodge(target)) {
@@ -390,7 +390,7 @@ public final class CombatUtils {
if (target instanceof Tameable) {
if (heldItem.getType() == Material.BONE) {
TamingManager tamingManager = mcMMO.getUserManager().getPlayer(player).getTamingManager();
TamingManager tamingManager = mcMMO.getUserManager().queryMcMMOPlayer(player).getTamingManager();
if (tamingManager.canUseBeastLore()) {
tamingManager.beastLore(target);
@@ -483,7 +483,7 @@ public final class CombatUtils {
if (target.getType() != EntityType.CREEPER && !Misc.isNPCEntityExcludingVillagers(player) && PrimarySkillType.TAMING.getPermissions(player)) {
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
if(mmoPlayer == null) {
return;
@@ -752,7 +752,7 @@ public final class CombatUtils {
NotificationManager.sendPlayerInformation((Player)entity, NotificationType.SUBSKILL_MESSAGE, "Swords.Combat.SS.Struck");
}
mcMMO.getUserManager().getPlayer(attacker).getSwordsManager().ruptureCheck(target);
mcMMO.getUserManager().queryMcMMOPlayer(attacker).getSwordsManager().ruptureCheck(target);
break;
case AXES:
@@ -875,10 +875,10 @@ public final class CombatUtils {
Player defender = (Player) entity;
//TODO: NPC Interaction?
if(mcMMO.getUserManager().getPlayer(defender) == null)
if(mcMMO.getUserManager().queryMcMMOPlayer(defender) == null)
return true;
if (!defender.getWorld().getPVP() || defender == player || mcMMO.getUserManager().getPlayer(defender).getGodMode()) {
if (!defender.getWorld().getPVP() || defender == player || mcMMO.getUserManager().queryMcMMOPlayer(defender).getGodMode()) {
return false;
}

View File

@@ -49,7 +49,7 @@ public final class PerksUtils {
double modifier = 1.0F;
if (Permissions.customXpBoost(player, skill)) {
if(mcMMO.getUserManager().getPlayer(player) != null && mcMMO.getUserManager().getPlayer(player).isDebugMode()) {
if(mcMMO.getUserManager().queryMcMMOPlayer(player) != null && mcMMO.getUserManager().queryMcMMOPlayer(player).isDebugMode()) {
player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.DARK_GRAY + "XP Perk Multiplier IS CUSTOM! ");
}
@@ -76,7 +76,7 @@ public final class PerksUtils {
float modifiedXP = (float) (xp * modifier);
if(mcMMO.getUserManager().getPlayer(player) != null && mcMMO.getUserManager().getPlayer(player).isDebugMode()) {
if(mcMMO.getUserManager().queryMcMMOPlayer(player) != null && mcMMO.getUserManager().queryMcMMOPlayer(player).isDebugMode()) {
player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "XP Perk Multiplier - " + ChatColor.GOLD + modifier);
player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "Original XP before perk boosts " + ChatColor.RED + (double) xp);
player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "XP AFTER PERKS " + ChatColor.DARK_RED + modifiedXP);

View File

@@ -181,7 +181,7 @@ public class SkillUtils {
}
}
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
//Not Loaded
if(mmoPlayer == null)

View File

@@ -21,7 +21,7 @@ public class SmeltingTracker {
private void changeFurnaceOwnership(Furnace furnace, Player player) {
McMMOPlayer mmoPlayer = mcMMO.getUserManager().getPlayer(player);
McMMOPlayer mmoPlayer = mcMMO.getUserManager().queryMcMMOPlayer(player);
/*
Debug output
@@ -52,7 +52,7 @@ public class SmeltingTracker {
OfflinePlayer furnaceOwner = getFurnaceOwner(furnace);
if(furnaceOwner != null && furnaceOwner.isOnline()) {
McMMOPlayer furnaceOwnerProfile = mcMMO.getUserManager().getPlayer(furnaceOwner.getPlayer());
McMMOPlayer furnaceOwnerProfile = mcMMO.getUserManager().queryMcMMOPlayer(furnaceOwner.getPlayer());
if(furnaceOwnerProfile != null) {
if(furnaceOwnerProfile.isDebugMode()) {