diff --git a/src/main/java/com/gmail/nossr50/api/PartyAPI.java b/src/main/java/com/gmail/nossr50/api/PartyAPI.java index 4b2173133..71cc84f93 100644 --- a/src/main/java/com/gmail/nossr50/api/PartyAPI.java +++ b/src/main/java/com/gmail/nossr50/api/PartyAPI.java @@ -2,7 +2,7 @@ package com.gmail.nossr50.api; import com.gmail.nossr50.config.Config; import com.gmail.nossr50.datatypes.interactions.NotificationType; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.player.NotificationManager; import org.bukkit.OfflinePlayer; diff --git a/src/main/java/com/gmail/nossr50/chat/ChatManager.java b/src/main/java/com/gmail/nossr50/chat/ChatManager.java index c23930a1e..67d0fd840 100644 --- a/src/main/java/com/gmail/nossr50/chat/ChatManager.java +++ b/src/main/java/com/gmail/nossr50/chat/ChatManager.java @@ -6,7 +6,7 @@ import com.gmail.nossr50.chat.mailer.AdminChatMailer; import com.gmail.nossr50.chat.mailer.PartyChatMailer; import com.gmail.nossr50.config.ChatConfig; import com.gmail.nossr50.datatypes.chat.ChatChannel; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; diff --git a/src/main/java/com/gmail/nossr50/chat/SamePartyPredicate.java b/src/main/java/com/gmail/nossr50/chat/SamePartyPredicate.java index 5a6da54da..640dffb9e 100644 --- a/src/main/java/com/gmail/nossr50/chat/SamePartyPredicate.java +++ b/src/main/java/com/gmail/nossr50/chat/SamePartyPredicate.java @@ -1,8 +1,8 @@ package com.gmail.nossr50.chat; -import com.gmail.nossr50.datatypes.party.Party; +import com.gmail.nossr50.mcMMO; +import com.neetgames.mcmmo.party.Party; import com.neetgames.mcmmo.player.OnlineMMOPlayer; -import com.gmail.nossr50.util.player.UserManager; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.entity.Player; diff --git a/src/main/java/com/gmail/nossr50/chat/mailer/PartyChatMailer.java b/src/main/java/com/gmail/nossr50/chat/mailer/PartyChatMailer.java index 6158ad826..d0551e7cb 100644 --- a/src/main/java/com/gmail/nossr50/chat/mailer/PartyChatMailer.java +++ b/src/main/java/com/gmail/nossr50/chat/mailer/PartyChatMailer.java @@ -4,7 +4,7 @@ import com.gmail.nossr50.chat.author.Author; import com.gmail.nossr50.chat.message.ChatMessage; import com.gmail.nossr50.chat.message.PartyChatMessage; import com.gmail.nossr50.datatypes.chat.ChatChannel; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.events.chat.McMMOChatEvent; import com.gmail.nossr50.events.chat.McMMOPartyChatEvent; import com.gmail.nossr50.locale.LocaleLoader; diff --git a/src/main/java/com/gmail/nossr50/chat/message/PartyChatMessage.java b/src/main/java/com/gmail/nossr50/chat/message/PartyChatMessage.java index 00ab8d138..01eae6c93 100644 --- a/src/main/java/com/gmail/nossr50/chat/message/PartyChatMessage.java +++ b/src/main/java/com/gmail/nossr50/chat/message/PartyChatMessage.java @@ -2,7 +2,7 @@ package com.gmail.nossr50.chat.message; import com.gmail.nossr50.chat.author.Author; import com.gmail.nossr50.datatypes.chat.ChatChannel; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; diff --git a/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java b/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java index bb859e29f..4f6be49b2 100644 --- a/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/chat/PartyChatCommand.java @@ -7,7 +7,7 @@ import co.aikar.commands.annotation.Conditions; import co.aikar.commands.annotation.Default; import com.gmail.nossr50.commands.CommandManager; import com.gmail.nossr50.datatypes.chat.ChatChannel; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.party.PartyManager; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java index d587fd581..ae2700a5c 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyChangeOwnerCommand.java @@ -1,6 +1,6 @@ package com.gmail.nossr50.commands.party; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.commands.CommandUtils; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyChangePasswordCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyChangePasswordCommand.java index 1cb24a4ef..d06705ac2 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyChangePasswordCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyChangePasswordCommand.java @@ -1,6 +1,6 @@ package com.gmail.nossr50.commands.party; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import org.bukkit.command.Command; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java index 2d30ce01b..eb7d711ab 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyCommand.java @@ -2,7 +2,7 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.commands.chat.PartyChatCommand; import com.gmail.nossr50.commands.party.teleport.PtpCommand; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java index 58aae0a1a..429a6d9ae 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyDisbandCommand.java @@ -1,6 +1,6 @@ package com.gmail.nossr50.commands.party; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.datatypes.party.PartyMember; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java index 66f18a966..d716edb0d 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyInfoCommand.java @@ -1,7 +1,7 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.config.Config; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.datatypes.party.PartyFeature; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java index 32aef2b9c..8a430bed5 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyInviteCommand.java @@ -1,7 +1,7 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.config.Config; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java index e4849da9b..8b16afa0a 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyKickCommand.java @@ -1,6 +1,6 @@ package com.gmail.nossr50.commands.party; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java index 51a4b0253..1bf97ab25 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyQuitCommand.java @@ -1,6 +1,6 @@ package com.gmail.nossr50.commands.party; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; import com.gmail.nossr50.locale.LocaleLoader; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java index ae768a1b0..a7b6818f9 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyRenameCommand.java @@ -1,6 +1,6 @@ package com.gmail.nossr50.commands.party; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.datatypes.party.PartyMember; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.events.party.McMMOPartyChangeEvent.EventReason; diff --git a/src/main/java/com/gmail/nossr50/commands/party/PartyXpShareCommand.java b/src/main/java/com/gmail/nossr50/commands/party/PartyXpShareCommand.java index d62b39e67..6eaf2fcb2 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/PartyXpShareCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/PartyXpShareCommand.java @@ -1,7 +1,7 @@ package com.gmail.nossr50.commands.party; import com.gmail.nossr50.config.Config; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.datatypes.party.PartyFeature; import com.gmail.nossr50.datatypes.party.ShareMode; import com.gmail.nossr50.locale.LocaleLoader; diff --git a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptAnyCommand.java b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptAnyCommand.java index 5f87bd541..5bcc314d5 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptAnyCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpAcceptAnyCommand.java @@ -1,6 +1,6 @@ package com.gmail.nossr50.commands.party.teleport; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.datatypes.party.PartyMember; import com.gmail.nossr50.datatypes.party.PartyTeleportRecord; import com.neetgames.mcmmo.player.OnlineMMOPlayer; diff --git a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java index d0cd80670..38324132d 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java @@ -2,7 +2,7 @@ package com.gmail.nossr50.commands.party.teleport; import com.gmail.nossr50.config.Config; import com.gmail.nossr50.config.WorldBlacklist; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.datatypes.party.PartyFeature; import com.gmail.nossr50.datatypes.party.PartyTeleportRecord; import com.gmail.nossr50.datatypes.player.McMMOPlayer; diff --git a/src/main/java/com/gmail/nossr50/config/Config.java b/src/main/java/com/gmail/nossr50/config/Config.java index b1360f643..6580565e7 100644 --- a/src/main/java/com/gmail/nossr50/config/Config.java +++ b/src/main/java/com/gmail/nossr50/config/Config.java @@ -6,6 +6,7 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; import com.gmail.nossr50.util.text.StringUtils; import com.neetgames.mcmmo.MobHealthBarType; +import com.neetgames.mcmmo.skill.RootSkill; import com.neetgames.mcmmo.skill.SkillIdentity; import org.bukkit.Material; import org.bukkit.block.data.BlockData; @@ -551,9 +552,15 @@ public class Config extends AutoUpdateConfigLoader { return (cap <= 0) ? Integer.MAX_VALUE : cap; } - public int getLevelCap(@NotNull SkillIdentity skillIdentity) { + public int getLevelCap(@NotNull RootSkill rootSkill) { - int cap = config.getInt("Skills." + StringUtils.getCapitalized(skillIdentity.getSkillName()) + ".Level_Cap", 0); + int cap = config.getInt("Skills." + StringUtils.getCapitalized(rootSkill.getSkillName()) + ".Level_Cap", 0); + return (cap <= 0) ? Integer.MAX_VALUE : cap; + } + + public int getLevelCap(@NotNull PrimarySkillType primarySkillType) { + + int cap = config.getInt("Skills." + StringUtils.getCapitalized(primarySkillType.toString()) + ".Level_Cap", 0); return (cap <= 0) ? Integer.MAX_VALUE : cap; } diff --git a/src/main/java/com/gmail/nossr50/datatypes/experience/OnlineExperienceProcessor.java b/src/main/java/com/gmail/nossr50/datatypes/experience/OnlineExperienceProcessor.java index d38033254..78ab5040b 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/experience/OnlineExperienceProcessor.java +++ b/src/main/java/com/gmail/nossr50/datatypes/experience/OnlineExperienceProcessor.java @@ -2,8 +2,7 @@ package com.gmail.nossr50.datatypes.experience; import com.gmail.nossr50.config.Config; import com.gmail.nossr50.config.experience.ExperienceConfig; -import com.gmail.nossr50.datatypes.party.Party; -import com.gmail.nossr50.datatypes.player.McMMOPlayer; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; import com.neetgames.mcmmo.experience.ExperienceHandler; @@ -11,9 +10,7 @@ import com.neetgames.mcmmo.experience.XPGainReason; import com.neetgames.mcmmo.experience.XPGainSource; import com.neetgames.mcmmo.player.MMOPlayer; import com.neetgames.mcmmo.player.MMOPlayerData; -import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.datatypes.skills.CoreSkills; -import com.gmail.nossr50.datatypes.skills.RootSkill; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.party.ShareHandler; import com.gmail.nossr50.skills.child.FamilyTree; @@ -27,7 +24,6 @@ import com.neetgames.mcmmo.exceptions.UnknownSkillException; import com.neetgames.mcmmo.skill.RootSkill; import org.bukkit.GameMode; import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; import org.jetbrains.annotations.NotNull; import java.util.Map; @@ -322,7 +318,7 @@ public class OnlineExperienceProcessor implements ExperienceHandler { if(hasReachedPowerLevelCap()) { NotificationManager.sendPlayerInformationChatOnly(Misc.adaptPlayer(mmoPlayer), "LevelCap.PowerLevel", String.valueOf(Config.getInstance().getPowerLevelCap())); } else if(hasReachedLevelCap(rootSkill)) { - NotificationManager.sendPlayerInformationChatOnly(Misc.adaptPlayer(mmoPlayer), "LevelCap.Skill", String.valueOf(Config.getInstance().getLevelCap(rootSkill)), rootSkill.getName()); + NotificationManager.sendPlayerInformationChatOnly(Misc.adaptPlayer(mmoPlayer), "LevelCap.Skill", String.valueOf(Config.getInstance().getLevelCap(rootSkill)), rootSkill.getSkillName()); } //Updates from Party sources diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/Party.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyImpl.java similarity index 93% rename from src/main/java/com/gmail/nossr50/datatypes/party/Party.java rename to src/main/java/com/gmail/nossr50/datatypes/party/PartyImpl.java index 514036480..749edf06e 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/party/Party.java +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PartyImpl.java @@ -1,6 +1,7 @@ package com.gmail.nossr50.datatypes.party; import com.gmail.nossr50.chat.SamePartyPredicate; +import com.neetgames.mcmmo.party.Party; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; @@ -11,13 +12,13 @@ import java.util.Set; import java.util.UUID; import java.util.function.Predicate; -public class Party { +public class PartyImpl implements Party { private final @NotNull Predicate samePartyPredicate; private final @NotNull PersistentPartyData persistentPartyData; private final @NotNull PartyMemberManager partyMemberManager; private final @NotNull PartyExperienceManager partyExperienceManager; - public Party(@NotNull PersistentPartyData persistentPartyData) { + public PartyImpl(@NotNull PersistentPartyData persistentPartyData) { this.persistentPartyData = persistentPartyData; //Initialize Managers @@ -59,7 +60,7 @@ public class Party { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - Party party = (Party) o; + PartyImpl party = (PartyImpl) o; return samePartyPredicate.equals(party.samePartyPredicate) && persistentPartyData.equals(party.persistentPartyData) && partyMemberManager.equals(party.partyMemberManager) diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberManager.java b/src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberManager.java index 67fdb132f..fb61ee0da 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberManager.java +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PartyMemberManager.java @@ -1,10 +1,9 @@ package com.gmail.nossr50.datatypes.party; import com.gmail.nossr50.config.Config; -import com.gmail.nossr50.datatypes.dirtydata.DirtySet; +import com.neetgames.mcmmo.party.Party; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.util.Misc; -import com.neetgames.mcmmo.exceptions.InvalidPlayerException; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; @@ -29,7 +28,7 @@ public class PartyMemberManager { * * @return all party members */ - public @NotNull DirtySet getPartyMembers() { + public @NotNull Set getPartyMembers() { return persistentPartyData.getPartyMembers(); } diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/PersistentPartyData.java b/src/main/java/com/gmail/nossr50/datatypes/party/PersistentPartyData.java index 4f3ece7ab..3298c8cc4 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/party/PersistentPartyData.java +++ b/src/main/java/com/gmail/nossr50/datatypes/party/PersistentPartyData.java @@ -1,11 +1,10 @@ package com.gmail.nossr50.datatypes.party; -import com.gmail.nossr50.datatypes.dirtydata.DirtyData; -import com.gmail.nossr50.datatypes.dirtydata.DirtySet; -import com.gmail.nossr50.datatypes.mutableprimitives.MutableBoolean; -import com.gmail.nossr50.datatypes.mutableprimitives.MutableString; +import com.neetgames.neetlib.dirtydata.DirtyData; +import com.neetgames.neetlib.dirtydata.DirtySet; +import com.neetgames.neetlib.mutableprimitives.MutableBoolean; +import com.neetgames.neetlib.mutableprimitives.MutableString; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.HashSet; import java.util.Objects; @@ -17,8 +16,7 @@ public class PersistentPartyData { private final @NotNull DirtyData partyName; private final @NotNull DirtySet partyMembers; //TODO: Add cache for subsets - public PersistentPartyData(@NotNull String partyName, - @NotNull Set partyMembers) throws RuntimeException { + public PersistentPartyData(@NotNull String partyName, @NotNull Set partyMembers) throws RuntimeException { dirtyFlag = new MutableBoolean(false); this.partyName = new DirtyData<>(new MutableString(partyName), dirtyFlag); this.partyMembers = new DirtySet<>(new HashSet<>(partyMembers), dirtyFlag); @@ -28,7 +26,7 @@ public class PersistentPartyData { return partyName.getData().getImmutableCopy(); } - public @NotNull DirtySet getPartyMembers() { + public @NotNull Set getPartyMembers() { return partyMembers; } diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java index a301e0269..3ff484c5a 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java @@ -4,7 +4,7 @@ import com.gmail.nossr50.chat.author.PlayerAuthor; import com.gmail.nossr50.config.ChatConfig; import com.gmail.nossr50.config.WorldBlacklist; import com.gmail.nossr50.datatypes.chat.ChatChannel; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.datatypes.party.PartyTeleportRecord; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; @@ -33,17 +33,14 @@ import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.experience.MMOExperienceBarManager; import com.gmail.nossr50.util.input.AbilityActivationProcessor; import com.gmail.nossr50.util.input.SuperAbilityManager; -import com.neetgames.mcmmo.exceptions.UnknownSkillException; import com.neetgames.mcmmo.player.MMOPlayerData; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.neetgames.mcmmo.skill.RootSkill; -import com.neetgames.mcmmo.skill.SkillIdentity; import net.kyori.adventure.identity.Identified; import net.kyori.adventure.identity.Identity; import org.bukkit.Location; import org.bukkit.entity.Player; import org.bukkit.metadata.FixedMetadataValue; -import org.bukkit.plugin.Plugin; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -57,6 +54,7 @@ public class McMMOPlayer extends PlayerProfile implements OnlineMMOPlayer, Ident private final @NotNull Identity identity; private @Nullable Party playerPartyRef; + //Used in our chat systems for chat messages private final @NotNull PlayerAuthor playerAuthor; private final @NotNull Map skillManagers = new HashMap<>(); @@ -481,16 +479,6 @@ public class McMMOPlayer extends PlayerProfile implements OnlineMMOPlayer, Ident return player; } - /** - * Update the experience bars for this player - * @param skillIdentity target skill - * @param plugin your {@link Plugin} - */ - public void updateXPBar(@NotNull SkillIdentity skillIdentity, Plugin plugin) { - //XP BAR UPDATES - experienceBarManager.updateExperienceBar(skillIdentity, plugin); - } - /** * Checks whether or not a player can still be in god mode when transitioning between worlds */ @@ -502,13 +490,6 @@ public class McMMOPlayer extends PlayerProfile implements OnlineMMOPlayer, Ident } } - public void checkParty() { - if (inParty() && !Permissions.party(player)) { - removeParty(); - player.sendMessage(LocaleLoader.getString("Party.Forbidden")); - } - } - /** * Calculate the time remaining until the superAbilityType's cooldown expires. * @@ -647,4 +628,16 @@ public class McMMOPlayer extends PlayerProfile implements OnlineMMOPlayer, Ident public void updateXPBar(@NotNull RootSkill rootSkill) { experienceBarManager.updateExperienceBar(rootSkill, mcMMO.p); } + + @Override + public void validateGodMode() { + if(!Permissions.mcgod(player)) { + godMode = false; + } + } + + @Override + public @Nullable Party getParty() { + return playerPartyRef; + } } diff --git a/src/main/java/com/gmail/nossr50/events/chat/McMMOPartyChatEvent.java b/src/main/java/com/gmail/nossr50/events/chat/McMMOPartyChatEvent.java index 1f00c6763..0da78763a 100644 --- a/src/main/java/com/gmail/nossr50/events/chat/McMMOPartyChatEvent.java +++ b/src/main/java/com/gmail/nossr50/events/chat/McMMOPartyChatEvent.java @@ -1,7 +1,7 @@ package com.gmail.nossr50.events.chat; import com.gmail.nossr50.chat.message.PartyChatMessage; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import org.bukkit.plugin.Plugin; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/com/gmail/nossr50/events/party/McMMOPartyLevelUpEvent.java b/src/main/java/com/gmail/nossr50/events/party/McMMOPartyLevelUpEvent.java index ed42bf028..36ffe21d8 100644 --- a/src/main/java/com/gmail/nossr50/events/party/McMMOPartyLevelUpEvent.java +++ b/src/main/java/com/gmail/nossr50/events/party/McMMOPartyLevelUpEvent.java @@ -1,6 +1,6 @@ package com.gmail.nossr50.events.party; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; diff --git a/src/main/java/com/gmail/nossr50/events/party/McMMOPartyXpGainEvent.java b/src/main/java/com/gmail/nossr50/events/party/McMMOPartyXpGainEvent.java index 926588dcc..31d52f7df 100644 --- a/src/main/java/com/gmail/nossr50/events/party/McMMOPartyXpGainEvent.java +++ b/src/main/java/com/gmail/nossr50/events/party/McMMOPartyXpGainEvent.java @@ -1,6 +1,6 @@ package com.gmail.nossr50.events.party; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 6b8198cb6..0da39109c 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -4,6 +4,7 @@ import com.gmail.nossr50.config.Config; import com.gmail.nossr50.config.WorldBlacklist; import com.gmail.nossr50.config.experience.ExperienceConfig; import com.gmail.nossr50.datatypes.chat.ChatChannel; +import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType; @@ -89,12 +90,13 @@ public class PlayerListener implements Listener { } //Profile not loaded - if(mcMMO.getUserManager().queryPlayer(player) == null) - { + McMMOPlayer mmoPlayer = (McMMOPlayer) mcMMO.getUserManager().queryPlayer(player); + + if(mmoPlayer == null) { return; } - mcMMO.getUserManager().queryPlayer(player).actualizeTeleportATS(); + mmoPlayer.actualizeTeleportATS(); } /** * Handle PlayerDeathEvents at the lowest priority. @@ -206,8 +208,12 @@ public class PlayerListener implements Listener { OnlineMMOPlayer mmoPlayer = mcMMO.getUserManager().queryPlayer(player); - mmoPlayer.checkGodMode(); - mmoPlayer.checkParty(); + if(mmoPlayer == null) { + return; + } + + mmoPlayer.validateGodMode(); + mmoPlayer.validateParty(); } /** diff --git a/src/main/java/com/gmail/nossr50/party/PartyManager.java b/src/main/java/com/gmail/nossr50/party/PartyManager.java index 4f2cda0ab..adf4d71d3 100644 --- a/src/main/java/com/gmail/nossr50/party/PartyManager.java +++ b/src/main/java/com/gmail/nossr50/party/PartyManager.java @@ -5,9 +5,10 @@ import com.gmail.nossr50.datatypes.chat.ChatChannel; import com.gmail.nossr50.datatypes.database.UpgradeType; import com.gmail.nossr50.datatypes.interactions.NotificationType; import com.gmail.nossr50.datatypes.party.ItemShareType; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.datatypes.party.PartyMember; import com.gmail.nossr50.datatypes.party.ShareMode; +import com.neetgames.mcmmo.party.Party; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.events.party.McMMOPartyAllianceChangeEvent; diff --git a/src/main/java/com/gmail/nossr50/party/ShareHandler.java b/src/main/java/com/gmail/nossr50/party/ShareHandler.java index 3a1862ddf..295e5f190 100644 --- a/src/main/java/com/gmail/nossr50/party/ShareHandler.java +++ b/src/main/java/com/gmail/nossr50/party/ShareHandler.java @@ -3,7 +3,7 @@ package com.gmail.nossr50.party; import com.gmail.nossr50.config.Config; import com.gmail.nossr50.config.party.ItemWeightConfig; import com.gmail.nossr50.datatypes.party.ItemShareType; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.datatypes.party.ShareMode; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; diff --git a/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java b/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java index 3390d21f0..8d0fdd971 100644 --- a/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java @@ -1,7 +1,7 @@ package com.gmail.nossr50.runnables.party; import com.gmail.nossr50.config.Config; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.mcMMO; import org.bukkit.OfflinePlayer; import org.bukkit.scheduler.BukkitRunnable; diff --git a/src/main/java/com/gmail/nossr50/util/EventUtils.java b/src/main/java/com/gmail/nossr50/util/EventUtils.java index 789f7a269..cd74b1baf 100644 --- a/src/main/java/com/gmail/nossr50/util/EventUtils.java +++ b/src/main/java/com/gmail/nossr50/util/EventUtils.java @@ -1,7 +1,7 @@ package com.gmail.nossr50.util; import com.gmail.nossr50.config.Config; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.neetgames.mcmmo.player.OnlineMMOPlayer; import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; diff --git a/src/main/java/com/gmail/nossr50/util/experience/FormulaManager.java b/src/main/java/com/gmail/nossr50/util/experience/FormulaManager.java index 3c7ff308f..382c00d0b 100644 --- a/src/main/java/com/gmail/nossr50/util/experience/FormulaManager.java +++ b/src/main/java/com/gmail/nossr50/util/experience/FormulaManager.java @@ -6,6 +6,7 @@ import com.gmail.nossr50.datatypes.experience.FormulaType; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.mcMMO; import org.bukkit.configuration.file.YamlConfiguration; +import org.jetbrains.annotations.NotNull; import java.io.File; import java.util.HashMap; @@ -15,23 +16,14 @@ public class FormulaManager { private static final File formulaFile = new File(mcMMO.getFlatFileDirectory() + "formula.yml"); // Experience needed to reach a level, cached values to improve conversion speed - private Map experienceNeededRetroLinear; - private Map experienceNeededStandardLinear; - private Map experienceNeededRetroExponential; - private Map experienceNeededStandardExponential; + private @NotNull Map experienceNeededRetroLinear; + private @NotNull Map experienceNeededStandardLinear; + private @NotNull Map experienceNeededRetroExponential; + private @NotNull Map experienceNeededStandardExponential; private FormulaType previousFormula; public FormulaManager() { - /* Setting for Classic Mode (Scales a lot of stuff up by * 10) */ - initExperienceNeededMaps(); - loadFormula(); - } - - /** - * Initialize maps used for XP to next level - */ - private void initExperienceNeededMaps() { experienceNeededRetroLinear = new HashMap<>(); experienceNeededRetroExponential = new HashMap<>(); experienceNeededStandardLinear = new HashMap<>(); diff --git a/src/main/java/com/gmail/nossr50/util/experience/MMOExperienceBarManager.java b/src/main/java/com/gmail/nossr50/util/experience/MMOExperienceBarManager.java index f1ef17aad..858c702eb 100644 --- a/src/main/java/com/gmail/nossr50/util/experience/MMOExperienceBarManager.java +++ b/src/main/java/com/gmail/nossr50/util/experience/MMOExperienceBarManager.java @@ -16,8 +16,8 @@ import java.util.HashMap; import java.util.Map; /** - * ExperienceBarManager handles displaying and updating mcMMO experience bars for players - * Each ExperienceBarManager only manages a single player + * {@link MMOExperienceBarManager} handles displaying and updating mcMMO experience bars for players + * Each {@link MMOExperienceBarManager} only manages a single player */ public class MMOExperienceBarManager { private final McMMOPlayer mmoPlayer; diff --git a/src/main/java/com/gmail/nossr50/util/player/PartyUtils.java b/src/main/java/com/gmail/nossr50/util/player/PartyUtils.java index 74f7d1605..83f75c262 100644 --- a/src/main/java/com/gmail/nossr50/util/player/PartyUtils.java +++ b/src/main/java/com/gmail/nossr50/util/player/PartyUtils.java @@ -1,7 +1,7 @@ package com.gmail.nossr50.util.player; import com.gmail.nossr50.config.Config; -import com.gmail.nossr50.datatypes.party.Party; +import com.neetgames.mcmmo.party.Party; import com.gmail.nossr50.datatypes.party.PartyFeature; import com.gmail.nossr50.datatypes.party.PartyMember; import org.bukkit.Bukkit;