Browse Source

Mark blocks always in BlockPlaceEvent

nossr50 4 years ago
parent
commit
d4ab829812
2 changed files with 12 additions and 9 deletions
  1. 1 0
      Changelog.txt
  2. 11 9
      src/main/java/com/gmail/nossr50/listeners/BlockListener.java

+ 1 - 0
Changelog.txt

@@ -1,4 +1,5 @@
 Version 2.1.146
 Version 2.1.146
+    A dupe exploit has been patched
     Players no longer lose levels below the level threshold in hardcore mode
     Players no longer lose levels below the level threshold in hardcore mode
     Hardcore now only applies penalties to levels above threshold
     Hardcore now only applies penalties to levels above threshold
 
 

+ 11 - 9
src/main/java/com/gmail/nossr50/listeners/BlockListener.java

@@ -205,9 +205,19 @@ public class BlockListener implements Listener {
      */
      */
     @EventHandler(priority = EventPriority.MONITOR)
     @EventHandler(priority = EventPriority.MONITOR)
     public void onBlockPlace(BlockPlaceEvent event) {
     public void onBlockPlace(BlockPlaceEvent event) {
+        BlockState blockState = event.getBlock().getState();
+
+        /* Check if the blocks placed should be monitored so they do not give out XP in the future */
+        if (BlockUtils.shouldBeWatched(blockState)) {
+            // Don't count de-barking wood
+            if (!Tag.LOGS.isTagged(event.getBlockReplacedState().getType()) || !Tag.LOGS.isTagged(event.getBlockPlaced().getType()))
+                mcMMO.getPlaceStore().setTrue(blockState);
+        }
+
         /* WORLD BLACKLIST CHECK */
         /* WORLD BLACKLIST CHECK */
-        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
+        if(WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld())) {
             return;
             return;
+        }
 
 
         Player player = event.getPlayer();
         Player player = event.getPlayer();
 
 
@@ -215,14 +225,6 @@ public class BlockListener implements Listener {
             return;
             return;
         }
         }
 
 
-        BlockState blockState = event.getBlock().getState();
-
-        /* Check if the blocks placed should be monitored so they do not give out XP in the future */
-        if (BlockUtils.shouldBeWatched(blockState)) {
-            // Don't count de-barking wood
-            if (!Tag.LOGS.isTagged(event.getBlockReplacedState().getType()) || !Tag.LOGS.isTagged(event.getBlockPlaced().getType()))
-                mcMMO.getPlaceStore().setTrue(blockState);
-        }
 
 
         McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
         McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);