diff --git a/Changelog.txt b/Changelog.txt index 4d90c234d..b8384fc0d 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,4 +1,6 @@ Version 2.1.207 + Fixed an IndexOutOfBounds exception with our BlockTracker + Fixed a bug where leveling up a party at level cap would spam the chat with messages Temporarily rolling required Java version back to 16 Added unicode (UTF-8) support to locale files (no more UTF-16 codes needed) Added locale key 'Scoreboard.Disabled' to en_US diff --git a/src/main/java/com/gmail/nossr50/datatypes/party/Party.java b/src/main/java/com/gmail/nossr50/datatypes/party/Party.java index 40c684234..edf661791 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/party/Party.java +++ b/src/main/java/com/gmail/nossr50/datatypes/party/Party.java @@ -252,10 +252,10 @@ public class Party { SoundManager.sendSound(leader, leader.getLocation(), SoundType.LEVEL_UP); } } - return; + } else { + PartyManager.informPartyMembersLevelUp(this, levelsGained, getLevel()); } - PartyManager.informPartyMembersLevelUp(this, levelsGained, getLevel()); } public boolean hasReachedLevelCap() { 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 f60583457..3e0b6018f 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java @@ -642,7 +642,7 @@ public class McMMOPlayer implements Identified { applyXpGain(skill, modifyXpGain(skill, xp), xpGainReason, xpGainSource); - if (party == null) { + if (party == null || party.hasReachedLevelCap()) { return; } diff --git a/src/main/java/com/gmail/nossr50/util/EventUtils.java b/src/main/java/com/gmail/nossr50/util/EventUtils.java index 4dd661aba..acec911dd 100644 --- a/src/main/java/com/gmail/nossr50/util/EventUtils.java +++ b/src/main/java/com/gmail/nossr50/util/EventUtils.java @@ -370,7 +370,6 @@ public final class EventUtils { boolean isCancelled = event.isCancelled(); if (isCancelled) { - party.setLevel(party.getLevel() + levelsChanged); party.addXp(xpRemoved); }