SPIGOT-6480: Players cannot take books from lecterns that were opened by plugins

By: blablubbabc <lukas@wirsindwir.de>
This commit is contained in:
CraftBukkit/Spigot
2021-05-29 18:52:49 +10:00
parent bef41983bd
commit d5fb854202
4 changed files with 26 additions and 10 deletions

View File

@@ -40,6 +40,7 @@ import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.craftbukkit.inventory.CraftContainer;
import org.bukkit.craftbukkit.inventory.CraftInventory;
import org.bukkit.craftbukkit.inventory.CraftInventoryDoubleChest;
import org.bukkit.craftbukkit.inventory.CraftInventoryLectern;
import org.bukkit.craftbukkit.inventory.CraftInventoryPlayer;
import org.bukkit.craftbukkit.inventory.CraftInventoryView;
import org.bukkit.craftbukkit.inventory.CraftItemStack;
@@ -277,6 +278,8 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
ITileInventory iinventory = null;
if (inventory instanceof CraftInventoryDoubleChest) {
iinventory = ((CraftInventoryDoubleChest) inventory).tile;
} else if (inventory instanceof CraftInventoryLectern) {
iinventory = ((CraftInventoryLectern) inventory).tile;
} else if (inventory instanceof CraftInventory) {
CraftInventory craft = (CraftInventory) inventory;
if (craft.getInventory() instanceof ITileInventory) {

View File

@@ -1,13 +1,20 @@
package org.bukkit.craftbukkit.inventory;
import net.minecraft.world.IInventory;
import net.minecraft.world.ITileInventory;
import net.minecraft.world.level.block.entity.TileEntityLectern;
import org.bukkit.block.Lectern;
import org.bukkit.inventory.LecternInventory;
public class CraftInventoryLectern extends CraftInventory implements LecternInventory {
public ITileInventory tile;
public CraftInventoryLectern(IInventory inventory) {
super(inventory);
if (inventory instanceof TileEntityLectern.LecternInventory) {
this.tile = ((TileEntityLectern.LecternInventory) inventory).getLectern();
}
}
@Override