get mmopower working

This commit is contained in:
nossr50 2021-02-05 16:26:46 -08:00
parent eda227006f
commit ce09a8bcdc
5 changed files with 96 additions and 20 deletions

View File

@ -6,14 +6,13 @@ Version 2.1.175
NOTES:
Most skills have a mastery sub-skill, this mastery subskill provides a small benefit that scales to level 10,000 (or 1,000 for standard) and does not have ranks (other than the initial rank to unlock it)
Mastery skills unlock at level 1000 for RetroMode (the default setting), and 100 for Standard
Mastery skills unlock at level 1000 for RetroMode (the default setting), and 100 for Standard, you can edit this via skillranks.yml
Mastery skills are meant to provide an "end-game" to skills, a reason to continue leveling a skill past its "max".
This system is brand new, it is entirely possible I will completely change, remove, or add more mastery skills in the future.
New Power Level Command
This power level command gives you a view of all your current masteries, it also provides a summary of your power level.
Version 2.1.174
Some legacy color codes in our locale file were swapped to &-code equivalents (thanks ViaSnake)
Updated hu_HU locale (thanks andris155)

View File

@ -7,12 +7,14 @@ import co.aikar.commands.annotation.CommandPermission;
import co.aikar.commands.annotation.Conditions;
import co.aikar.commands.annotation.Default;
import com.gmail.nossr50.commands.CommandManager;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.player.UserManager;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
@CommandPermission("mcmmo.commands.mmopower")
@CommandAlias("mmopowerlevel|powerlevel") //Kept for historical reasons
@CommandAlias("mmopower|mmopowerlevel|powerlevel")
public class PowerLevelCommand extends BaseCommand {
private final @NotNull mcMMO pluginRef;
@ -25,7 +27,9 @@ public class PowerLevelCommand extends BaseCommand {
public void processCommand(String[] args) {
BukkitCommandIssuer bukkitCommandIssuer = (BukkitCommandIssuer) getCurrentCommandIssuer();
Player player = bukkitCommandIssuer.getPlayer();
McMMOPlayer mmoPlayer = UserManager.getPlayer(player); //Should never be null at this point because its caught in an ACF validation
//TODO: impl
mmoPlayer.getPlayer().sendMessage("Your power level is: "+mmoPlayer.getPowerLevel()); //This is not gonna stay, just to show that the command executes in debug
}
}
}

View File

