Vistas del Libro
Una BookView es la representación del GUI del libro del cliente. La BookView
no está asociada con un ItemStack real y es solo para mostrar :javadoc:`Texto` a través de un libro del jugador. Tenga en cuenta que un BookView
es solo de lectura, debido a que es imposible decirle al cliente que abra un libro sin firmar.
Para crear una BookView
, simplemente necesitamos obtener un BookView.Builder, el cual es proporcionado a través del método BookView#builder(). Utilizando el constructor, podemos especificar el título, el autor y las páginas de la BookView
. Entonces para utilizar la vista, tenemos que enviarla a un Viewer. Un ejemplo de esto es mostrado a continuación:
import org.spongepowered.api.effect.Viewer;
import org.spongepowered.api.text.BookView;
import org.spongepowered.api.text.Text;
BookView bookView = BookView.builder()
.title(Text.of("Story Mode"))
.author(Text.of("Notch"))
.addPage(Text.of("There once was a Steve..."))
.build();
viewer.sendBookView(bookView);
Esto mostrará un libro del cliente con una sola página que contiene el texto especificado en el método BookView.Builder#addPage(Text). Por supuesto, no tiene que llamar a addPage(Text)
por cada página que desee agregar. La clase BookView.Builder
proporciona un método BookView.Builder#addPages(Collection<Text>) que acepta múltiples Text
s.
La clase BookView.Builder
también proporciona el BookView.Builder#insertPage(int, Text) y los correspondientes métodos BookView.Builder#insertPages(int, Collection<Text>) para insertar un página o varias página a cualquier índice dado.
También puede eliminar páginas de una BookView
ya sea proporcionando el Texto
de la página o especificando el índice de la página que desea eliminar. Simplemente necesita utilizar los métodos correspondiente BookView.Builder#removePage(Text), BookView.Builder#removePage(int) o BookView.Builder#removePages(Collection<Text>).