mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-27 19:24:44 +02:00
Refactoring + adding a new skillranks config (not functional yet)
This commit is contained in:
@ -2,12 +2,12 @@ package com.gmail.nossr50.runnables.commands;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkill;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
|
||||
@ -32,7 +32,7 @@ public class McrankCommandAsyncTask extends BukkitRunnable {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
Map<PrimarySkill, Integer> skills = mcMMO.getDatabaseManager().readRank(playerName);
|
||||
Map<PrimarySkillType, Integer> skills = mcMMO.getDatabaseManager().readRank(playerName);
|
||||
|
||||
new McrankCommandDisplayTask(skills, sender, playerName, useBoard, useChat).runTaskLater(mcMMO.p, 1);
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ package com.gmail.nossr50.runnables.commands;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkill;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
@ -15,12 +15,12 @@ import com.gmail.nossr50.util.scoreboards.ScoreboardManager;
|
||||
* Display the results of McrankCommandAsyncTask to the sender.
|
||||
*/
|
||||
public class McrankCommandDisplayTask extends BukkitRunnable {
|
||||
private final Map<PrimarySkill, Integer> skills;
|
||||
private final Map<PrimarySkillType, Integer> skills;
|
||||
private final CommandSender sender;
|
||||
private final String playerName;
|
||||
private final boolean useBoard, useChat;
|
||||
|
||||
McrankCommandDisplayTask(Map<PrimarySkill, Integer> skills, CommandSender sender, String playerName, boolean useBoard, boolean useChat) {
|
||||
McrankCommandDisplayTask(Map<PrimarySkillType, Integer> skills, CommandSender sender, String playerName, boolean useBoard, boolean useChat) {
|
||||
this.skills = skills;
|
||||
this.sender = sender;
|
||||
this.playerName = playerName;
|
||||
@ -47,7 +47,7 @@ public class McrankCommandDisplayTask extends BukkitRunnable {
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.mcrank.Heading"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.mcrank.Player", playerName));
|
||||
|
||||
for (PrimarySkill skill : PrimarySkill.NON_CHILD_SKILLS) {
|
||||
for (PrimarySkillType skill : PrimarySkillType.NON_CHILD_SKILLS) {
|
||||
if (!skill.getPermissions(player)) {
|
||||
continue;
|
||||
}
|
||||
|
@ -8,17 +8,17 @@ import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.datatypes.database.PlayerStat;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkill;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
|
||||
public class MctopCommandAsyncTask extends BukkitRunnable {
|
||||
private final CommandSender sender;
|
||||
private final PrimarySkill skill;
|
||||
private final PrimarySkillType skill;
|
||||
private final int page;
|
||||
private final boolean useBoard, useChat;
|
||||
|
||||
public MctopCommandAsyncTask(int page, PrimarySkill skill, CommandSender sender, boolean useBoard, boolean useChat) {
|
||||
public MctopCommandAsyncTask(int page, PrimarySkillType skill, CommandSender sender, boolean useBoard, boolean useChat) {
|
||||
Validate.isTrue(useBoard || useChat, "Attempted to start a rank retrieval with both board and chat off");
|
||||
Validate.notNull(sender, "Attempted to start a rank retrieval with no recipient");
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.gmail.nossr50.runnables.commands;
|
||||
|
||||
import com.gmail.nossr50.datatypes.database.PlayerStat;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkill;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
import com.gmail.nossr50.locale.LocaleLoader;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.util.scoreboards.ScoreboardManager;
|
||||
@ -18,11 +18,11 @@ import java.util.List;
|
||||
public class MctopCommandDisplayTask extends BukkitRunnable {
|
||||
private final List<PlayerStat> userStats;
|
||||
private final CommandSender sender;
|
||||
private final PrimarySkill skill;
|
||||
private final PrimarySkillType skill;
|
||||
private final int page;
|
||||
private final boolean useBoard, useChat;
|
||||
|
||||
MctopCommandDisplayTask(List<PlayerStat> userStats, int page, PrimarySkill skill, CommandSender sender, boolean useBoard, boolean useChat) {
|
||||
MctopCommandDisplayTask(List<PlayerStat> userStats, int page, PrimarySkillType skill, CommandSender sender, boolean useBoard, boolean useChat) {
|
||||
this.userStats = userStats;
|
||||
this.page = page;
|
||||
this.skill = skill;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package com.gmail.nossr50.runnables.database;
|
||||
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkill;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
@ -59,20 +59,20 @@ public class FormulaConversionTask extends BukkitRunnable {
|
||||
private void editValues(PlayerProfile profile) {
|
||||
mcMMO.p.debug("========================================================================");
|
||||
mcMMO.p.debug("Conversion report for " + profile.getPlayerName() + ":");
|
||||
for (PrimarySkill primarySkill : PrimarySkill.NON_CHILD_SKILLS) {
|
||||
int oldLevel = profile.getSkillLevel(primarySkill);
|
||||
int oldXPLevel = profile.getSkillXpLevel(primarySkill);
|
||||
for (PrimarySkillType primarySkillType : PrimarySkillType.NON_CHILD_SKILLS) {
|
||||
int oldLevel = profile.getSkillLevel(primarySkillType);
|
||||
int oldXPLevel = profile.getSkillXpLevel(primarySkillType);
|
||||
int totalOldXP = mcMMO.getFormulaManager().calculateTotalExperience(oldLevel, oldXPLevel);
|
||||
|
||||
if (totalOldXP == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int[] newExperienceValues = mcMMO.getFormulaManager().calculateNewLevel(primarySkill, (int) Math.floor(totalOldXP / ExperienceConfig.getInstance().getExpModifier()), formulaType);
|
||||
int[] newExperienceValues = mcMMO.getFormulaManager().calculateNewLevel(primarySkillType, (int) Math.floor(totalOldXP / ExperienceConfig.getInstance().getExpModifier()), formulaType);
|
||||
int newLevel = newExperienceValues[0];
|
||||
int newXPlevel = newExperienceValues[1];
|
||||
|
||||
mcMMO.p.debug(" Skill: " + primarySkill.toString());
|
||||
mcMMO.p.debug(" Skill: " + primarySkillType.toString());
|
||||
|
||||
mcMMO.p.debug(" OLD:");
|
||||
mcMMO.p.debug(" Level: " + oldLevel);
|
||||
@ -84,8 +84,8 @@ public class FormulaConversionTask extends BukkitRunnable {
|
||||
mcMMO.p.debug(" XP " + newXPlevel);
|
||||
mcMMO.p.debug("------------------------------------------------------------------------");
|
||||
|
||||
profile.modifySkill(primarySkill, newLevel);
|
||||
profile.setSkillXpLevel(primarySkill, newXPlevel);
|
||||
profile.modifySkill(primarySkillType, newLevel);
|
||||
profile.setSkillXpLevel(primarySkillType, newXPlevel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkill;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
import com.gmail.nossr50.events.skills.alchemy.McMMOPlayerBrewEvent;
|
||||
import com.gmail.nossr50.events.skills.alchemy.McMMOPlayerCatalysisEvent;
|
||||
import com.gmail.nossr50.skills.alchemy.Alchemy;
|
||||
@ -39,7 +39,7 @@ public class AlchemyBrewTask extends BukkitRunnable {
|
||||
brewTimer = DEFAULT_BREW_TICKS;
|
||||
|
||||
if (player != null && !Misc.isNPCEntity(player) && Permissions.isSubSkillEnabled(player, SubSkillType.ALCHEMY_CATALYSIS)) {
|
||||
double catalysis = UserManager.getPlayer(player).getAlchemyManager().calculateBrewSpeed(Permissions.lucky(player, PrimarySkill.ALCHEMY));
|
||||
double catalysis = UserManager.getPlayer(player).getAlchemyManager().calculateBrewSpeed(Permissions.lucky(player, PrimarySkillType.ALCHEMY));
|
||||
|
||||
McMMOPlayerCatalysisEvent event = new McMMOPlayerCatalysisEvent(player, catalysis);
|
||||
mcMMO.p.getServer().getPluginManager().callEvent(event);
|
||||
|
@ -1,6 +1,6 @@
|
||||
package com.gmail.nossr50.runnables.skills;
|
||||
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkill;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
@ -10,14 +10,14 @@ import com.gmail.nossr50.datatypes.skills.XPGainReason;
|
||||
public class AwardCombatXpTask extends BukkitRunnable {
|
||||
private McMMOPlayer mcMMOPlayer;
|
||||
private double baseXp;
|
||||
private PrimarySkill primarySkill;
|
||||
private PrimarySkillType primarySkillType;
|
||||
private LivingEntity target;
|
||||
private XPGainReason xpGainReason;
|
||||
private double baseHealth;
|
||||
|
||||
public AwardCombatXpTask(McMMOPlayer mcMMOPlayer, PrimarySkill primarySkill, double baseXp, LivingEntity target, XPGainReason xpGainReason) {
|
||||
public AwardCombatXpTask(McMMOPlayer mcMMOPlayer, PrimarySkillType primarySkillType, double baseXp, LivingEntity target, XPGainReason xpGainReason) {
|
||||
this.mcMMOPlayer = mcMMOPlayer;
|
||||
this.primarySkill = primarySkill;
|
||||
this.primarySkillType = primarySkillType;
|
||||
this.baseXp = baseXp;
|
||||
this.target = target;
|
||||
this.xpGainReason = xpGainReason;
|
||||
@ -39,6 +39,6 @@ public class AwardCombatXpTask extends BukkitRunnable {
|
||||
damage += health;
|
||||
}
|
||||
|
||||
mcMMOPlayer.beginXpGain(primarySkill, (int) (damage * baseXp), xpGainReason);
|
||||
mcMMOPlayer.beginXpGain(primarySkillType, (int) (damage * baseXp), xpGainReason);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user