Add item DataComponent implements (part 1)
This commit is contained in:
22
level/component/attributemodifiers.go
Normal file
22
level/component/attributemodifiers.go
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import "io"
|
||||||
|
|
||||||
|
var _ DataComponent = (*AttributeModifiers)(nil)
|
||||||
|
|
||||||
|
type AttributeModifiers struct{}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (AttributeModifiers) ID() string {
|
||||||
|
return "minecraft:attribute_modifiers"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (a *AttributeModifiers) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
panic("unimplemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (a *AttributeModifiers) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
panic("unimplemented")
|
||||||
|
}
|
22
level/component/canbreak.go
Normal file
22
level/component/canbreak.go
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import "io"
|
||||||
|
|
||||||
|
var _ DataComponent = (*CanBreak)(nil)
|
||||||
|
|
||||||
|
type CanBreak struct{}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (CanBreak) ID() string {
|
||||||
|
return "minecraft:can_break"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (c *CanBreak) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
panic("unimplemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (c *CanBreak) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
panic("unimplemented")
|
||||||
|
}
|
22
level/component/canplaceon.go
Normal file
22
level/component/canplaceon.go
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import "io"
|
||||||
|
|
||||||
|
var _ DataComponent = (*CanPlaceOn)(nil)
|
||||||
|
|
||||||
|
type CanPlaceOn struct{}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (CanPlaceOn) ID() string {
|
||||||
|
return "minecraft:can_place_on"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (c *CanPlaceOn) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
panic("unimplemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (c *CanPlaceOn) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
panic("unimplemented")
|
||||||
|
}
|
90
level/component/components.go
Normal file
90
level/component/components.go
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
|
||||||
|
type DataComponent interface {
|
||||||
|
pk.Field
|
||||||
|
ID() string
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewComponent(id int32) DataComponent {
|
||||||
|
switch id {
|
||||||
|
case 0:
|
||||||
|
return new(CustomData)
|
||||||
|
case 1:
|
||||||
|
return new(MaxStackSize)
|
||||||
|
case 2:
|
||||||
|
return new(MaxDamage)
|
||||||
|
case 3:
|
||||||
|
return new(Damage)
|
||||||
|
case 4:
|
||||||
|
return new(Unbreakable)
|
||||||
|
case 5:
|
||||||
|
return new(CustomName)
|
||||||
|
case 6:
|
||||||
|
return new(ItemName)
|
||||||
|
case 7:
|
||||||
|
return new(Lore)
|
||||||
|
case 8:
|
||||||
|
return new(Rarity)
|
||||||
|
case 9:
|
||||||
|
return new(Enchantments)
|
||||||
|
case 10:
|
||||||
|
return new(CanPlaceOn)
|
||||||
|
case 11:
|
||||||
|
return new(CanBreak)
|
||||||
|
case 12:
|
||||||
|
return new(AttributeModifiers)
|
||||||
|
case 13:
|
||||||
|
return new(CustomModelData)
|
||||||
|
case 14:
|
||||||
|
return new(HideAdditionalTooptip)
|
||||||
|
case 15:
|
||||||
|
return new(HideTooptip)
|
||||||
|
case 16:
|
||||||
|
return new(RepairCost)
|
||||||
|
case 17:
|
||||||
|
return new(CreativeSlotLock)
|
||||||
|
case 18:
|
||||||
|
case 19:
|
||||||
|
case 20:
|
||||||
|
case 21:
|
||||||
|
case 22:
|
||||||
|
case 23:
|
||||||
|
case 24:
|
||||||
|
case 25:
|
||||||
|
case 26:
|
||||||
|
case 27:
|
||||||
|
case 28:
|
||||||
|
case 29:
|
||||||
|
case 30:
|
||||||
|
case 31:
|
||||||
|
case 32:
|
||||||
|
case 33:
|
||||||
|
case 34:
|
||||||
|
case 35:
|
||||||
|
case 36:
|
||||||
|
case 37:
|
||||||
|
case 38:
|
||||||
|
case 39:
|
||||||
|
case 40:
|
||||||
|
case 41:
|
||||||
|
case 42:
|
||||||
|
case 43:
|
||||||
|
return new(Recipes)
|
||||||
|
case 44:
|
||||||
|
case 45:
|
||||||
|
case 46:
|
||||||
|
case 47:
|
||||||
|
case 48:
|
||||||
|
case 49:
|
||||||
|
case 50:
|
||||||
|
case 51:
|
||||||
|
case 52:
|
||||||
|
case 53:
|
||||||
|
case 54:
|
||||||
|
case 55:
|
||||||
|
case 56:
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
10
level/component/components_test.go
Normal file
10
level/component/components_test.go
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
package component_test
|
||||||
|
|
||||||
|
// func TestNewComponent(t *testing.T) {
|
||||||
|
// for i, want := range registryid.DataComponentType {
|
||||||
|
// comp := component.NewComponent(int32(i))
|
||||||
|
// if got := comp.ID(); got != want {
|
||||||
|
// t.Errorf("DataComponent type mismatched: %s != %s", got, want)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
24
level/component/creativeslotlock.go
Normal file
24
level/component/creativeslotlock.go
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*CreativeSlotLock)(nil)
|
||||||
|
|
||||||
|
type CreativeSlotLock struct{}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (c *CreativeSlotLock) ID() string {
|
||||||
|
return "minecraft:creative_slot_lock"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (c *CreativeSlotLock) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (c *CreativeSlotLock) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return 0, nil
|
||||||
|
}
|
29
level/component/customdata.go
Normal file
29
level/component/customdata.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/Tnze/go-mc/nbt/dynbt"
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*CustomData)(nil)
|
||||||
|
|
||||||
|
type CustomData struct {
|
||||||
|
dynbt.Value
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (CustomData) ID() string {
|
||||||
|
return "minecraft:custom_data"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (c *CustomData) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return pk.NBT(c).ReadFrom(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (c *CustomData) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return pk.NBT(c).WriteTo(w)
|
||||||
|
}
|
28
level/component/custommodeldata.go
Normal file
28
level/component/custommodeldata.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*CustomModelData)(nil)
|
||||||
|
|
||||||
|
type CustomModelData struct {
|
||||||
|
Value pk.VarInt
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (CustomModelData) ID() string {
|
||||||
|
return "minecraft:custom_model_data"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (c *CustomModelData) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return c.Value.ReadFrom(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (c *CustomModelData) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return c.Value.WriteTo(w)
|
||||||
|
}
|
28
level/component/customname.go
Normal file
28
level/component/customname.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/Tnze/go-mc/chat"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*CustomName)(nil)
|
||||||
|
|
||||||
|
type CustomName struct {
|
||||||
|
Name chat.Message
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (CustomName) ID() string {
|
||||||
|
return "minecraft:custom_name"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (c *CustomName) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return c.Name.ReadFrom(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (c *CustomName) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return c.Name.WriteTo(w)
|
||||||
|
}
|
28
level/component/damage.go
Normal file
28
level/component/damage.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*Damage)(nil)
|
||||||
|
|
||||||
|
type Damage struct {
|
||||||
|
Damage pk.VarInt
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (Damage) ID() string {
|
||||||
|
return "minecraft:damage"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (d *Damage) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return d.Damage.ReadFrom(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (d *Damage) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return d.Damage.WriteTo(w)
|
||||||
|
}
|
22
level/component/enchantments.go
Normal file
22
level/component/enchantments.go
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import "io"
|
||||||
|
|
||||||
|
var _ DataComponent = (*Enchantments)(nil)
|
||||||
|
|
||||||
|
type Enchantments struct{}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (Enchantments) ID() string {
|
||||||
|
return "minecraft:enchantments"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (r *Enchantments) ReadFrom(reader io.Reader) (n int64, err error) {
|
||||||
|
panic("unimplemented")
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (r *Enchantments) WriteTo(writer io.Writer) (n int64, err error) {
|
||||||
|
panic("unimplemented")
|
||||||
|
}
|
24
level/component/hideadditionaltooltio.go
Normal file
24
level/component/hideadditionaltooltio.go
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*HideAdditionalTooptip)(nil)
|
||||||
|
|
||||||
|
type HideAdditionalTooptip struct{}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (HideAdditionalTooptip) ID() string {
|
||||||
|
return "minecraft:hide_additional_tooltip"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (h *HideAdditionalTooptip) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (h *HideAdditionalTooptip) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return 0, nil
|
||||||
|
}
|
24
level/component/hidetooltip.go
Normal file
24
level/component/hidetooltip.go
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*HideTooptip)(nil)
|
||||||
|
|
||||||
|
type HideTooptip struct{}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (HideTooptip) ID() string {
|
||||||
|
return "minecraft:hide_tooltip"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (h *HideTooptip) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (h *HideTooptip) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return 0, nil
|
||||||
|
}
|
28
level/component/itemname.go
Normal file
28
level/component/itemname.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/Tnze/go-mc/chat"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*ItemName)(nil)
|
||||||
|
|
||||||
|
type ItemName struct {
|
||||||
|
Name chat.Message
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (ItemName) ID() string {
|
||||||
|
return "minecraft:item_name"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (i *ItemName) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return i.Name.ReadFrom(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (i *ItemName) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return i.Name.WriteTo(w)
|
||||||
|
}
|
29
level/component/lore.go
Normal file
29
level/component/lore.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/Tnze/go-mc/chat"
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*Lore)(nil)
|
||||||
|
|
||||||
|
type Lore struct {
|
||||||
|
Lines []chat.Message
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (Lore) ID() string {
|
||||||
|
return "minecraft:lore"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (l *Lore) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return pk.Array(&l.Lines).ReadFrom(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (l *Lore) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return pk.Array(&l.Lines).WriteTo(w)
|
||||||
|
}
|
28
level/component/maxdamage.go
Normal file
28
level/component/maxdamage.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*MaxDamage)(nil)
|
||||||
|
|
||||||
|
type MaxDamage struct {
|
||||||
|
MaxDamage pk.VarInt
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (MaxDamage) ID() string {
|
||||||
|
return "minecraft:max_damage"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (m *MaxDamage) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return m.MaxDamage.ReadFrom(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (m *MaxDamage) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return m.MaxDamage.WriteTo(w)
|
||||||
|
}
|
28
level/component/maxstacksize.go
Normal file
28
level/component/maxstacksize.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*MaxStackSize)(nil)
|
||||||
|
|
||||||
|
type MaxStackSize struct {
|
||||||
|
MaxStackSize pk.VarInt
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (MaxStackSize) ID() string {
|
||||||
|
return "minecraft:max_stack_size"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (m *MaxStackSize) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return m.MaxStackSize.ReadFrom(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (m *MaxStackSize) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return m.MaxStackSize.WriteTo(w)
|
||||||
|
}
|
33
level/component/rarity.go
Normal file
33
level/component/rarity.go
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*Rarity)(nil)
|
||||||
|
|
||||||
|
type Rarity int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
Common Rarity = iota
|
||||||
|
Uncommon
|
||||||
|
Rare
|
||||||
|
Epic
|
||||||
|
)
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (Rarity) ID() string {
|
||||||
|
return "minecraft:rarity"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (r *Rarity) ReadFrom(reader io.Reader) (n int64, err error) {
|
||||||
|
return (*pk.VarInt)(r).ReadFrom(reader)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (r *Rarity) WriteTo(writer io.Writer) (n int64, err error) {
|
||||||
|
return (*pk.VarInt)(r).WriteTo(writer)
|
||||||
|
}
|
29
level/component/recipes.go
Normal file
29
level/component/recipes.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"github.com/Tnze/go-mc/nbt/dynbt"
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*Recipes)(nil)
|
||||||
|
|
||||||
|
type Recipes struct {
|
||||||
|
Data dynbt.Value
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (Recipes) ID() string {
|
||||||
|
return "minecraft:recipes"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (r *Recipes) ReadFrom(reader io.Reader) (n int64, err error) {
|
||||||
|
return pk.NBT(&r.Data).ReadFrom(reader)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (r *Recipes) WriteTo(writer io.Writer) (n int64, err error) {
|
||||||
|
return pk.NBT(&r.Data).WriteTo(writer)
|
||||||
|
}
|
28
level/component/repaircost.go
Normal file
28
level/component/repaircost.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*RepairCost)(nil)
|
||||||
|
|
||||||
|
type RepairCost struct {
|
||||||
|
Cost pk.VarInt
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (RepairCost) ID() string {
|
||||||
|
return "minecraft:repair_cost"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (r *RepairCost) ReadFrom(reader io.Reader) (n int64, err error) {
|
||||||
|
return r.Cost.ReadFrom(reader)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (r *RepairCost) WriteTo(writer io.Writer) (n int64, err error) {
|
||||||
|
return r.Cost.WriteTo(writer)
|
||||||
|
}
|
28
level/component/unbreakable.go
Normal file
28
level/component/unbreakable.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package component
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
pk "github.com/Tnze/go-mc/net/packet"
|
||||||
|
)
|
||||||
|
|
||||||
|
var _ DataComponent = (*Unbreakable)(nil)
|
||||||
|
|
||||||
|
type Unbreakable struct {
|
||||||
|
ShowInTooltip pk.Boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
// ID implements DataComponent.
|
||||||
|
func (Unbreakable) ID() string {
|
||||||
|
return "minecraft:unbreakable"
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadFrom implements DataComponent.
|
||||||
|
func (u *Unbreakable) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
|
return u.ShowInTooltip.ReadFrom(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WriteTo implements DataComponent.
|
||||||
|
func (u *Unbreakable) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
|
return u.ShowInTooltip.WriteTo(w)
|
||||||
|
}
|
Reference in New Issue
Block a user