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
128 lines
3.5 KiB
Diff
128 lines
3.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Mon, 23 Nov 2020 12:58:16 -0800
|
|
Subject: [PATCH] Added PlayerLecternPageChangeEvent
|
|
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/event/player/PlayerLecternPageChangeEvent.java b/src/main/java/io/papermc/paper/event/player/PlayerLecternPageChangeEvent.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..26370e46e4a12e3470e9bb747fac5786a7305810
|
|
--- /dev/null
|
|
+++ b/src/main/java/io/papermc/paper/event/player/PlayerLecternPageChangeEvent.java
|
|
@@ -0,0 +1,115 @@
|
|
+package io.papermc.paper.event.player;
|
|
+
|
|
+import org.bukkit.block.Lectern;
|
|
+import org.bukkit.entity.Player;
|
|
+import org.bukkit.event.Cancellable;
|
|
+import org.bukkit.event.HandlerList;
|
|
+import org.bukkit.event.player.PlayerEvent;
|
|
+import org.bukkit.inventory.ItemStack;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+import org.jetbrains.annotations.Nullable;
|
|
+
|
|
+public class PlayerLecternPageChangeEvent extends PlayerEvent implements Cancellable {
|
|
+
|
|
+ private static final HandlerList HANDLER_LIST = new HandlerList();
|
|
+
|
|
+ private boolean cancelled;
|
|
+ private final Lectern lectern;
|
|
+ private final ItemStack book;
|
|
+ private final PageChangeDirection pageChangeDirection;
|
|
+ private final int oldPage;
|
|
+ private int newPage;
|
|
+
|
|
+ public PlayerLecternPageChangeEvent(@NotNull Player player, @NotNull Lectern lectern, @NotNull ItemStack book, @NotNull PageChangeDirection pageChangeDirection, int oldPage, int newPage) {
|
|
+ super(player);
|
|
+ this.lectern = lectern;
|
|
+ this.book = book;
|
|
+ this.pageChangeDirection = pageChangeDirection;
|
|
+ this.oldPage = oldPage;
|
|
+ this.newPage = newPage;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the lectern involved.
|
|
+ *
|
|
+ * @return the Lectern
|
|
+ */
|
|
+ @NotNull
|
|
+ public Lectern getLectern() {
|
|
+ return lectern;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the current ItemStack on the lectern.
|
|
+ *
|
|
+ * @return the ItemStack on the Lectern
|
|
+ */
|
|
+ @NotNull
|
|
+ public ItemStack getBook() {
|
|
+ return this.book;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the page change direction. This is essentially returns which button the player clicked, left or right.
|
|
+ *
|
|
+ * @return the page change direction
|
|
+ */
|
|
+ @NotNull
|
|
+ public PageChangeDirection getPageChangeDirection() {
|
|
+ return pageChangeDirection;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the page changed from. <i>Pages are 0-indexed.</i>
|
|
+ *
|
|
+ * @return the page changed from
|
|
+ */
|
|
+ public int getOldPage() {
|
|
+ return oldPage;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the page changed to. <i>Pages are 0-indexed.</i>
|
|
+ *
|
|
+ * @return the page changed to
|
|
+ */
|
|
+ public int getNewPage() {
|
|
+ return newPage;
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Sets the page changed to. <i>Pages are 0-indexed.</i>
|
|
+ * Page indices that are greater than the number of pages will show the last page.
|
|
+ *
|
|
+ * @param newPage the new paged changed to
|
|
+ */
|
|
+ public void setNewPage(int newPage) {
|
|
+ this.newPage = newPage;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isCancelled() {
|
|
+ return cancelled;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setCancelled(boolean cancel) {
|
|
+ this.cancelled = cancel;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ @Override
|
|
+ public HandlerList getHandlers() {
|
|
+ return HANDLER_LIST;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public static HandlerList getHandlerList() {
|
|
+ return HANDLER_LIST;
|
|
+ }
|
|
+
|
|
+ public enum PageChangeDirection {
|
|
+ LEFT,
|
|
+ RIGHT,
|
|
+ }
|
|
+}
|