浏览代码

Mark blocks always in BlockPlaceEvent

nossr50 5 年之前
父节点
当前提交
d4ab829812
共有 2 个文件被更改,包括 12 次插入9 次删除
  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);