From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Mon, 23 Nov 2020 12:58:51 -0800 Subject: [PATCH] Added PlayerLecternPageChangeEvent diff --git a/src/main/java/net/minecraft/world/inventory/LecternMenu.java b/src/main/java/net/minecraft/world/inventory/LecternMenu.java index 9b80f533e94c47ebc0d46429698e084216b632ab..52471ef87994ac91b4b0017159b61ff50774848a 100644 --- a/src/main/java/net/minecraft/world/inventory/LecternMenu.java +++ b/src/main/java/net/minecraft/world/inventory/LecternMenu.java @@ -64,6 +64,7 @@ public class LecternMenu extends AbstractContainerMenu { @Override public boolean clickMenuButton(net.minecraft.world.entity.player.Player player, int id) { int j; + io.papermc.paper.event.player.PlayerLecternPageChangeEvent playerLecternPageChangeEvent; CraftInventoryLectern bukkitView; // Paper if (id >= 100) { j = id - 100; @@ -73,11 +74,25 @@ public class LecternMenu extends AbstractContainerMenu { switch (id) { case 1: j = this.lecternData.get(0); - this.setData(0, j - 1); + // Paper start + bukkitView = (CraftInventoryLectern) getBukkitView().getTopInventory(); + playerLecternPageChangeEvent = new io.papermc.paper.event.player.PlayerLecternPageChangeEvent((org.bukkit.entity.Player) player.getBukkitEntity(), bukkitView.getHolder(), bukkitView.getBook(), io.papermc.paper.event.player.PlayerLecternPageChangeEvent.PageChangeDirection.LEFT, j, j - 1); + if (!playerLecternPageChangeEvent.callEvent()) { + return false; + } + this.setData(0, playerLecternPageChangeEvent.getNewPage()); + // Paper end return true; case 2: j = this.lecternData.get(0); - this.setData(0, j + 1); + // Paper start + bukkitView = (CraftInventoryLectern) getBukkitView().getTopInventory(); + playerLecternPageChangeEvent = new io.papermc.paper.event.player.PlayerLecternPageChangeEvent((org.bukkit.entity.Player) player.getBukkitEntity(), bukkitView.getHolder(), bukkitView.getBook(), io.papermc.paper.event.player.PlayerLecternPageChangeEvent.PageChangeDirection.RIGHT, j, j + 1); + if (!playerLecternPageChangeEvent.callEvent()) { + return false; + } + this.setData(0, playerLecternPageChangeEvent.getNewPage()); + // Paper end return true; case 3: if (!player.mayBuild()) {