Browse Source

Listen for block multiplace

t00thpick1 6 years ago
parent
commit
34fc9725b9
1 changed files with 24 additions and 0 deletions
  1. 24 0
      src/main/java/com/gmail/nossr50/listeners/BlockListener.java

+ 24 - 0
src/main/java/com/gmail/nossr50/listeners/BlockListener.java

@@ -166,6 +166,30 @@ public class BlockListener implements Listener {
         }
     }
 
+    /**
+     * Monitor BlockMultiPlace events.
+     *
+     * @param event The event to watch
+     */
+    @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
+    public void onBlockMultiPlace(BlockMultiPlaceEvent event) {
+        Player player = event.getPlayer();
+
+        if (!UserManager.hasPlayerDataKey(player)) {
+            return;
+        }
+
+        for (BlockState replacedBlockState : event.getReplacedBlockStates())
+        {
+            BlockState blockState = replacedBlockState.getBlock().getState();
+
+            /* Check if the blocks placed should be monitored so they do not give out XP in the future */
+            if (BlockUtils.shouldBeWatched(blockState) && blockState.getType() != Material.CHORUS_FLOWER) {
+                mcMMO.getPlaceStore().setTrue(blockState);
+            }
+        }
+    }
+
     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
     public void onBlockGrow(BlockGrowEvent event)
     {