mirror of
https://github.com/PaperMC/Paper.git
synced 2024-08-28 23:49:41 +02:00
Upstream has released updates that appear 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: 09943450 Update SnakeYAML version 5515734f SPIGOT-7162: Incorrect description for Entity#getVehicle javadoc 6f82b381 PR-788: Add getHand() to all relevant events CraftBukkit Changes: aaf484f6f SPIGOT-7163: CraftMerchantRecipe doesn't copy demand and specialPrice from BukkitMerchantRecipe 5329dd6fd PR-1107: Add getHand() to all relevant events 93061706e SPIGOT-7045: Ocelots never spawn with babies with spawn reason OCELOT_BABY
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;
|
|
+ }
|
|
+}
|