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 Version 2.2.045
Green Thumb now replants some crops it was failing to replant before (see notes) Green Thumb now replants some crops it was failing to replant before (see notes)
Green Thumb now replants harvested plants faster Green Thumb now replants harvested plants faster

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -93,6 +93,13 @@ public enum SuperAbilityType {
"Placeholder", "Placeholder",
"Placeholder", "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 * 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 SUPER_BREAKER -> Permissions.superBreaker(player);
case TREE_FELLER -> Permissions.treeFeller(player); case TREE_FELLER -> Permissions.treeFeller(player);
// TODO: once implemented, return permissions for the following abilities // TODO: once implemented, return permissions for the following abilities
case EXPLOSIVE_SHOT, TRIDENTS_SUPER_ABILITY, SUPER_SHOTGUN, MACES_SUPER_ABILITY -> case EXPLOSIVE_SHOT, TRIDENTS_SUPER_ABILITY, SUPER_SHOTGUN, MACES_SUPER_ABILITY,
false; 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.RepairCommand;
import com.gmail.nossr50.commands.skills.SalvageCommand; import com.gmail.nossr50.commands.skills.SalvageCommand;
import com.gmail.nossr50.commands.skills.SmeltingCommand; 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.SwordsCommand;
import com.gmail.nossr50.commands.skills.TamingCommand; import com.gmail.nossr50.commands.skills.TamingCommand;
import com.gmail.nossr50.commands.skills.TridentsCommand; import com.gmail.nossr50.commands.skills.TridentsCommand;
@@ -101,6 +102,7 @@ public final class CommandRegistrationManager {
case REPAIR -> command.setExecutor(new RepairCommand()); case REPAIR -> command.setExecutor(new RepairCommand());
case SALVAGE -> command.setExecutor(new SalvageCommand()); case SALVAGE -> command.setExecutor(new SalvageCommand());
case SMELTING -> command.setExecutor(new SmeltingCommand()); case SMELTING -> command.setExecutor(new SmeltingCommand());
case SPEARS -> command.setExecutor(new SpearsCommand());
case SWORDS -> command.setExecutor(new SwordsCommand()); case SWORDS -> command.setExecutor(new SwordsCommand());
case TAMING -> command.setExecutor(new TamingCommand()); case TAMING -> command.setExecutor(new TamingCommand());
case TRIDENTS -> command.setExecutor(new TridentsCommand()); case TRIDENTS -> command.setExecutor(new TridentsCommand());

View File

@@ -166,9 +166,20 @@ public class SkillTools {
/* /*
* Build categorized skill lists * 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 // We are in a game version with Maces
if (mcMMO.getCompatibilityManager().getMinecraftGameVersion().isAtLeast(1, 21, 0)) {
COMBAT_SKILLS = ImmutableList.of( COMBAT_SKILLS = ImmutableList.of(
PrimarySkillType.ARCHERY, PrimarySkillType.ARCHERY,
PrimarySkillType.AXES, PrimarySkillType.AXES,
@@ -225,6 +236,7 @@ public class SkillTools {
case TRIDENTS_SUPER_ABILITY -> PrimarySkillType.TRIDENTS; case TRIDENTS_SUPER_ABILITY -> PrimarySkillType.TRIDENTS;
case EXPLOSIVE_SHOT -> PrimarySkillType.ARCHERY; case EXPLOSIVE_SHOT -> PrimarySkillType.ARCHERY;
case MACES_SUPER_ABILITY -> PrimarySkillType.MACES; 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()); 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, public static void getSubSkillTextComponents(Player player, List<Component> textComponents,
PrimarySkillType parentSkill) { 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()) { for (SubSkillType subSkillType : SubSkillType.values()) {
if (subSkillType.getParentSkill() == parentSkill) { if (subSkillType.getParentSkill() == parentSkill) {
//TODO: Hacky rewrite later //TODO: Hacky rewrite later

View File

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

View File

@@ -404,6 +404,30 @@ Smelting:
Rank_6: 750 Rank_6: 750
Rank_7: 850 Rank_7: 850
Rank_8: 1000 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: Salvage:
ScrapCollector: ScrapCollector:
Standard: Standard: