Bücher
A BookView is the representation of the Book GUI on the client. The BookView is not associated with an
actual ItemStack and is only for displaying Component through a book to the player. Note that a
BookView is read-only, due to it being impossible to tell the client to open an unsigned book.
Um eine BookView zu erstellen, müssen wir einfach einen BookView.Builder holen, der von der BookView#builder() Methode bereitgestellt wird. Mit Hilfe des Builders, können wir den Titel, den Autor und die Seiten für die BookView angeben. Anschließend können wir die Ansicht an einen Viewer schicken. Ein Beispiel hierfür könnte wie folgt aussehen:
import net.kyori.adventure.text.Component;
import org.spongepowered.api.effect.Viewer;
import org.spongepowered.api.text.BookView;
BookView bookView = BookView.builder()
.title(Component.text("Story Mode"))
.author(Component.text("Notch"))
.addPage(Component.text("There once was a Steve..."))
.build();
viewer.sendBookView(bookView);
This will display a book to the client with a single page that contains the text specified in the
BookView.Builder#addPage(Component) method. Of course, you don’t have to call addPage(Component) for every page
you wish to add. The BookView.Builder class provides a BookView.Builder#addPages(Collection<Component>)
method that accepts multiple Components.
The BookView.Builder class also provides the BookView.Builder#insertPage(int, Component) and the corresponding
BookView.Builder#insertPages(int, Collection<Component>) methods for inserting a page or several pages at any
given index.
You may also remove pages of a BookView by providing either the Component from the page or by specifying the index
of the page that you wish to remove. You simply need to use the corresponding
BookView.Builder#removePage(Component), BookView.Builder#removePage(int), or
BookView.Builder#removePages(Collection<Component>) methods.