Add item DataComponent implements (part 2)

This commit is contained in:
Tnze
2024-07-28 22:45:40 +08:00
parent 090493c4ac
commit c51313a9cc
18 changed files with 287 additions and 73 deletions

View File

@ -0,0 +1,38 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*StoredEnchantments)(nil)
type StoredEnchantments struct {
Enchantments []struct {
Type pk.VarInt
Level pk.VarInt
}
ShowInTooltip pk.Boolean
}
// ID implements DataComponent.
func (StoredEnchantments) ID() string {
return "minecraft:stored_enchantments"
}
// ReadFrom implements DataComponent.
func (s *StoredEnchantments) ReadFrom(r io.Reader) (n int64, err error) {
return pk.Tuple{
pk.Array(&s.Enchantments),
&s.ShowInTooltip,
}.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (s *StoredEnchantments) WriteTo(w io.Writer) (n int64, err error) {
return pk.Tuple{
pk.Array(&s.Enchantments),
&s.ShowInTooltip,
}.WriteTo(w)
}