mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-19 09:05:43 +01:00
74f507f4e3
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: e461dcfe #555: Item - add getters/setters for owner/thrower CraftBukkit Changes: 055870c4 #758: Item - add getters/setters for owner/thrower
97 lines
3.1 KiB
Diff
97 lines
3.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: LordKorea <lk97798@posteo.net>
|
|
Date: Mon, 11 May 2020 22:38:10 -0400
|
|
Subject: [PATCH] Add and implement PlayerRecipeBookClickEvent
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerRecipeBookClickEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerRecipeBookClickEvent.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..7fa937d339ee98ad308deebb523fead6522eb262
|
|
--- /dev/null
|
|
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerRecipeBookClickEvent.java
|
|
@@ -0,0 +1,84 @@
|
|
+package com.destroystokyo.paper.event.player;
|
|
+
|
|
+import org.bukkit.NamespacedKey;
|
|
+import org.bukkit.entity.Player;
|
|
+import org.bukkit.event.Cancellable;
|
|
+import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.event.player.PlayerEvent;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+/**
|
|
+ * Called when a player clicks a recipe in the recipe book
|
|
+ */
|
|
+public class PlayerRecipeBookClickEvent extends PlayerEvent implements Cancellable {
|
|
+ private static final HandlerList handlers = new HandlerList();
|
|
+ private boolean cancel = false;
|
|
+ @NotNull private NamespacedKey recipe;
|
|
+ private boolean makeAll;
|
|
+
|
|
+ public PlayerRecipeBookClickEvent(@NotNull Player player, @NotNull NamespacedKey recipe, boolean makeAll) {
|
|
+ super(player);
|
|
+ this.recipe = recipe;
|
|
+ this.makeAll = makeAll;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the namespaced key of the recipe that was clicked by the player
|
|
+ *
|
|
+ * @return The namespaced key of the recipe
|
|
+ */
|
|
+ @NotNull
|
|
+ public NamespacedKey getRecipe() {
|
|
+ return recipe;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Changes what recipe is requested. This sets the requested recipe to the recipe with the given key
|
|
+ *
|
|
+ * @param recipe The key of the recipe that should be requested
|
|
+ */
|
|
+ public void setRecipe(@NotNull NamespacedKey recipe) {
|
|
+ this.recipe = recipe;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets a boolean which indicates whether or not the player requested to make the maximum amount of results. This is
|
|
+ * true if shift is pressed while the recipe is clicked in the recipe book
|
|
+ *
|
|
+ * @return {@code true} if shift is pressed while the recipe is clicked
|
|
+ */
|
|
+ public boolean isMakeAll() {
|
|
+ return makeAll;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Sets whether or not the maximum amount of results should be made. If this is true, the request is handled as if
|
|
+ * the player had pressed shift while clicking on the recipe
|
|
+ *
|
|
+ * @param makeAll {@code true} if the request should attempt to make the maximum amount of results
|
|
+ */
|
|
+ public void setMakeAll(boolean makeAll) {
|
|
+ this.makeAll = makeAll;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isCancelled() {
|
|
+ return cancel;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setCancelled(boolean cancel) {
|
|
+ this.cancel = cancel;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ @Override
|
|
+ public HandlerList getHandlers() {
|
|
+ return handlers;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public static HandlerList getHandlerList() {
|
|
+ return handlers;
|
|
+ }
|
|
+}
|