Spears (wip pt 1)

This commit is contained in:
nossr50
2025-11-25 14:31:38 -08:00
parent 1b49eb11b8
commit 1b28ad8f59
30 changed files with 339 additions and 147 deletions

View File

@@ -1,3 +1,8 @@
Version 2.2.046
Added Spears combat skill
Added permissions related to Spears
Added /spears skill command
Version 2.2.045
Green Thumb now replants some crops it was failing to replant before (see notes)
Green Thumb now replants harvested plants faster

View File

@@ -73,7 +73,7 @@ public class AcrobaticsCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.ACROBATICS);
return textComponents;

View File

@@ -92,7 +92,7 @@ public class AlchemyCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.ALCHEMY);
return textComponents;

View File

@@ -93,7 +93,7 @@ public class ArcheryCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.ARCHERY);
return textComponents;

View File

@@ -119,7 +119,7 @@ public class AxesCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
final List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.AXES);
return textComponents;

View File

@@ -68,7 +68,7 @@ public class CrossbowsCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.CROSSBOWS);
return textComponents;

View File

@@ -71,7 +71,7 @@ public class ExcavationCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.EXCAVATION);
return textComponents;

View File

@@ -185,7 +185,7 @@ public class FishingCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.FISHING);
return textComponents;

View File

@@ -187,7 +187,7 @@ public class HerbalismCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.HERBALISM);
return textComponents;

View File

@@ -77,7 +77,7 @@ public class MacesCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.MACES);
return textComponents;

View File

@@ -144,7 +144,7 @@ public class MiningCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.MINING);
return textComponents;

View File

@@ -134,7 +134,7 @@ public class RepairCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.REPAIR);
return textComponents;

View File

@@ -72,7 +72,7 @@ public class SalvageCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.SALVAGE);
return textComponents;

View File

@@ -97,7 +97,7 @@ public class SmeltingCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.SMELTING);
return textComponents;

View File

@@ -0,0 +1,52 @@
package com.gmail.nossr50.commands.skills;
import static com.gmail.nossr50.datatypes.skills.SubSkillType.SPEARS_SPEARS_LIMIT_BREAK;
import static com.gmail.nossr50.util.text.TextComponentFactory.appendSubSkillTextComponents;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.util.skills.CombatUtils;
import com.gmail.nossr50.util.skills.SkillUtils;
import java.util.ArrayList;
import java.util.List;
import net.kyori.adventure.text.Component;
import org.bukkit.entity.Player;
public class SpearsCommand extends SkillCommand {
public SpearsCommand() {
super(PrimarySkillType.SPEARS);
}
@Override
protected void dataCalculations(Player player, float skillValue) {
}
@Override
protected void permissionsCheck(Player player) {
}
@Override
protected List<String> statsDisplay(Player player, float skillValue, boolean hasEndurance,
boolean isLucky) {
List<String> messages = new ArrayList<>();
if (SkillUtils.canUseSubskill(player, SPEARS_SPEARS_LIMIT_BREAK)) {
messages.add(getStatMessage(SPEARS_SPEARS_LIMIT_BREAK,
String.valueOf(CombatUtils.getLimitBreakDamageAgainstQuality(player,
SPEARS_SPEARS_LIMIT_BREAK, 1000))));
}
return messages;
}
@Override
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
appendSubSkillTextComponents(player, textComponents, PrimarySkillType.SPEARS);
return textComponents;
}
}

View File

