Redo XP perks

This commit is contained in:
Jsinco
2024-09-27 18:46:42 -04:00
parent 582a572272
commit 2ce52db72d
4 changed files with 144 additions and 61 deletions

View File

@@ -8,9 +8,11 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.Permissions;
import com.gmail.nossr50.util.player.UserManager;
import com.gmail.nossr50.util.skills.XPBoostAmount;
import com.gmail.nossr50.util.text.StringUtils;
import me.clip.placeholderapi.PlaceholderAPIPlugin;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -151,22 +153,13 @@ public class PapiExpansion extends PlaceholderExpansion {
final McMMOPlayer user = UserManager.getPlayer(player);
if (user == null) return null;
double modifier = 1.0F;
if (Permissions.customXpBoost(player, skill))
modifier = ExperienceConfig.getInstance().getCustomXpPerkBoost();
else if (Permissions.quadrupleXp(player, skill))
modifier = 4;
else if (Permissions.tripleXp(player, skill))
modifier = 3;
else if (Permissions.doubleAndOneHalfXp(player, skill))
modifier = 2.5;
else if (Permissions.doubleXp(player, skill))
modifier = 2;
else if (Permissions.oneAndOneHalfXp(player, skill))
modifier = 1.5;
else if (Permissions.oneAndOneTenthXp(player, skill))
modifier = 1.1;
double modifier = XPBoostAmount.NONE;
for (XPBoostAmount xpBoostAmount : XPBoostAmount.getByHighestMultiplier()) {
if (xpBoostAmount.hasBoostPermission(player, skill)) {
modifier = xpBoostAmount.getMultiplier();
break;
}
}
return String.valueOf(modifier);
}