浏览代码

Add early return for brewing stand hopper check (#5208)

Warrior 1 周之前
父节点
当前提交
ba673a02d0
共有 1 个文件被更改,包括 25 次插入24 次删除
  1. 25 24
      src/main/java/com/gmail/nossr50/listeners/InventoryListener.java

+ 25 - 24
src/main/java/com/gmail/nossr50/listeners/InventoryListener.java

@@ -406,39 +406,41 @@ public class InventoryListener implements Listener {
 
     @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
     public void onInventoryMoveItemEvent(InventoryMoveItemEvent event) {
+        final Inventory inventory = event.getDestination();
+
+        if (!(inventory instanceof BrewerInventory)) {
+            return;
+        }
+
         /* WORLD BLACKLIST CHECK */
+        final Location sourceLocation = event.getSource().getLocation();
+        if (sourceLocation != null && WorldBlacklist.isWorldBlacklisted(sourceLocation.getWorld())) {
+            return;
+        }
 
-        if (event.getSource().getLocation() != null) {
-            if (WorldBlacklist.isWorldBlacklisted(event.getSource().getLocation().getWorld())) {
-                return;
-            }
+        ItemStack item = event.getItem();
+
+        if (mcMMO.p.getGeneralConfig().getPreventHopperTransferIngredients()
+                && item.getType() != Material.POTION && item.getType() != Material.SPLASH_POTION
+                && item.getType() != Material.LINGERING_POTION) {
+            event.setCancelled(true);
+            return;
         }
 
-        final Inventory inventory = event.getDestination();
+        if (mcMMO.p.getGeneralConfig().getPreventHopperTransferBottles() && (
+                item.getType() == Material.POTION || item.getType() == Material.SPLASH_POTION
+                        || item.getType() == Material.LINGERING_POTION)) {
+            event.setCancelled(true);
+            return;
+        }
 
-        if (!(inventory instanceof BrewerInventory)) {
+        if (!mcMMO.p.getGeneralConfig().getEnabledForHoppers()) {
             return;
         }
 
         final InventoryHolder holder = inventory.getHolder();
 
         if (holder instanceof BrewingStand brewingStand) {
-
-            ItemStack item = event.getItem();
-
-            if (mcMMO.p.getGeneralConfig().getPreventHopperTransferIngredients()
-                    && item.getType() != Material.POTION && item.getType() != Material.SPLASH_POTION
-                    && item.getType() != Material.LINGERING_POTION) {
-                event.setCancelled(true);
-                return;
-            }
-
-            if (mcMMO.p.getGeneralConfig().getPreventHopperTransferBottles() && (
-                    item.getType() == Material.POTION || item.getType() == Material.SPLASH_POTION
-                            || item.getType() == Material.LINGERING_POTION)) {
-                event.setCancelled(true);
-                return;
-            }
             int ingredientLevel = 1;
 
             OfflinePlayer offlinePlayer = ContainerMetadataUtils.getContainerOwner(brewingStand);
@@ -449,8 +451,7 @@ public class InventoryListener implements Listener {
                 }
             }
 
-            if (mcMMO.p.getGeneralConfig().getEnabledForHoppers()
-                    && AlchemyPotionBrewer.isValidIngredientByLevel(ingredientLevel, item)) {
+            if (AlchemyPotionBrewer.isValidIngredientByLevel(ingredientLevel, item)) {
                 AlchemyPotionBrewer.scheduleCheck(brewingStand);
             }
         }