@ -35,35 +35,35 @@ import java.util.List;
public enum PrimarySkillType {
ACROBATICS(AcrobaticsManager.class, Color.WHITE,
ImmutableList.of(SubSkillType.ACROBATICS_DODGE, SubSkillType.ACROBATICS_ROLL)),
ImmutableList.of(SubSkillType.ACROBATICS_MASTERY, SubSkillType.ACROBATICS_DODGE, SubSkillType.ACROBATICS_ROLL)),
ALCHEMY(AlchemyManager.class, Color.FUCHSIA,
ImmutableList.of(SubSkillType.ALCHEMY_CATALYSIS, SubSkillType.ALCHEMY_CONCOCTIONS)),
ImmutableList.of(SubSkillType.ALCHEMY_MASTERY, SubSkillType.ALCHEMY_CATALYSIS, SubSkillType.ALCHEMY_CONCOCTIONS)),
ARCHERY(ArcheryManager.class, Color.MAROON,
ImmutableList.of(SubSkillType.ARCHERY_DAZE, SubSkillType.ARCHERY_ARCHERY_LIMIT_BREAK, SubSkillType.ARCHERY_ARROW_RETRIEVAL, SubSkillType.ARCHERY_SKILL_SHOT)),
ImmutableList.of(SubSkillType.ARCHERY_MASTERY, SubSkillType.ARCHERY_DAZE, SubSkillType.ARCHERY_ARCHERY_LIMIT_BREAK, SubSkillType.ARCHERY_ARROW_RETRIEVAL, SubSkillType.ARCHERY_SKILL_SHOT)),
AXES(AxesManager.class, Color.AQUA, SuperAbilityType.SKULL_SPLITTER, ToolType.AXE,
ImmutableList.of(SubSkillType.AXES_SKULL_SPLITTER, SubSkillType.AXES_AXES_LIMIT_BREAK, SubSkillType.AXES_ARMOR_IMPACT, SubSkillType.AXES_AXE_MASTERY, SubSkillType.AXES_CRITICAL_STRIKES, SubSkillType.AXES_GREATER_IMPACT)),
ImmutableList.of(SubSkillType.AXES_MASTERY, SubSkillType.AXES_SKULL_SPLITTER, SubSkillType.AXES_AXES_LIMIT_BREAK, SubSkillType.AXES_ARMOR_IMPACT, SubSkillType.AXES_AXE_MASTERY, SubSkillType.AXES_CRITICAL_STRIKES, SubSkillType.AXES_GREATER_IMPACT)),
EXCAVATION(ExcavationManager.class, Color.fromRGB(139, 69, 19), SuperAbilityType.GIGA_DRILL_BREAKER, ToolType.SHOVEL,
ImmutableList.of(SubSkillType.EXCAVATION_GIGA_DRILL_BREAKER, SubSkillType.EXCAVATION_ARCHAEOLOGY)),
ImmutableList.of(SubSkillType.EXCAVATION_MASTERY, SubSkillType.EXCAVATION_GIGA_DRILL_BREAKER, SubSkillType.EXCAVATION_ARCHAEOLOGY)),
FISHING(FishingManager.class, Color.NAVY,
ImmutableList.of(SubSkillType.FISHING_FISHERMANS_DIET, SubSkillType.FISHING_TREASURE_HUNTER, SubSkillType.FISHING_ICE_FISHING, SubSkillType.FISHING_MAGIC_HUNTER, SubSkillType.FISHING_MASTER_ANGLER, SubSkillType.FISHING_SHAKE)),
ImmutableList.of(SubSkillType.FISHING_MASTERY, SubSkillType.FISHING_FISHERMANS_DIET, SubSkillType.FISHING_TREASURE_HUNTER, SubSkillType.FISHING_ICE_FISHING, SubSkillType.FISHING_MAGIC_HUNTER, SubSkillType.FISHING_MASTER_ANGLER, SubSkillType.FISHING_SHAKE)),
HERBALISM(HerbalismManager.class, Color.GREEN, SuperAbilityType.GREEN_TERRA, ToolType.HOE,
ImmutableList.of(SubSkillType.HERBALISM_GREEN_TERRA, SubSkillType.HERBALISM_FARMERS_DIET, SubSkillType.HERBALISM_GREEN_THUMB, SubSkillType.HERBALISM_DOUBLE_DROPS, SubSkillType.HERBALISM_HYLIAN_LUCK, SubSkillType.HERBALISM_SHROOM_THUMB)),
ImmutableList.of(SubSkillType.HERBALISM_MASTERY, SubSkillType.HERBALISM_GREEN_TERRA, SubSkillType.HERBALISM_FARMERS_DIET, SubSkillType.HERBALISM_GREEN_THUMB, SubSkillType.HERBALISM_DOUBLE_DROPS, SubSkillType.HERBALISM_HYLIAN_LUCK, SubSkillType.HERBALISM_SHROOM_THUMB)),
MINING(MiningManager.class, Color.GRAY, SuperAbilityType.SUPER_BREAKER, ToolType.PICKAXE,
ImmutableList.of(SubSkillType.MINING_SUPER_BREAKER, SubSkillType.MINING_DEMOLITIONS_EXPERTISE, SubSkillType.MINING_BIGGER_BOMBS, SubSkillType.MINING_BLAST_MINING, SubSkillType.MINING_DOUBLE_DROPS)),
ImmutableList.of(SubSkillType.MINING_MASTERY, SubSkillType.MINING_SUPER_BREAKER, SubSkillType.MINING_DEMOLITIONS_EXPERTISE, SubSkillType.MINING_BIGGER_BOMBS, SubSkillType.MINING_BLAST_MINING, SubSkillType.MINING_DOUBLE_DROPS)),
REPAIR(RepairManager.class, Color.SILVER,
ImmutableList.of(SubSkillType.REPAIR_ARCANE_FORGING, SubSkillType.REPAIR_REPAIR_MASTERY, SubSkillType.REPAIR_SUPER_REPAIR)),
ImmutableList.of(SubSkillType.REPAIR_MASTERY, SubSkillType.REPAIR_ARCANE_FORGING, SubSkillType.REPAIR_REPAIR_MASTERY, SubSkillType.REPAIR_SUPER_REPAIR)),
SALVAGE(SalvageManager.class, Color.ORANGE,
ImmutableList.of(SubSkillType.SALVAGE_SCRAP_COLLECTOR, SubSkillType.SALVAGE_ARCANE_SALVAGE)),
SMELTING(SmeltingManager.class, Color.YELLOW,
ImmutableList.of(SubSkillType.SMELTING_UNDERSTANDING_THE_ART, /*SubSkillType.SMELTING_FLUX_MINING,*/ SubSkillType.SMELTING_FUEL_EFFICIENCY, SubSkillType.SMELTING_SECOND_SMELT)),
SWORDS(SwordsManager.class, Color.fromRGB(178, 34, 34), SuperAbilityType.SERRATED_STRIKES, ToolType.SWORD,
ImmutableList.of(SubSkillType.SWORDS_SERRATED_STRIKES, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK, SubSkillType.SWORDS_STAB, SubSkillType.SWORDS_RUPTURE, SubSkillType.SWORDS_COUNTER_ATTACK)),
ImmutableList.of(SubSkillType.SWORDS_MASTERY, SubSkillType.SWORDS_SERRATED_STRIKES, SubSkillType.SWORDS_SWORDS_LIMIT_BREAK, SubSkillType.SWORDS_STAB, SubSkillType.SWORDS_RUPTURE, SubSkillType.SWORDS_COUNTER_ATTACK)),
TAMING(TamingManager.class, Color.PURPLE,
ImmutableList.of(SubSkillType.TAMING_BEAST_LORE, SubSkillType.TAMING_CALL_OF_THE_WILD, SubSkillType.TAMING_ENVIRONMENTALLY_AWARE, SubSkillType.TAMING_FAST_FOOD_SERVICE, SubSkillType.TAMING_GORE, SubSkillType.TAMING_HOLY_HOUND, SubSkillType.TAMING_SHARPENED_CLAWS, SubSkillType.TAMING_SHOCK_PROOF, SubSkillType.TAMING_THICK_FUR, SubSkillType.TAMING_PUMMEL)),
ImmutableList.of(SubSkillType.TAMING_MASTERY, SubSkillType.TAMING_BEAST_LORE, SubSkillType.TAMING_CALL_OF_THE_WILD, SubSkillType.TAMING_ENVIRONMENTALLY_AWARE, SubSkillType.TAMING_FAST_FOOD_SERVICE, SubSkillType.TAMING_GORE, SubSkillType.TAMING_HOLY_HOUND, SubSkillType.TAMING_SHARPENED_CLAWS, SubSkillType.TAMING_SHOCK_PROOF, SubSkillType.TAMING_THICK_FUR, SubSkillType.TAMING_PUMMEL)),
UNARMED(UnarmedManager.class, Color.BLACK, SuperAbilityType.BERSERK, ToolType.FISTS,
ImmutableList.of(SubSkillType.UNARMED_BERSERK, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK, SubSkillType.UNARMED_BLOCK_CRACKER, SubSkillType.UNARMED_ARROW_DEFLECT, SubSkillType.UNARMED_DISARM, SubSkillType.UNARMED_STEEL_ARM_STYLE, SubSkillType.UNARMED_IRON_GRIP)),
ImmutableList.of(SubSkillType.UNARMED_MASTERY, SubSkillType.UNARMED_BERSERK, SubSkillType.UNARMED_UNARMED_LIMIT_BREAK, SubSkillType.UNARMED_BLOCK_CRACKER, SubSkillType.UNARMED_ARROW_DEFLECT, SubSkillType.UNARMED_DISARM, SubSkillType.UNARMED_STEEL_ARM_STYLE, SubSkillType.UNARMED_IRON_GRIP)),
WOODCUTTING(WoodcuttingManager.class, Color.OLIVE, SuperAbilityType.TREE_FELLER, ToolType.AXE,
ImmutableList.of(SubSkillType.WOODCUTTING_LEAF_BLOWER, SubSkillType.WOODCUTTING_TREE_FELLER, SubSkillType.WOODCUTTING_HARVEST_LUMBER, SubSkillType.WOODCUTTING_KNOCK_ON_WOOD));
ImmutableList.of(SubSkillType.WOODCUTTING_MASTERY, SubSkillType.WOODCUTTING_LEAF_BLOWER, SubSkillType.WOODCUTTING_TREE_FELLER, SubSkillType.WOODCUTTING_HARVEST_LUMBER, SubSkillType.WOODCUTTING_KNOCK_ON_WOOD));
private final Class<? extends SkillManager> managerClass;
private final Color skillColor;

