Skip to content

Commit

Permalink
Fixed dropper transactions not being logged when using Paper
Browse files Browse the repository at this point in the history
  • Loading branch information
Intelli committed Aug 8, 2023
1 parent d791026 commit 1b6d2ec
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ protected void onBlockDispense(BlockDispenseEvent event) {
boolean dispenseSuccess = !event.getVelocity().equals(new Vector()); // true if velocity is set
boolean dispenseRelative = newBlock.getLocation().equals(velocityLocation); // true if velocity location matches relative location

if (!BlockPreDispenseListener.useBlockPreDispenseEvent) {
if (!BlockPreDispenseListener.useBlockPreDispenseEvent || (!BlockPreDispenseListener.useForDroppers && block.getType() == Material.DROPPER)) {
if (dispenseRelative || material.equals(Material.FLINT_AND_STEEL) || material.equals(Material.SHEARS)) {
forceItem = false;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.coreprotect.paper.listener;

import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.data.BlockData;
Expand All @@ -18,6 +19,7 @@
public final class BlockPreDispenseListener extends Queue implements Listener {

public static boolean useBlockPreDispenseEvent = true;
public static boolean useForDroppers = false;

@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onBlockPreDispense(BlockPreDispenseEvent event) {
Expand All @@ -29,6 +31,10 @@ public void onBlockPreDispense(BlockPreDispenseEvent event) {

BlockData blockData = block.getBlockData();
if (blockData instanceof Dispenser) {
if (!useForDroppers && block.getType() == Material.DROPPER) {
useForDroppers = true;
}

String user = "#dispenser";
ItemStack[] inventory = ((InventoryHolder) block.getState()).getInventory().getStorageContents();
InventoryChangeListener.inventoryTransaction(user, block.getLocation(), inventory);
Expand Down

0 comments on commit 1b6d2ec

Please sign in to comment.