@@ -22,8 +22,8 @@ public class SwordsCommand extends SkillCommand {
private String serratedStrikesLengthEndurance;
private String rupturePureTickDamageAgainstPlayers, rupturePureTickDamageAgainstMobs,
ruptureExplosionDamageAgainstPlayers, ruptureExplosionDamageAgainstMobs,
ruptureLengthSecondsAgainstPlayers, ruptureLengthSecondsAgainstMobs, ruptureChanceToApply, ruptureChanceToApplyLucky;
ruptureLengthSecondsAgainstPlayers, ruptureLengthSecondsAgainstMobs,
ruptureChanceToApply, ruptureChanceToApplyLucky;
private boolean canCounter;
private boolean canSerratedStrike;
@@ -56,11 +56,6 @@ public class SwordsCommand extends SkillCommand {
rupturePureTickDamageAgainstMobs = String.valueOf(
mcMMO.p.getAdvancedConfig().getRuptureTickDamage(false, ruptureRank));
ruptureExplosionDamageAgainstPlayers = String.valueOf(
mcMMO.p.getAdvancedConfig().getRuptureExplosionDamage(true, ruptureRank));
ruptureExplosionDamageAgainstMobs = String.valueOf(
mcMMO.p.getAdvancedConfig().getRuptureExplosionDamage(false, ruptureRank));
ruptureChanceToApply =
mcMMO.p.getAdvancedConfig().getRuptureChanceToApplyOnHit(ruptureRank) + "%";
ruptureChanceToApplyLucky = String.valueOf(
@@ -105,7 +100,6 @@ public class SwordsCommand extends SkillCommand {
messages.add(LocaleLoader.getString("Swords.SubSkill.Rupture.Stat.TickDamage",
rupturePureTickDamageAgainstPlayers, rupturePureTickDamageAgainstMobs));
// messages.add(LocaleLoader.getString("Swords.SubSkill.Rupture.Stat.ExplosionDamage", ruptureExplosionDamageAgainstPlayers, ruptureExplosionDamageAgainstMobs));
messages.add(LocaleLoader.getString("Swords.Combat.Rupture.Note.Update.One"));
}
@@ -134,7 +128,7 @@ public class SwordsCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.SWORDS);
return textComponents;

View File

@@ -115,7 +115,7 @@ public class TamingCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents, this.skill);
TextComponentFactory.appendSubSkillTextComponents(player, textComponents, this.skill);
return textComponents;
}

View File

@@ -50,7 +50,7 @@ public class TridentsCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.TRIDENTS);
return textComponents;

View File

@@ -136,7 +136,7 @@ public class UnarmedCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.UNARMED);
return textComponents;

View File

