From ba673a02d0375ca0bbd23689132e774809e300fa Mon Sep 17 00:00:00 2001 From: Warrior <50800980+Warriorrrr@users.noreply.github.com> Date: Sat, 23 Aug 2025 21:37:11 +0200 Subject: [PATCH] Add early return for brewing stand hopper check (#5208) --- .../nossr50/listeners/InventoryListener.java | 53 ++++++++++--------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java index 4374f74da..aabcde3d9 100644 --- a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java +++ b/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) { - /* WORLD BLACKLIST CHECK */ - - if (event.getSource().getLocation() != null) { - if (WorldBlacklist.isWorldBlacklisted(event.getSource().getLocation().getWorld())) { - return; - } - } - 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; + } + + 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; + } + + 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); } }