2021-11-22 09:00:00 +11:00

52 lines
1.5 KiB
Java

package org.bukkit.craftbukkit.block;
import net.minecraft.world.level.block.BlockLectern;
import net.minecraft.world.level.block.entity.TileEntityLectern;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Lectern;
import org.bukkit.craftbukkit.inventory.CraftInventoryLectern;
import org.bukkit.inventory.Inventory;
public class CraftLectern extends CraftBlockEntityState<TileEntityLectern> implements Lectern {
public CraftLectern(World world, TileEntityLectern tileEntity) {
super(world, tileEntity);
}
@Override
public int getPage() {
return getSnapshot().getPage();
}
@Override
public void setPage(int page) {
getSnapshot().setPage(page);
}
@Override
public Inventory getSnapshotInventory() {
return new CraftInventoryLectern(this.getSnapshot().bookAccess);
}
@Override
public Inventory getInventory() {
if (!this.isPlaced()) {
return this.getSnapshotInventory();
}
return new CraftInventoryLectern(this.getTileEntity().bookAccess);
}
@Override
public boolean update(boolean force, boolean applyPhysics) {
boolean result = super.update(force, applyPhysics);
if (result && this.getType() == Material.LECTERN && getWorldHandle() instanceof net.minecraft.world.level.World) {
BlockLectern.signalPageChange(this.world.getHandle(), this.getPosition(), this.getHandle());
}
return result;
}
}