@@ -123,7 +123,7 @@ public class WoodcuttingCommand extends SkillCommand {
protected List<Component> getTextComponents(Player player) {
List<Component> textComponents = new ArrayList<>();
TextComponentFactory.getSubSkillTextComponents(player, textComponents,
TextComponentFactory.appendSubSkillTextComponents(player, textComponents,
PrimarySkillType.WOODCUTTING);
return textComponents;

View File

@@ -424,10 +424,6 @@ public class GeneralConfig extends BukkitConfig {
return config.getBoolean("MySQL.Server.SSL", true);
}
public boolean getMySQLDebug() {
return config.getBoolean("MySQL.Debug", false);
}
public boolean getMySQLPublicKeyRetrieval() {
return config.getBoolean("MySQL.Server.allowPublicKeyRetrieval", true);
}

View File

@@ -24,6 +24,7 @@ public enum PrimarySkillType {
REPAIR,
SALVAGE,
SMELTING,
SPEARS,
SWORDS,
TAMING,
TRIDENTS,

View File

@@ -83,6 +83,9 @@ public enum SubSkillType {
SMELTING_SECOND_SMELT,
SMELTING_UNDERSTANDING_THE_ART(8),
/* Spears */
SPEARS_SPEARS_LIMIT_BREAK(10),
/* Swords */
SWORDS_COUNTER_ATTACK(1),
SWORDS_RUPTURE(4),

View File

@@ -93,6 +93,13 @@ public enum SuperAbilityType {
"Placeholder",
"Placeholder",
"Placeholder"),
SPEARS_SUPER_ABILITY(
"Placeholder",
"Placeholder",
"Placeholder",
"Placeholder",
"Placeholder",
"Placeholder"),
/**
* Has cooldown - but has to share a skill with Super Breaker, so needs special treatment
@@ -216,8 +223,8 @@ public enum SuperAbilityType {
case SUPER_BREAKER -> Permissions.superBreaker(player);
case TREE_FELLER -> Permissions.treeFeller(player);
// TODO: once implemented, return permissions for the following abilities
case EXPLOSIVE_SHOT, TRIDENTS_SUPER_ABILITY, SUPER_SHOTGUN, MACES_SUPER_ABILITY ->
false;
case EXPLOSIVE_SHOT, TRIDENTS_SUPER_ABILITY, SUPER_SHOTGUN, MACES_SUPER_ABILITY,
SPEARS_SUPER_ABILITY -> false;
};
}

View File

@@ -0,0 +1,11 @@
package com.gmail.nossr50.skills.spears;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.skills.SkillManager;
public class SpearsManager extends SkillManager {
public SpearsManager(McMMOPlayer mmoPlayer) {
super(mmoPlayer, PrimarySkillType.SPEARS);
}
}

View File

@@ -41,6 +41,7 @@ import com.gmail.nossr50.commands.skills.MmoInfoCommand;
import com.gmail.nossr50.commands.skills.RepairCommand;
import com.gmail.nossr50.commands.skills.SalvageCommand;
import com.gmail.nossr50.commands.skills.SmeltingCommand;
import com.gmail.nossr50.commands.skills.SpearsCommand;
import com.gmail.nossr50.commands.skills.SwordsCommand;
import com.gmail.nossr50.commands.skills.TamingCommand;
import com.gmail.nossr50.commands.skills.TridentsCommand;
@@ -101,6 +102,7 @@ public final class CommandRegistrationManager {
case REPAIR -> command.setExecutor(new RepairCommand());
case SALVAGE -> command.setExecutor(new SalvageCommand());
case SMELTING -> command.setExecutor(new SmeltingCommand());
case SPEARS -> command.setExecutor(new SpearsCommand());
case SWORDS -> command.setExecutor(new SwordsCommand());
case TAMING -> command.setExecutor(new TamingCommand());
case TRIDENTS -> command.setExecutor(new TridentsCommand());

View File

@@ -166,9 +166,20 @@ public class SkillTools {
/*
* Build categorized skill lists
*/
if (mcMMO.getCompatibilityManager().getMinecraftGameVersion().isAtLeast(1, 21, 11)) {
// We are in a game version with Spears and Maces
COMBAT_SKILLS = ImmutableList.of(
PrimarySkillType.ARCHERY,
PrimarySkillType.AXES,
PrimarySkillType.CROSSBOWS,
PrimarySkillType.MACES,
PrimarySkillType.SWORDS,
PrimarySkillType.SPEARS,
PrimarySkillType.TAMING,
PrimarySkillType.TRIDENTS,
PrimarySkillType.UNARMED);
} else if (mcMMO.getCompatibilityManager().getMinecraftGameVersion().isAtLeast(1, 21, 0)) {
// We are in a game version with Maces
if (mcMMO.getCompatibilityManager().getMinecraftGameVersion().isAtLeast(1, 21, 0)) {
COMBAT_SKILLS = ImmutableList.of(
PrimarySkillType.ARCHERY,
PrimarySkillType.AXES,
@@ -225,6 +236,7 @@ public class SkillTools {
case TRIDENTS_SUPER_ABILITY -> PrimarySkillType.TRIDENTS;
case EXPLOSIVE_SHOT -> PrimarySkillType.ARCHERY;
case MACES_SUPER_ABILITY -> PrimarySkillType.MACES;
case SPEARS_SUPER_ABILITY -> PrimarySkillType.SPEARS;
};
}

View File

@@ -544,8 +544,26 @@ public class TextComponentFactory {
componentBuilder.append(Component.newline());
}
/**
* @deprecated use appendSubSkillTextComponents(Player, List<Component>, PrimarySkillType)
* @param player target player
* @param textComponents list to append to
* @param parentSkill the parent skill
*/
@Deprecated(since = "2.2.046", forRemoval = true)
public static void getSubSkillTextComponents(Player player, List<Component> textComponents,
PrimarySkillType parentSkill) {
appendSubSkillTextComponents(player, textComponents, parentSkill);
}
/**
* Appends sub-skill text components to a list for a given parent skill
* @param player target player
* @param textComponents list to append to
* @param parentSkill the parent skill
*/
public static void appendSubSkillTextComponents(Player player, List<Component> textComponents,
PrimarySkillType parentSkill) {
for (SubSkillType subSkillType : SubSkillType.values()) {
if (subSkillType.getParentSkill() == parentSkill) {
//TODO: Hacky rewrite later

View File

@@ -145,6 +145,9 @@ commands:
smelting:
description: Detailed mcMMO skill info
permission: mcmmo.commands.smelting
spears:
description: Detailed mcMMO skill info
permission: mcmmo.commands.spears
alchemy:
description: Detailed mcMMO skill info
permission: mcmmo.commands.alchemy
@@ -237,6 +240,7 @@ permissions:
mcmmo.ability.repair.all: true
mcmmo.ability.salvage.all: true
mcmmo.ability.smelting.all: true
mcmmo.ability.spears.all: true
mcmmo.ability.swords.all: true
mcmmo.ability.taming.all: true
mcmmo.ability.tridents.all: true
@@ -646,6 +650,17 @@ permissions:
description: Allows access to the Second Smelt ability
mcmmo.ability.smelting.vanillaxpboost:
description: Allows vanilla XP boost from Smelting
mcmmo.ability.spears.*:
default: false
description: Allows access to all Spear abilities
children:
mcmmo.ability.spears.all: true
mcmmo.ability.spears.all:
description: Allows access to all Spear abilities
children:
mcmmo.ability.spears.spearslimitbreak: true
mcmmo.ability.spears.spearslimitbreak:
description: Adds damage to spears
mcmmo.ability.swords.*:
default: false
description: Allows access to all Swords abilities
@@ -885,6 +900,7 @@ permissions:
mcmmo.commands.repair: true
mcmmo.commands.salvage: true
mcmmo.commands.smelting: true
mcmmo.commands.spears: true
mcmmo.commands.swords: true
mcmmo.commands.taming: true
mcmmo.commands.unarmed: true
@@ -1058,6 +1074,7 @@ permissions:
mcmmo.commands.mctop.repair: true
mcmmo.commands.mctop.salvage: true
mcmmo.commands.mctop.smelting: true
mcmmo.commands.mctop.spears: true
mcmmo.commands.mctop.swords: true
mcmmo.commands.mctop.taming: true
mcmmo.commands.mctop.tridents: true
@@ -1091,6 +1108,8 @@ permissions:
description: Allows access to the mctop command for salvage
mcmmo.commands.mctop.smelting:
description: Allows access to the mctop command for smelting
mcmmo.commands.mctop.spears:
description: Allows access to the mctop command for spears
mcmmo.commands.mctop.swords:
description: Allows access to the mctop command for swords
mcmmo.commands.mctop.taming:
@@ -1239,6 +1258,7 @@ permissions:
mcmmo.commands.skillreset.repair: true
mcmmo.commands.skillreset.salvage: true
mcmmo.commands.skillreset.smelting: true
mcmmo.commands.skillreset.spears: true
mcmmo.commands.skillreset.swords: true
mcmmo.commands.skillreset.taming: true
mcmmo.commands.skillreset.unarmed: true
@@ -1268,6 +1288,8 @@ permissions:
description: Allows access to the skillreset command for crossbows
mcmmo.commands.skillreset.tridents:
description: Allows access to the skillreset command for tridents
mcmmo.commands.skillreset.spears:
description: Allows access to the skillreset command for spears
mcmmo.commands.skillreset.maces:
description: Allows access to the skillreset command for maces
mcmmo.commands.skillreset.others.*:
@@ -1290,6 +1312,7 @@ permissions:
mcmmo.commands.skillreset.others.repair: true
mcmmo.commands.skillreset.others.salvage: true
mcmmo.commands.skillreset.others.smelting: true
mcmmo.commands.skillreset.others.spears: true
mcmmo.commands.skillreset.others.swords: true
mcmmo.commands.skillreset.others.taming: true
mcmmo.commands.skillreset.others.unarmed: true
@@ -1321,6 +1344,8 @@ permissions:
description: Allows access to the skillreset command for salvage for other players
mcmmo.commands.skillreset.others.smelting:
description: Allows access to the skillreset command for smelting for other players
mcmmo.commands.skillreset.others.spears:
description: Allows access to the skillreset command for spears for other players
mcmmo.commands.skillreset.others.swords:
description: Allows access to the skillreset command for swords for other players
mcmmo.commands.skillreset.others.taming:
@@ -1497,6 +1522,7 @@ permissions:
mcmmo.perks.lucky.repair: true
mcmmo.perks.lucky.salvage: true
mcmmo.perks.lucky.smelting: true
mcmmo.perks.lucky.spears: true
mcmmo.perks.lucky.swords: true
mcmmo.perks.lucky.taming: true
mcmmo.perks.lucky.unarmed: true
@@ -1539,6 +1565,9 @@ permissions:
mcmmo.perks.lucky.salvage:
default: false
description: Gives Salvage abilities & skills a 33.3% better chance to activate.
mcmmo.perks.lucky.spears:
default: false
description: Gives Spears abilities & skills a 33.3% better chance to activate.
mcmmo.perks.lucky.smelting:
default: false
description: Gives Smelting abilities & skills a 33.3% better chance to activate.
@@ -1600,6 +1629,7 @@ permissions:
mcmmo.perks.xp.150percentboost.mining: true
mcmmo.perks.xp.150percentboost.repair: true
mcmmo.perks.xp.150percentboost.smelting: true
mcmmo.perks.xp.150percentboost.spears: true
mcmmo.perks.xp.150percentboost.swords: true
mcmmo.perks.xp.150percentboost.taming: true
mcmmo.perks.xp.150percentboost.tridents: true
@@ -1641,6 +1671,9 @@ permissions:
mcmmo.perks.xp.150percentboost.smelting:
default: false
description: Multiplies incoming Smelting XP by 2.5
mcmmo.perks.xp.150percentboost.spears:
default: false
description: Multiplies incoming Spears XP by 2.5
mcmmo.perks.xp.150percentboost.swords:
default: false
description: Multiplies incoming Swords XP by 2.5
@@ -1682,6 +1715,7 @@ permissions:
mcmmo.perks.xp.50percentboost.mining: true
mcmmo.perks.xp.50percentboost.repair: true
mcmmo.perks.xp.50percentboost.smelting: true
mcmmo.perks.xp.50percentboost.spears: true
mcmmo.perks.xp.50percentboost.swords: true
mcmmo.perks.xp.50percentboost.taming: true
mcmmo.perks.xp.50percentboost.tridents: true
@@ -1720,6 +1754,9 @@ permissions:
mcmmo.perks.xp.50percentboost.repair:
default: false
description: Multiplies incoming Repair XP by 1.5
mcmmo.perks.xp.50percentboost.spears:
default: false
description: Multiplies incoming Spears XP by 1.5
mcmmo.perks.xp.50percentboost.smelting:
default: false
description: Multiplies incoming Smelting XP by 1.5
@@ -1764,6 +1801,7 @@ permissions:
mcmmo.perks.xp.25percentboost.mining: true
mcmmo.perks.xp.25percentboost.repair: true
mcmmo.perks.xp.25percentboost.smelting: true
mcmmo.perks.xp.25percentboost.spears: true
mcmmo.perks.xp.25percentboost.swords: true
mcmmo.perks.xp.25percentboost.taming: true
mcmmo.perks.xp.25percentboost.tridents: true
@@ -1805,6 +1843,9 @@ permissions:
mcmmo.perks.xp.25percentboost.smelting:
default: false
description: Multiplies incoming Smelting XP by 1.25
mcmmo.perks.xp.25percentboost.spears:
default: false
description: Multiplies incoming Spears XP by 1.25
mcmmo.perks.xp.25percentboost.swords:
default: false
description: Multiplies incoming Swords XP by 1.25
@@ -1846,6 +1887,7 @@ permissions:
mcmmo.perks.xp.10percentboost.mining: true
mcmmo.perks.xp.10percentboost.repair: true
mcmmo.perks.xp.10percentboost.smelting: true
mcmmo.perks.xp.10percentboost.spears: true
mcmmo.perks.xp.10percentboost.swords: true
mcmmo.perks.xp.10percentboost.taming: true
mcmmo.perks.xp.10percentboost.tridents: true
@@ -1884,6 +1926,9 @@ permissions:
mcmmo.perks.xp.10percentboost.repair:
default: false
description: Multiplies incoming Repair XP by 1.1
mcmmo.perks.xp.10percentboost.spears:
default: false
description: Multiplies incoming Spears XP by 1.1
mcmmo.perks.xp.10percentboost.smelting:
default: false
description: Multiplies incoming Smelting XP by 1.1
@@ -1928,6 +1973,7 @@ permissions:
mcmmo.perks.xp.customboost.mining: true
mcmmo.perks.xp.customboost.repair: true
mcmmo.perks.xp.customboost.smelting: true
mcmmo.perks.xp.customboost.spears: true
mcmmo.perks.xp.customboost.swords: true
mcmmo.perks.xp.customboost.taming: true
mcmmo.perks.xp.customboost.tridents: true
@@ -1966,6 +2012,9 @@ permissions:
mcmmo.perks.xp.customboost.repair:
default: false
description: Multiplies incoming Repair XP by the boost amount defined in the experience config
mcmmo.perks.xp.customboost.spears:
default: false
description: Multiplies incoming Smelting XP by the boost amount defined in the experience config
mcmmo.perks.xp.customboost.smelting:
default: false
description: Multiplies incoming Smelting XP by the boost amount defined in the experience config
@@ -2010,6 +2059,7 @@ permissions:
mcmmo.perks.xp.double.mining: true
mcmmo.perks.xp.double.repair: true
mcmmo.perks.xp.double.smelting: true
mcmmo.perks.xp.double.spears: true
mcmmo.perks.xp.double.swords: true
mcmmo.perks.xp.double.taming: true
mcmmo.perks.xp.double.tridents: true
@@ -2048,6 +2098,9 @@ permissions:
mcmmo.perks.xp.double.repair:
default: false
description: Doubles incoming Repair XP
mcmmo.perks.xp.double.spears:
default: false
description: Doubles incoming Smelting XP
mcmmo.perks.xp.double.smelting:
default: false
description: Doubles incoming Smelting XP
@@ -2092,6 +2145,7 @@ permissions:
mcmmo.perks.xp.quadruple.mining: true
mcmmo.perks.xp.quadruple.repair: true
mcmmo.perks.xp.quadruple.smelting: true
mcmmo.perks.xp.quadruple.spears: true
mcmmo.perks.xp.quadruple.swords: true
mcmmo.perks.xp.quadruple.taming: true
mcmmo.perks.xp.quadruple.tridents: true
@@ -2133,6 +2187,9 @@ permissions:
mcmmo.perks.xp.quadruple.smelting:
default: false
description: Quadruples incoming Smelting XP
mcmmo.perks.xp.quadruple.spears:
default: false
description: Quadruples incoming Spears XP
mcmmo.perks.xp.quadruple.swords:
default: false
description: Quadruples incoming Swords XP
@@ -2174,6 +2231,7 @@ permissions:
mcmmo.perks.xp.triple.maces: true
mcmmo.perks.xp.triple.repair: true
mcmmo.perks.xp.triple.smelting: true
mcmmo.perks.xp.triple.spears: true
mcmmo.perks.xp.triple.swords: true
mcmmo.perks.xp.triple.taming: true
mcmmo.perks.xp.triple.tridents: true
@@ -2215,6 +2273,9 @@ permissions:
mcmmo.perks.xp.triple.smelting:
default: false
description: Triples incoming Smelting XP
mcmmo.perks.xp.triple.spears:
default: false
description: Triples incoming Spears XP
mcmmo.perks.xp.triple.swords:
default: false
description: Triples incoming Swords XP
@@ -2257,6 +2318,7 @@ permissions:
mcmmo.skills.salvage: true
mcmmo.skills.swords: true
mcmmo.skills.smelting: true
mcmmo.skills.spears: true
mcmmo.skills.taming: true
mcmmo.skills.unarmed: true
mcmmo.skills.woodcutting: true
@@ -2322,6 +2384,11 @@ permissions:
children:
mcmmo.ability.smelting.all: true
mcmmo.commands.smelting: true
mcmmo.skills.spears:
description: Allows access to the Spears skill
children:
mcmmo.ability.smelting.all: true
mcmmo.commands.smelting: true
mcmmo.skills.swords:
description: Allows access to the Swords skill
children:

View File

@@ -404,6 +404,30 @@ Smelting:
Rank_6: 750
Rank_7: 850
Rank_8: 1000
Spears:
SpearsLimitBreak:
Standard:
Rank_1: 10
Rank_2: 20
Rank_3: 30
Rank_4: 40
Rank_5: 50
Rank_6: 60
Rank_7: 70
Rank_8: 80
Rank_9: 90
Rank_10: 100
RetroMode:
Rank_1: 100
Rank_2: 200
Rank_3: 300
Rank_4: 400
Rank_5: 500
Rank_6: 600
Rank_7: 700
Rank_8: 800
Rank_9: 900
Rank_10: 1000
Salvage:
ScrapCollector:
Standard: