geforkt von Mirrors/Paper
e886d8118e
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
67 Zeilen
3.5 KiB
Diff
67 Zeilen
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:51 -0800
|
|
Subject: [PATCH] Added PlayerLecternPageChangeEvent
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/Container.java b/src/main/java/net/minecraft/server/Container.java
|
|
index 73a057b074af938a03decb0a53784aff321411ab..1eba0ccad798ee0d9e9d573e58a8dcd5363b6ffd 100644
|
|
--- a/src/main/java/net/minecraft/server/Container.java
|
|
+++ b/src/main/java/net/minecraft/server/Container.java
|
|
@@ -546,6 +546,7 @@ public abstract class Container {
|
|
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);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/ContainerLectern.java b/src/main/java/net/minecraft/server/ContainerLectern.java
|
|
index 360c1c16fa3a09e7548081b3edd3c4dd3ec06efc..d7bb956287fe8a5c76570242d68bab7e2f1a8c3f 100644
|
|
--- a/src/main/java/net/minecraft/server/ContainerLectern.java
|
|
+++ b/src/main/java/net/minecraft/server/ContainerLectern.java
|
|
@@ -7,6 +7,7 @@ import org.bukkit.craftbukkit.inventory.CraftInventoryView;
|
|
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 {
|
|
|
|
@@ -54,6 +55,7 @@ public class ContainerLectern extends Container {
|
|
@Override
|
|
public boolean a(EntityHuman entityhuman, int i) {
|
|
int j;
|
|
+ PlayerLecternPageChangeEvent playerLecternPageChangeEvent; CraftInventoryLectern bukkitView; // Paper
|
|
|
|
if (i >= 100) {
|
|
j = i - 100;
|
|
@@ -63,11 +65,25 @@ public class ContainerLectern extends Container {
|
|
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()) {
|