From 9154b3f083bf0b2dcb9ade0cecdce75e0cd01ab3 Mon Sep 17 00:00:00 2001 From: nossr50 Date: Sat, 14 Sep 2019 15:44:58 -0700 Subject: [PATCH] Fixes #4056 --- Changelog.txt | 4 ++++ .../java/com/gmail/nossr50/listeners/BlockListener.java | 9 ++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index a141fe9c2..0c4b752b6 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,3 +1,7 @@ +Version 2.1.107 + Fixed an exploit that allowed automated XP gain for Excavation + + Version 2.1.106 Added a few missing blocks to the ability blacklist tables (prevents readying/using abilities on certain blocks that have right click functionality) Updated Japanese locale (thanks ethernetcat) diff --git a/src/main/java/com/gmail/nossr50/listeners/BlockListener.java b/src/main/java/com/gmail/nossr50/listeners/BlockListener.java index 2a405eb62..ebbd20185 100644 --- a/src/main/java/com/gmail/nossr50/listeners/BlockListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/BlockListener.java @@ -183,9 +183,11 @@ public class BlockListener implements Listener { if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld())) return; - if(BlockUtils.shouldBeWatched(event.getBlock().getState())) + BlockState blockState = event.getNewState(); + + if(BlockUtils.shouldBeWatched(blockState)) { - mcMMO.getPlaceStore().setTrue(event.getBlock()); + mcMMO.getPlaceStore().setTrue(blockState.getBlock()); } } @@ -198,7 +200,8 @@ public class BlockListener implements Listener { if(ExperienceConfig.getInstance().preventStoneLavaFarming()) { - if(event.getNewState().getType() != Material.OBSIDIAN && BlockUtils.shouldBeWatched(event.getNewState()) + if(event.getNewState().getType() != Material.OBSIDIAN + && BlockUtils.shouldBeWatched(event.getNewState()) && ExperienceConfig.getInstance().doesBlockGiveSkillXP(PrimarySkillType.MINING, event.getNewState().getBlockData())) { mcMMO.getPlaceStore().setTrue(event.getNewState());