This adds a new Future based, Consumer<Chunk> based, and ability to control whether or not to generate to the Async Chunk API. Until Async Chunks merges, these API's are still synchronous, but this commit will allow plugins to start using the API's in use with the Async Chunks beta.
112 lines
4.5 KiB
Diff
112 lines
4.5 KiB
Diff
From 540ea528206d24ac317b8f88b0524917a54dc7ca Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
|
Date: Thu, 2 Aug 2018 08:44:20 -0500
|
|
Subject: [PATCH] Add hand to bucket events
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java
|
|
index 8fb121a91..7b9596f30 100644
|
|
--- a/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/player/PlayerBucketEmptyEvent.java
|
|
@@ -5,6 +5,7 @@ import org.bukkit.block.Block;
|
|
import org.bukkit.block.BlockFace;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.inventory.EquipmentSlot;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
/**
|
|
@@ -17,6 +18,12 @@ public class PlayerBucketEmptyEvent extends PlayerBucketEvent {
|
|
super(who, blockClicked, blockFace, bucket, itemInHand);
|
|
}
|
|
|
|
+ // Paper start - add EquipmentSlot
|
|
+ public PlayerBucketEmptyEvent(final Player who, final Block blockClicked, final BlockFace blockFace, final Material bucket, final ItemStack itemInHand, final EquipmentSlot hand) {
|
|
+ super(who, blockClicked, blockFace, bucket, itemInHand, hand);
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
@Override
|
|
public HandlerList getHandlers() {
|
|
return handlers;
|
|
diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java
|
|
index 56584687f..3dbe428ba 100644
|
|
--- a/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/player/PlayerBucketEvent.java
|
|
@@ -5,6 +5,7 @@ import org.bukkit.block.Block;
|
|
import org.bukkit.block.BlockFace;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.event.Cancellable;
|
|
+import org.bukkit.inventory.EquipmentSlot;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
/**
|
|
@@ -16,13 +17,21 @@ public abstract class PlayerBucketEvent extends PlayerEvent implements Cancellab
|
|
private final Block blockClicked;
|
|
private final BlockFace blockFace;
|
|
private final Material bucket;
|
|
+ private final EquipmentSlot hand; // Paper - add EquipmentSlot
|
|
|
|
public PlayerBucketEvent(final Player who, final Block blockClicked, final BlockFace blockFace, final Material bucket, final ItemStack itemInHand) {
|
|
+ // Paper start - add EquipmentSlot
|
|
+ this(who, blockClicked, blockFace, bucket, itemInHand, null);
|
|
+ }
|
|
+
|
|
+ public PlayerBucketEvent(final Player who, final Block blockClicked, final BlockFace blockFace, final Material bucket, final ItemStack itemInHand, final EquipmentSlot hand) {
|
|
+ // Paper end
|
|
super(who);
|
|
this.blockClicked = blockClicked;
|
|
this.blockFace = blockFace;
|
|
this.itemStack = itemInHand;
|
|
this.bucket = bucket;
|
|
+ this.hand = hand == null ? player.getInventory().getItemInMainHand().equals(itemInHand) ? EquipmentSlot.HAND : EquipmentSlot.OFF_HAND : hand; // Paper - add EquipmentSlot
|
|
}
|
|
|
|
/**
|
|
@@ -70,6 +79,17 @@ public abstract class PlayerBucketEvent extends PlayerEvent implements Cancellab
|
|
return blockFace;
|
|
}
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * The hand used to perform this action.
|
|
+ *
|
|
+ * @return the hand used
|
|
+ */
|
|
+ public EquipmentSlot getHand() {
|
|
+ return hand;
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
public boolean isCancelled() {
|
|
return cancelled;
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java b/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java
|
|
index 94e042a36..884b9240b 100644
|
|
--- a/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java
|
|
+++ b/src/main/java/org/bukkit/event/player/PlayerBucketFillEvent.java
|
|
@@ -5,6 +5,7 @@ import org.bukkit.block.Block;
|
|
import org.bukkit.block.BlockFace;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.inventory.EquipmentSlot;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
/**
|
|
@@ -17,6 +18,12 @@ public class PlayerBucketFillEvent extends PlayerBucketEvent {
|
|
super(who, blockClicked, blockFace, bucket, itemInHand);
|
|
}
|
|
|
|
+ // Paper start - add EquipmentSlot
|
|
+ public PlayerBucketFillEvent(final Player who, final Block blockClicked, final BlockFace blockFace, final Material bucket, final ItemStack itemInHand, final EquipmentSlot hand) {
|
|
+ super(who, blockClicked, blockFace, bucket, itemInHand, hand);
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
@Override
|
|
public HandlerList getHandlers() {
|
|
return handlers;
|
|
--
|
|
2.19.0
|
|
|