2020-11-24 04:59:17 +08:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
|
|
Date: Mon, 23 Nov 2020 12:58:51 -0800
|
|
|
|
Subject: [PATCH] Added PlayerLecternPageChangeEvent
|
|
|
|
|
|
|
|
|
2021-03-16 15:19:45 +08:00
|
|
|
diff --git a/src/main/java/net/minecraft/world/inventory/Container.java b/src/main/java/net/minecraft/world/inventory/Container.java
|
|
|
|
index e7c29d194d5c3e3b1b79228758f7a3d8aa060fbd..9c6330da4e026a7753698b5d103c009730154c3e 100644
|
|
|
|
--- a/src/main/java/net/minecraft/world/inventory/Container.java
|
|
|
|
+++ b/src/main/java/net/minecraft/world/inventory/Container.java
|
|
|
|
@@ -562,6 +562,7 @@ public abstract class Container {
|
2020-11-24 04:59:17 +08:00
|
|
|
this.getSlot(i).set(itemstack);
|
|
|
|
}
|
|
|
|
|
|
|
|
+ public void setData(int index, int value) { this.a(index, value); } // Paper - OBFHELPER
|
|
|
|
public void a(int i, int j) {
|
|
|
|
((ContainerProperty) this.d.get(i)).set(j);
|
|
|
|
}
|
2021-03-16 15:19:45 +08:00
|
|
|
diff --git a/src/main/java/net/minecraft/world/inventory/ContainerLectern.java b/src/main/java/net/minecraft/world/inventory/ContainerLectern.java
|
2021-05-29 17:07:34 +08:00
|
|
|
index 70d9ebca8d176d6483f104bd03598753811fc154..65687792351fbd561b1f4d6f88bc7288b6d8346f 100644
|
2021-03-16 15:19:45 +08:00
|
|
|
--- a/src/main/java/net/minecraft/world/inventory/ContainerLectern.java
|
|
|
|
+++ b/src/main/java/net/minecraft/world/inventory/ContainerLectern.java
|
2021-05-29 17:07:34 +08:00
|
|
|
@@ -14,6 +14,7 @@ import org.bukkit.craftbukkit.inventory.CraftInventoryView;
|
2020-11-24 04:59:17 +08:00
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
import org.bukkit.event.player.PlayerTakeLecternBookEvent;
|
|
|
|
// CraftBukkit end
|
|
|
|
+import io.papermc.paper.event.player.PlayerLecternPageChangeEvent; // Paper
|
|
|
|
|
|
|
|
public class ContainerLectern extends Container {
|
|
|
|
|
2021-05-29 17:07:34 +08:00
|
|
|
@@ -61,6 +62,7 @@ public class ContainerLectern extends Container {
|
2020-11-24 04:59:17 +08:00
|
|
|
@Override
|
|
|
|
public boolean a(EntityHuman entityhuman, int i) {
|
|
|
|
int j;
|
|
|
|
+ PlayerLecternPageChangeEvent playerLecternPageChangeEvent; CraftInventoryLectern bukkitView; // Paper
|
|
|
|
|
|
|
|
if (i >= 100) {
|
|
|
|
j = i - 100;
|
2021-05-29 17:07:34 +08:00
|
|
|
@@ -70,11 +72,25 @@ public class ContainerLectern extends Container {
|
2020-11-24 04:59:17 +08:00
|
|
|
switch (i) {
|
|
|
|
case 1:
|
|
|
|
j = this.containerProperties.getProperty(0);
|
|
|
|
- this.a(0, j - 1);
|
|
|
|
+ // Paper start
|
|
|
|
+ bukkitView = (CraftInventoryLectern) getBukkitView().getTopInventory();
|
|
|
|
+ playerLecternPageChangeEvent = new PlayerLecternPageChangeEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), bukkitView.getHolder(), bukkitView.getBook(), PlayerLecternPageChangeEvent.PageChangeDirection.LEFT, j, j - 1);
|
|
|
|
+ if (!playerLecternPageChangeEvent.callEvent()) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ this.setData(0, playerLecternPageChangeEvent.getNewPage());
|
|
|
|
+ // Paper end
|
|
|
|
return true;
|
|
|
|
case 2:
|
|
|
|
j = this.containerProperties.getProperty(0);
|
|
|
|
- this.a(0, j + 1);
|
|
|
|
+ // Paper start
|
|
|
|
+ bukkitView = (CraftInventoryLectern) getBukkitView().getTopInventory();
|
|
|
|
+ playerLecternPageChangeEvent = new PlayerLecternPageChangeEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), bukkitView.getHolder(), bukkitView.getBook(), PlayerLecternPageChangeEvent.PageChangeDirection.RIGHT, j, j + 1);
|
|
|
|
+ if (!playerLecternPageChangeEvent.callEvent()) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ this.setData(0, playerLecternPageChangeEvent.getNewPage());
|
|
|
|
+ // Paper end
|
|
|
|
return true;
|
|
|
|
case 3:
|
|
|
|
if (!entityhuman.eK()) {
|