Skip to content

Commit

Permalink
feat: added party level and xp placeholders. Updated power level cap. (
Browse files Browse the repository at this point in the history
  • Loading branch information
Maximvdw authored Apr 10, 2022
1 parent 75ec263 commit e661592
Show file tree
Hide file tree
Showing 6 changed files with 91 additions and 25 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ Development builds are here: https://atlas.valaria.pw/jenkins/view/Plugins/job/m
| mcmmo_in_party | if the player is in a party |
| mcmmo_is_party_leader | if the player is the leader of the current party |
| mcmmo_party_size | The size of the party |
| mcmmo_party_xp | current xp for party |
| mcmmo_party_level | Party's current level |
| mcmmo_is_xp_event_active | is the xp bonus event active |
| mcmmo_xprate | The current bonus XP rate |
| mcmmo_xprate_\<skillname> | The current bonus XP rate for the skill |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,13 @@ protected void init() {
for (PrimarySkillType skillType : PrimarySkillType.values()) {
skills.put(mcMMO.p.getSkillTools().getLocalizedSkillName(skillType).toLowerCase(), new SkillType(skillType));
}


}

@Override
public Collection<SkillType> getSkills() {
return skills.values();
}





@Override
public Integer getSkillLevel(ISkillType skillType, Player player) {
final McMMOPlayer user = UserManager.getPlayer(player);
Expand Down Expand Up @@ -132,6 +126,22 @@ public Integer getPartySize(Player player) {
return (party == null) ? null : party.getMembers().size();
}

@Override
public Float getPartyXp(Player player) {
final McMMOPlayer user = UserManager.getPlayer(player);
if (user == null) return null;
final Party party = user.getParty();
return (party == null) ? null : party.getXp();
}

@Override
public Integer getPartyLevel(Player player) {
final McMMOPlayer user = UserManager.getPlayer(player);
if (user == null) return null;
final Party party = user.getParty();
return (party == null) ? null : party.getLevel();
}

@Override
public String getXpRate(Player player) {
return String.valueOf(ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,6 @@ public Collection<SkillType> getSkills() {
return skills.values();
}





@Override
public Integer getSkillLevel(ISkillType skillType, Player player) {
final McMMOPlayer user = UserManager.getPlayer(player);
Expand Down Expand Up @@ -141,6 +137,22 @@ public Integer getPartySize(Player player) {
return (party == null) ? null : party.getMembers().size();
}

@Override
public Float getPartyXp(Player player) {
final McMMOPlayer user = UserManager.getOfflinePlayer(player);
if (user == null) return null;
final Party party = user.getParty();
return (party == null) ? null : party.getXp();
}

@Override
public Integer getPartyLevel(Player player) {
final McMMOPlayer user = UserManager.getPlayer(player);
if (user == null) return null;
final Party party = user.getParty();
return (party == null) ? null : party.getLevel();
}

@Override
public String getXpRate(Player player) {
return String.valueOf(ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,7 @@
import java.util.Collection;

import pw.valaria.placeholders.mcmmo.bridge.data.ISkillType;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.PartyIsLeaderPlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.PartyIsMemberPlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.PartyLeaderPlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.PartyNamePlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.PartySizePlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.PowerLevelCapPlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.PowerLevelPlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.SkillExpNeededPlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.SkillExpPlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.SkillExpRemainingPlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.SkillLevelPlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.SkillRankPlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.XpEventActivePlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.XpRatePlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.SkillXpRatePlaceholder;
import pw.valaria.placeholders.mcmmo.bridge.placeholders.*;

public abstract class McmmoBridge<S extends ISkillType> {
McMMOPlaceholderExpansion expansion;
Expand Down Expand Up @@ -79,6 +65,12 @@ protected void postInit() {
// %mcmmo_party_size%
getExpansion().registerPlaceholder(new PartySizePlaceholder(this));

// %mcmmo_party_level%
getExpansion().registerPlaceholder(new PartyLevelPlaceholder(this));

// %mcmmo_party_xp%
getExpansion().registerPlaceholder(new PartyXpPlaceholder(this));

// %mcmmo_is_xp_event_active%
getExpansion().registerPlaceholder(new XpEventActivePlaceholder(this));
// %mcmmo_xprate%
Expand Down Expand Up @@ -113,6 +105,10 @@ public McMMOPlaceholderExpansion getExpansion() {

public abstract Integer getPartySize(Player player);

public abstract Float getPartyXp(Player player);

public abstract Integer getPartyLevel(Player player);

public abstract String getXpRate(Player player);

public abstract String getSkillXpRate(ISkillType skill, Player player);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package pw.valaria.placeholders.mcmmo.bridge.placeholders;

import org.bukkit.entity.Player;
import pw.valaria.placeholders.mcmmo.bridge.McmmoBridge;

public class PartyLevelPlaceholder implements Placeholder {
private McmmoBridge bridge;

public PartyLevelPlaceholder(McmmoBridge bridge) {
this.bridge = bridge;
}

@Override
public String process(Player player, String params) {
Integer partyLevel = bridge.getPartyLevel(player);
return (partyLevel == null) ? "" : partyLevel.toString();
}

@Override
public String getName() {
return "party_level";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package pw.valaria.placeholders.mcmmo.bridge.placeholders;

import org.bukkit.entity.Player;
import pw.valaria.placeholders.mcmmo.bridge.McmmoBridge;

public class PartyXpPlaceholder implements Placeholder {
private McmmoBridge bridge;

public PartyXpPlaceholder(McmmoBridge bridge) {
this.bridge = bridge;
}

@Override
public String process(Player player, String params) {
Float partyXp = bridge.getPartyXp(player);
return (partyXp == null) ? "" : partyXp.toString();
}

@Override
public String getName() {
return "party_xp";
}
}

0 comments on commit e661592

Please sign in to comment.