From ae3768695f087873fc659517cfa6408a1e800110 Mon Sep 17 00:00:00 2001 From: Intelli Date: Thu, 22 Jul 2021 14:11:45 -0600 Subject: [PATCH] Skip extra checks on furnaces when processing hopper transactions This more aggressively aborts transaction logging to improve performance --- .../net/coreprotect/listener/player/HopperPullListener.java | 3 ++- .../net/coreprotect/listener/player/HopperPushListener.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/coreprotect/listener/player/HopperPullListener.java b/src/main/java/net/coreprotect/listener/player/HopperPullListener.java index 127ad95..4ec547a 100644 --- a/src/main/java/net/coreprotect/listener/player/HopperPullListener.java +++ b/src/main/java/net/coreprotect/listener/player/HopperPullListener.java @@ -8,6 +8,7 @@ import java.util.Set; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.inventory.BrewerInventory; +import org.bukkit.inventory.FurnaceInventory; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; @@ -50,7 +51,7 @@ public final class HopperPullListener { if (ConfigHandler.isPaper) { for (ItemStack itemStack : sourceHolder.getInventory().getContents()) { if (itemStack != null && Util.getItemStackHashCode(itemStack) == itemHash) { - if (itemHash != Util.getItemStackHashCode(movedItem) || destinationHolder.getInventory().firstEmpty() == -1 || destinationHolder.getInventory() instanceof BrewerInventory) { + if (itemHash != Util.getItemStackHashCode(movedItem) || destinationHolder.getInventory().firstEmpty() == -1 || destinationHolder.getInventory() instanceof BrewerInventory || destinationHolder.getInventory() instanceof FurnaceInventory) { abort = true; } diff --git a/src/main/java/net/coreprotect/listener/player/HopperPushListener.java b/src/main/java/net/coreprotect/listener/player/HopperPushListener.java index 480998c..ddf388c 100644 --- a/src/main/java/net/coreprotect/listener/player/HopperPushListener.java +++ b/src/main/java/net/coreprotect/listener/player/HopperPushListener.java @@ -8,6 +8,7 @@ import java.util.Set; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.inventory.BrewerInventory; +import org.bukkit.inventory.FurnaceInventory; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; @@ -49,7 +50,7 @@ public final class HopperPushListener { if (ConfigHandler.isPaper) { for (ItemStack itemStack : sourceHolder.getInventory().getContents()) { if (itemStack != null && Util.getItemStackHashCode(itemStack) == itemHash) { - if (itemHash != Util.getItemStackHashCode(movedItem) || destinationHolder.getInventory().firstEmpty() == -1 || destinationHolder.getInventory() instanceof BrewerInventory) { + if (itemHash != Util.getItemStackHashCode(movedItem) || destinationHolder.getInventory().firstEmpty() == -1 || destinationHolder.getInventory() instanceof BrewerInventory || destinationHolder.getInventory() instanceof FurnaceInventory) { abort = true; }