diff --git a/Changelog.txt b/Changelog.txt
index fc3b41441..5360ea9c1 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -1,3 +1,7 @@
+Version 2.2.048
+ Fixed error when loading Spears skill manager on older Minecraft versions
+ Fixed error when using /spears command on an older Minecraft version
+
Version 2.2.047
Fix bug where off-hand spears damage could be attributed to various combat skills and trigger their abilities
diff --git a/pom.xml b/pom.xml
index 138d7c012..49e1e7d5d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.gmail.nossr50.mcMMO
mcMMO
- 2.2.047
+ 2.2.048
mcMMO
https://github.com/mcMMO-Dev/mcMMO
diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java
index 69d7d282d..be6ed57ac 100644
--- a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java
+++ b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java
@@ -181,7 +181,6 @@ public class McMMOPlayer implements Identified {
}
}
- //TODO: Add test
private void initManager(PrimarySkillType primarySkillType) throws InvalidSkillException {
final var version = mcMMO.getCompatibilityManager().getMinecraftGameVersion();
@@ -203,20 +202,12 @@ public class McMMOPlayer implements Identified {
case TRIDENTS -> new TridentsManager(this);
case UNARMED -> new UnarmedManager(this);
case WOODCUTTING -> new WoodcuttingManager(this);
-
- case MACES -> version.isAtLeast(1, 21, 0)
- ? new MacesManager(this)
- : null; // keep current behavior: no manager on older versions
-
- case SPEARS -> version.isAtLeast(1, 21, 11)
- ? new SpearsManager(this)
- : null; // same here
+ case MACES -> version.isAtLeast(1, 21, 0) ? new MacesManager(this) : null;
+ case SPEARS -> version.isAtLeast(1, 21, 11) ? new SpearsManager(this) : null;
};
if (manager != null) {
skillManagers.put(primarySkillType, manager);
- } else {
- throw new InvalidSkillException("No valid skill manager for skill: " + primarySkillType);
}
}
diff --git a/src/main/java/com/gmail/nossr50/util/commands/CommandRegistrationManager.java b/src/main/java/com/gmail/nossr50/util/commands/CommandRegistrationManager.java
index 90f42349e..7e1dc7193 100644
--- a/src/main/java/com/gmail/nossr50/util/commands/CommandRegistrationManager.java
+++ b/src/main/java/com/gmail/nossr50/util/commands/CommandRegistrationManager.java
@@ -64,6 +64,12 @@ public final class CommandRegistrationManager {
private static void registerSkillCommands() {
for (PrimarySkillType primarySkillType : PrimarySkillType.values()) {
+ if (primarySkillType == PrimarySkillType.SPEARS
+ && !mcMMO.getCompatibilityManager().getMinecraftGameVersion()
+ .isAtLeast(1, 21, 11)) {
+ continue;
+ }
+
if (primarySkillType == PrimarySkillType.MACES
&& !mcMMO.getCompatibilityManager().getMinecraftGameVersion()
.isAtLeast(1, 21, 0)) {