Skip to content

Class endstone::WritableBookMeta

ClassList > endstone > WritableBookMeta

Represents the meta for a writable book that can have pages.

  • #include <endstone/inventory/meta/writable_book_meta.h>

Inherits the following classes: endstone::ItemMeta

Inherited by the following classes: endstone::BookMeta

Public Types inherited from endstone::ItemMeta

See endstone::ItemMeta

Type Name
enum Type

Public Functions

Type Name
void addPage (Args &&... pages)
Adds new pages to the end of the book.
virtual void addPage (std::vector< std::string > pages) = 0
Adds new pages to the end of the book.
virtual std::string getPage (int page) const = 0
Gets the specified page in the book. The given page must exist.
virtual int getPageCount () const = 0
Gets the number of pages in the book.
virtual std::vector< std::string > getPages () const = 0
Gets all the pages in the book.
virtual bool hasPages () const = 0
Checks for the existence of pages in the book.
virtual void setPage (int page, std::string data) = 0
Sets the specified page in the book. Pages of the book must be contiguous.
void setPages (Args &&... pages)
Clears the existing book pages, and sets the book to use the provided pages.
virtual void setPages (std::vector< std::string > pages) = 0
Maximum 50 pages with 798 characters per page.

Public Functions inherited from endstone::ItemMeta

See endstone::ItemMeta

Type Name
virtual bool addEnchant (EnchantmentId id, int level, bool force) = 0
Adds the specified enchantment to this item meta.
T * as ()
const T * as () const
virtual std::unique_ptr< ItemMeta > clone () const = 0
Creates a clone of the current metadata.
virtual int getDamage () const = 0
Gets the damage.
virtual std::string getDisplayName () const = 0
Gets the display name that is set.
virtual int getEnchantLevel (EnchantmentId id) const = 0
Checks for the level of the specified enchantment.
virtual std::unordered_map< const Enchantment *, int > getEnchants () const = 0
Returns a copy the enchantments in this ItemMeta .
virtual std::vector< std::string > getLore () const = 0
Gets the lore that is set.
virtual int getRepairCost () const = 0
Gets the repair penalty.
virtual Type getType () const = 0
Gets the type of this item meta.
virtual bool hasConflictingEnchant (EnchantmentId id) const = 0
virtual bool hasDamage () const = 0
Checks to see if this item has damage.
virtual bool hasDisplayName () const = 0
Checks for existence of a display name.
virtual bool hasEnchant (EnchantmentId id) const = 0
Checks for existence of the specified enchantment.
virtual bool hasEnchants () const = 0
Checks for the existence of any enchantments.
virtual bool hasLore () const = 0
Checks for existence of lore.
virtual bool hasRepairCost () const = 0
Checks to see if this has a repair penalty.
virtual bool isUnbreakable () const = 0
Return if the unbreakable tag is true. An unbreakable item will not lose durability.
virtual bool removeEnchant (EnchantmentId id) = 0
Removes the specified enchantment from this item meta.
virtual void removeEnchants () = 0
Removes all enchantments from this item meta.
virtual void setDamage (int damage) = 0
Sets the damage.
virtual void setDisplayName (std::optional< std::string > name) = 0
Sets the display name.
virtual void setLore (std::optional< std::vector< std::string > > lore) = 0
Sets the lore for this item or removes lore when given std::nullopt .
virtual void setRepairCost (int cost) = 0
Sets the repair penalty.
virtual void setUnbreakable (bool unbreakable) = 0
Sets the unbreakable tag. An unbreakable item will not lose durability.
virtual CompoundTag toNbt () const = 0
virtual ~ItemMeta () = default

Public Functions Documentation

function addPage [½]

Adds new pages to the end of the book.

template<std::convertible_to< std::string >... Args>
inline void endstone::WritableBookMeta::addPage (
    Args &&... pages
) 

Note:

Up to a maximum of 50 pages with 798 characters per page.

Parameters:

  • pages A list of strings, each being a page

function addPage [2/2]

Adds new pages to the end of the book.

virtual void endstone::WritableBookMeta::addPage (
    std::vector< std::string > pages
) = 0

Note:

Up to a maximum of 50 pages with 798 characters per page.

Parameters:

  • pages A list of strings, each being a page

function getPage

Gets the specified page in the book. The given page must exist.

virtual std::string endstone::WritableBookMeta::getPage (
    int page
) const = 0

Note:

Pages are 1-indexed.

Parameters:

Returns:

the page from the book


function getPageCount

Gets the number of pages in the book.

virtual int endstone::WritableBookMeta::getPageCount () const = 0

Returns:

the number of pages in the book


function getPages

Gets all the pages in the book.

virtual std::vector< std::string > endstone::WritableBookMeta::getPages () const = 0

Returns:

list of all the pages in the book


function hasPages

Checks for the existence of pages in the book.

virtual bool endstone::WritableBookMeta::hasPages () const = 0

Returns:

true if the book has pages


function setPage

Sets the specified page in the book. Pages of the book must be contiguous.

virtual void endstone::WritableBookMeta::setPage (
    int page,
    std::string data
) = 0

Note:

The data can be up to 1024 characters in length, additional characters are truncated.

Pages are 1-indexed.

Parameters:

  • page the page number to set, in range [1, getPageCount()]
  • data the data to set for that page

function setPages [½]

Clears the existing book pages, and sets the book to use the provided pages.

template<std::convertible_to< std::string >... Args>
inline void endstone::WritableBookMeta::setPages (
    Args &&... pages
) 

Note:

Maximum 50 pages with 798 characters per page.

Parameters:

  • pages A list of pages to set the book to use

function setPages [2/2]

Maximum 50 pages with 798 characters per page.

virtual void endstone::WritableBookMeta::setPages (
    std::vector< std::string > pages
) = 0

Note:

Clears the existing book pages, and sets the book to use the provided pages.

Parameters:

  • pages A list of strings, each being a page


The documentation for this class was generated from the following file include/endstone/inventory/meta/writable_book_meta.h