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)) {