34 lines
711 B
Go
34 lines
711 B
Go
package component
|
|
|
|
import (
|
|
"io"
|
|
|
|
pk "github.com/Tnze/go-mc/net/packet"
|
|
)
|
|
|
|
var _ DataComponent = (*WritableBookContent)(nil)
|
|
|
|
type WritableBookContent struct {
|
|
Pages []Page
|
|
}
|
|
|
|
// ID implements DataComponent.
|
|
func (w *WritableBookContent) ID() string {
|
|
return "minecraft:writable_book_content"
|
|
}
|
|
|
|
// ReadFrom implements DataComponent.
|
|
func (w *WritableBookContent) ReadFrom(reader io.Reader) (n int64, err error) {
|
|
return pk.Array(&w.Pages).ReadFrom(reader)
|
|
}
|
|
|
|
// WriteTo implements DataComponent.
|
|
func (w *WritableBookContent) WriteTo(writer io.Writer) (n int64, err error) {
|
|
return pk.Array(&w.Pages).WriteTo(writer)
|
|
}
|
|
|
|
type Page struct {
|
|
Raw pk.String
|
|
Filtered pk.Option[pk.String, *pk.String]
|
|
}
|