View File

@ -119,9 +119,7 @@ public enum SubSkillType {
/* WOODCUTTING_NATURES_BOUNTY(3),
WOODCUTTING_SPLINTER(3),*/
WOODCUTTING_TREE_FELLER(1),
WOODCUTTING_MASTERY(1),
POWER_LEVEL_MASTERY(1);
WOODCUTTING_MASTERY(1);
private final int numRanks;
//TODO: SuperAbilityType should also contain flags for active by default? Not sure if it should work that way.

View File

@ -6,6 +6,11 @@
# Retro Mode has 10x faster leveling and 10x higher skill requirements, if you do the math you can see its the same as Standard and only cosmetic!.
###
Alchemy:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
Catalysis:
Standard:
Rank_1: 0
@ -31,6 +36,11 @@ Alchemy:
Rank_7: 900
Rank_8: 1000
Archery:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
ArcheryLimitBreak:
Standard:
Rank_1: 10
@ -103,12 +113,22 @@ Archery:
Rank_19: 950
Rank_20: 1000
Acrobatics:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
Dodge:
Standard:
Rank_1: 1
RetroMode:
Rank_1: 1
Axes:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
AxesLimitBreak:
Standard:
Rank_1: 10
@ -202,6 +222,11 @@ Axes:
Rank_3: 150
Rank_4: 200
Taming:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
BeastLore:
Standard:
Rank_1: 1
@ -253,6 +278,11 @@ Taming:
RetroMode:
Rank_1: 750
Smelting:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
FuelEfficiency:
Standard:
Rank_1: 10
@ -282,6 +312,11 @@ Smelting:
Rank_7: 850
Rank_8: 1000
Salvage:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
ScrapCollector:
Standard:
Rank_1: 1
@ -321,6 +356,11 @@ Salvage:
Rank_7: 850
Rank_8: 1000
Mining:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
DoubleDrops:
Standard:
Rank_1: 1
@ -363,6 +403,11 @@ Mining:
Rank_7: 850
Rank_8: 1000
Herbalism:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
DoubleDrops:
Standard:
Rank_1: 1
@ -398,6 +443,11 @@ Herbalism:
Rank_4: 800
Rank_5: 1000
Fishing:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
MagicHunter:
Standard:
Rank_1: 20
@ -465,6 +515,11 @@ Fishing:
Rank_7: 850
Rank_8: 1000
Swords:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
SwordsLimitBreak:
Standard:
Rank_1: 10
@ -517,6 +572,11 @@ Swords:
RetroMode:
Rank_1: 50
Unarmed:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
UnarmedLimitBreak:
Standard:
Rank_1: 10
@ -605,6 +665,11 @@ Unarmed:
Rank_20: 1000
Woodcutting:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
TreeFeller:
Standard:
Rank_1: 5
@ -640,6 +705,11 @@ Woodcutting:
Rank_2: 350
Rank_3: 650
Excavation:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
GigaDrillBreaker:
Standard:
Rank_1: 5
@ -665,6 +735,11 @@ Excavation:
Rank_7: 850
Rank_8: 1000
Repair:
Mastery:
Standard:
Rank_1: 100
RetroMode:
Rank_1: 1000
RepairMastery:
Standard:
Rank_1: 1