diff --git a/Changelog.txt b/Changelog.txt index c85d0f910..a41b9c7c8 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,4 +1,5 @@ Version 2.1.201 + Fixed an exploit related to Ability Buffs remaining on tools Blast Mining no longer drops Budding Amethyst since its not legal to obtain this item through normal gameplay Added mcinspect and mmoinspect aliases to inspect command Portuguese translation of Woodcutting changed back to Lenhador diff --git a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java index ba80e7ab8..7dcc671b2 100644 --- a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java @@ -402,6 +402,7 @@ public class InventoryListener implements Listener { } SkillUtils.removeAbilityBuff(event.getCurrentItem()); + if (event.getAction() == InventoryAction.HOTBAR_SWAP) { if(isOutsideWindowClick(event)) return; diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 294911528..a87a47cd1 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -6,6 +6,7 @@ import com.gmail.nossr50.datatypes.chat.ChatChannel; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType; +import com.gmail.nossr50.datatypes.skills.interfaces.Skill; import com.gmail.nossr50.datatypes.skills.subskills.taming.CallOfTheWildType; import com.gmail.nossr50.events.McMMOReplaceVanillaTreasureEvent; import com.gmail.nossr50.events.fake.FakePlayerAnimationEvent; @@ -212,6 +213,11 @@ public class PlayerListener implements Listener { } } + @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = false) + public void onPlayerDeathNormal(PlayerDeathEvent playerDeathEvent) { + SkillUtils.removeAbilityBoostsFromInventory(playerDeathEvent.getEntity()); + } + /** * Monitor PlayerChangedWorldEvents. *
@@ -1031,17 +1037,9 @@ public class PlayerListener implements Listener { } } -// -// @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) -// public void onPlayerStatisticIncrementEvent(PlayerStatisticIncrementEvent event) { -// /* WORLD BLACKLIST CHECK */ -// if(WorldBlacklist.isWorldBlacklisted(event.getPlayer().getWorld())) -// return; -// -// if (!mcMMO.getHolidayManager().isAprilFirst()) { -// return; -// } -// -// mcMMO.getHolidayManager().handleStatisticEvent(event); -// } + @EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) + public void onPlayerSwapHandItems(PlayerSwapHandItemsEvent event) { + SkillUtils.removeAbilityBuff(event.getMainHandItem()); + SkillUtils.removeAbilityBuff(event.getOffHandItem()); + } }