#1431: Add API for InventoryView derivatives

By: Miles Holder <mwholder2005@gmail.com>
This commit is contained in:
CraftBukkit/Spigot
2024-07-27 10:01:29 +10:00
parent 7fae51f18d
commit bfad1aa117
23 changed files with 537 additions and 72 deletions

View File

@@ -9,7 +9,7 @@
+import net.minecraft.world.entity.player.PlayerInventory;
+import org.bukkit.Bukkit;
+import org.bukkit.craftbukkit.inventory.CraftInventoryLectern;
+import org.bukkit.craftbukkit.inventory.CraftInventoryView;
+import org.bukkit.craftbukkit.inventory.view.CraftLecternView;
+import org.bukkit.entity.Player;
+import org.bukkit.event.player.PlayerTakeLecternBookEvent;
+// CraftBukkit end
@@ -17,17 +17,17 @@
public class ContainerLectern extends Container {
+ // CraftBukkit start
+ private CraftInventoryView bukkitEntity = null;
+ private CraftLecternView bukkitEntity = null;
+ private Player player;
+
+ @Override
+ public CraftInventoryView getBukkitView() {
+ public CraftLecternView getBukkitView() {
+ if (bukkitEntity != null) {
+ return bukkitEntity;
+ }
+
+ CraftInventoryLectern inventory = new CraftInventoryLectern(this.lectern);
+ bukkitEntity = new CraftInventoryView(this.player, inventory, this);
+ bukkitEntity = new CraftLecternView(this.player, inventory, this);
+ return bukkitEntity;
+ }
+ // CraftBukkit end