refactor package
This commit is contained in:
262
pkg/protocol/metadata/codecs.go
Normal file
262
pkg/protocol/metadata/codecs.go
Normal file
@ -0,0 +1,262 @@
|
||||
// Code generated by github.com/go-mc/packetizer; DO NOT EDIT.
|
||||
|
||||
package metadata
|
||||
|
||||
import (
|
||||
"io"
|
||||
|
||||
"github.com/Tnze/go-mc/net/packet"
|
||||
)
|
||||
|
||||
func (c *Rotation) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Float)(&c.X).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Y).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Z).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c Rotation) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Float)(&c.X).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Y).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Z).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *NBT) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = packet.NBT(&c.Data).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c NBT) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = packet.NBT(&c.Data).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *Particles) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = packet.Array(&c.Particles).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c Particles) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = packet.Array(&c.Particles).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *VillagerData) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.Type).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.VarInt)(&c.Profession).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.VarInt)(&c.Level).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c VillagerData) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.Type).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.VarInt)(&c.Profession).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.VarInt)(&c.Level).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *GlobalPosition) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (&c.Dimension).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (&c.Position).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c GlobalPosition) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (&c.Dimension).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (&c.Position).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *OptGlobalPosition) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (&c.GlobalPosition).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c OptGlobalPosition) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (&c.GlobalPosition).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *Vector3) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Float)(&c.X).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Y).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Z).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c Vector3) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Float)(&c.X).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Y).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Z).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *Quaternion) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Float)(&c.X).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Y).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Z).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.W).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c Quaternion) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Float)(&c.X).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Y).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Z).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.W).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
157
pkg/protocol/metadata/metadata.go
Normal file
157
pkg/protocol/metadata/metadata.go
Normal file
@ -0,0 +1,157 @@
|
||||
package metadata
|
||||
|
||||
import (
|
||||
"io"
|
||||
|
||||
pk "github.com/Tnze/go-mc/net/packet"
|
||||
)
|
||||
|
||||
type MetadataType int32
|
||||
|
||||
const (
|
||||
MetadataByte MetadataType = iota
|
||||
MetadataVarInt
|
||||
MetadataVarLong
|
||||
MetadataFloat
|
||||
MetadataString
|
||||
MetadataChat
|
||||
MetadataOptChat
|
||||
MetadataSlot
|
||||
MetadataBoolean
|
||||
MetadataRotation
|
||||
MetadataPosition
|
||||
MetadataOptPosition
|
||||
MetadataDirection
|
||||
MetadataOptLivingEntity
|
||||
MetadataBlockState
|
||||
MetadataOptBlockState
|
||||
MetadataNBT
|
||||
MetadataParticle
|
||||
MetadataParticles
|
||||
MetadataVillagerData
|
||||
MetadataOptVarInt
|
||||
MetadataPose
|
||||
MetadataCatVariant
|
||||
MetadataCowVariant
|
||||
MetadataWolfVariant
|
||||
MetadataWolfSoundVariant
|
||||
MetadataFrogVariant
|
||||
MetadataPigVariant
|
||||
MetadataChickenVariant
|
||||
MetadataOptGlobalPosition
|
||||
MetadataPaintingVariant
|
||||
MetadataSnifferVariant
|
||||
MetadataArmadilloState
|
||||
MetadataVector3
|
||||
MetadataQuaternion
|
||||
)
|
||||
|
||||
type entityMetadata interface {
|
||||
EntityMetadataType() MetadataType
|
||||
pk.Field
|
||||
}
|
||||
|
||||
type EntityMetadata struct {
|
||||
Data map[uint8]entityMetadata
|
||||
}
|
||||
|
||||
func (m EntityMetadata) WriteTo(w io.Writer) (int64, error) {
|
||||
n := int64(0)
|
||||
for u, metadata := range m.Data {
|
||||
n1, err := pk.UnsignedByte(u).WriteTo(w)
|
||||
n += n1
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
n2, err := pk.VarInt(metadata.EntityMetadataType()).WriteTo(w)
|
||||
n += n2
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
|
||||
n3, err := metadata.WriteTo(w)
|
||||
n += n3
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
n4, err := pk.UnsignedByte(0xff).WriteTo(w)
|
||||
n += n4
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, nil
|
||||
}
|
||||
|
||||
func (m *EntityMetadata) ReadFrom(r io.Reader) (int64, error) {
|
||||
var index uint8
|
||||
n, err := (*pk.UnsignedByte)(&index).ReadFrom(r)
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
for index != 0xff {
|
||||
var typeId MetadataType
|
||||
n1, err := (*pk.VarInt)(&typeId).ReadFrom(r)
|
||||
n += n1
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
|
||||
metadata := metadataType[typeId]()
|
||||
n2, err := metadata.ReadFrom(r)
|
||||
n += n2
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
m.Data[index] = metadata
|
||||
|
||||
n3, err := (*pk.UnsignedByte)(&index).ReadFrom(r)
|
||||
n += n3
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
return n, nil
|
||||
}
|
||||
|
||||
type metadataCreator func() entityMetadata
|
||||
|
||||
var metadataType = map[MetadataType]metadataCreator{}
|
||||
|
||||
func init() {
|
||||
metadataType[MetadataByte] = func() entityMetadata { return &Byte{} }
|
||||
metadataType[MetadataVarInt] = func() entityMetadata { return &VarInt{} }
|
||||
metadataType[MetadataVarLong] = func() entityMetadata { return &VarLong{} }
|
||||
metadataType[MetadataFloat] = func() entityMetadata { return &Float{} }
|
||||
metadataType[MetadataString] = func() entityMetadata { return &String{} }
|
||||
metadataType[MetadataChat] = func() entityMetadata { return &Chat{} }
|
||||
metadataType[MetadataOptChat] = func() entityMetadata { return &OptChat{} }
|
||||
metadataType[MetadataSlot] = func() entityMetadata { return &Slot{} }
|
||||
metadataType[MetadataBoolean] = func() entityMetadata { return &Boolean{} }
|
||||
metadataType[MetadataRotation] = func() entityMetadata { return &Rotation{} }
|
||||
metadataType[MetadataPosition] = func() entityMetadata { return &Position{} }
|
||||
metadataType[MetadataOptPosition] = func() entityMetadata { return &OptPosition{} }
|
||||
metadataType[MetadataDirection] = func() entityMetadata { return &Direction{} }
|
||||
metadataType[MetadataOptLivingEntity] = func() entityMetadata { return &OptLivingEntity{} }
|
||||
metadataType[MetadataBlockState] = func() entityMetadata { return &BlockState{} }
|
||||
metadataType[MetadataOptBlockState] = func() entityMetadata { return &OptBlockState{} }
|
||||
metadataType[MetadataNBT] = func() entityMetadata { return &NBT{} }
|
||||
metadataType[MetadataParticle] = func() entityMetadata { return &Particle{} }
|
||||
metadataType[MetadataParticles] = func() entityMetadata { return &Particles{} }
|
||||
metadataType[MetadataVillagerData] = func() entityMetadata { return &VillagerData{} }
|
||||
metadataType[MetadataOptVarInt] = func() entityMetadata { return &OptVarInt{} }
|
||||
metadataType[MetadataPose] = func() entityMetadata { return &Pose{} }
|
||||
metadataType[MetadataCatVariant] = func() entityMetadata { return &CatVariant{} }
|
||||
metadataType[MetadataCowVariant] = func() entityMetadata { return &CowVariant{} }
|
||||
metadataType[MetadataWolfVariant] = func() entityMetadata { return &WolfVariant{} }
|
||||
metadataType[MetadataWolfSoundVariant] = func() entityMetadata { return &WolfSoundVariant{} }
|
||||
metadataType[MetadataFrogVariant] = func() entityMetadata { return &FrogVariant{} }
|
||||
metadataType[MetadataPigVariant] = func() entityMetadata { return &PigVariant{} }
|
||||
metadataType[MetadataChickenVariant] = func() entityMetadata { return &ChickenVariant{} }
|
||||
metadataType[MetadataOptGlobalPosition] = func() entityMetadata { return &OptGlobalPosition{} }
|
||||
metadataType[MetadataPaintingVariant] = func() entityMetadata { return &PaintingVariant{} }
|
||||
metadataType[MetadataSnifferVariant] = func() entityMetadata { return &SnifferVariant{} }
|
||||
metadataType[MetadataArmadilloState] = func() entityMetadata { return &ArmadilloState{} }
|
||||
metadataType[MetadataVector3] = func() entityMetadata { return &Vector3{} }
|
||||
metadataType[MetadataQuaternion] = func() entityMetadata { return &Quaternion{} }
|
||||
}
|
303
pkg/protocol/metadata/values.go
Normal file
303
pkg/protocol/metadata/values.go
Normal file
@ -0,0 +1,303 @@
|
||||
package metadata
|
||||
|
||||
import (
|
||||
"git.konjactw.dev/patyhank/minego/pkg/protocol/component"
|
||||
"git.konjactw.dev/patyhank/minego/pkg/protocol/particle"
|
||||
"git.konjactw.dev/patyhank/minego/pkg/protocol/slot"
|
||||
"github.com/Tnze/go-mc/chat"
|
||||
"github.com/Tnze/go-mc/nbt"
|
||||
pk "github.com/Tnze/go-mc/net/packet"
|
||||
)
|
||||
|
||||
type Byte struct {
|
||||
pk.Byte
|
||||
}
|
||||
|
||||
func (b Byte) EntityMetadataType() MetadataType {
|
||||
return MetadataByte
|
||||
}
|
||||
|
||||
type VarInt struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (b VarInt) EntityMetadataType() MetadataType {
|
||||
return MetadataVarInt
|
||||
}
|
||||
|
||||
type VarLong struct {
|
||||
pk.VarLong
|
||||
}
|
||||
|
||||
func (b VarLong) EntityMetadataType() MetadataType {
|
||||
return MetadataVarLong
|
||||
}
|
||||
|
||||
type Float struct {
|
||||
pk.Float
|
||||
}
|
||||
|
||||
func (b Float) EntityMetadataType() MetadataType {
|
||||
return MetadataFloat
|
||||
}
|
||||
|
||||
type String struct {
|
||||
pk.String
|
||||
}
|
||||
|
||||
func (b String) EntityMetadataType() MetadataType {
|
||||
return MetadataString
|
||||
}
|
||||
|
||||
type Chat struct {
|
||||
chat.Message
|
||||
}
|
||||
|
||||
func (b Chat) EntityMetadataType() MetadataType {
|
||||
return MetadataChat
|
||||
}
|
||||
|
||||
type OptChat struct {
|
||||
pk.Option[chat.Message, *chat.Message]
|
||||
}
|
||||
|
||||
func (b OptChat) EntityMetadataType() MetadataType {
|
||||
return MetadataChat
|
||||
}
|
||||
|
||||
type Slot struct {
|
||||
slot.Slot
|
||||
}
|
||||
|
||||
func (b Slot) EntityMetadataType() MetadataType {
|
||||
return MetadataSlot
|
||||
}
|
||||
|
||||
type Boolean struct {
|
||||
pk.Boolean
|
||||
}
|
||||
|
||||
func (b Boolean) EntityMetadataType() MetadataType {
|
||||
return MetadataBoolean
|
||||
}
|
||||
|
||||
//codec:gen
|
||||
type Rotation struct {
|
||||
X, Y, Z float32
|
||||
}
|
||||
|
||||
func (b Rotation) EntityMetadataType() MetadataType {
|
||||
return MetadataRotation
|
||||
}
|
||||
|
||||
type Position struct {
|
||||
pk.Position
|
||||
}
|
||||
|
||||
func (b Position) EntityMetadataType() MetadataType {
|
||||
return MetadataPosition
|
||||
}
|
||||
|
||||
type OptPosition struct {
|
||||
pk.Option[pk.Position, *pk.Position]
|
||||
}
|
||||
|
||||
func (b OptPosition) EntityMetadataType() MetadataType {
|
||||
return MetadataOptPosition
|
||||
}
|
||||
|
||||
type Direction struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (b Direction) EntityMetadataType() MetadataType {
|
||||
return MetadataDirection
|
||||
}
|
||||
|
||||
type OptLivingEntity struct {
|
||||
pk.Option[pk.UUID, *pk.UUID]
|
||||
}
|
||||
|
||||
func (b OptLivingEntity) EntityMetadataType() MetadataType {
|
||||
return MetadataOptLivingEntity
|
||||
}
|
||||
|
||||
type BlockState struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (b BlockState) EntityMetadataType() MetadataType {
|
||||
return MetadataBlockState
|
||||
}
|
||||
|
||||
type OptBlockState struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (b OptBlockState) EntityMetadataType() MetadataType {
|
||||
return MetadataOptBlockState
|
||||
}
|
||||
|
||||
//codec:gen
|
||||
type NBT struct {
|
||||
Data nbt.RawMessage `mc:"NBT"`
|
||||
}
|
||||
|
||||
func (b NBT) EntityMetadataType() MetadataType {
|
||||
return MetadataNBT
|
||||
}
|
||||
|
||||
type Particle struct {
|
||||
particle.Particle
|
||||
}
|
||||
|
||||
func (b Particle) EntityMetadataType() MetadataType {
|
||||
return MetadataParticle
|
||||
}
|
||||
|
||||
//codec:gen
|
||||
type Particles struct {
|
||||
Particles []particle.Particle
|
||||
}
|
||||
|
||||
func (b Particles) EntityMetadataType() MetadataType {
|
||||
return MetadataParticles
|
||||
}
|
||||
|
||||
//codec:gen
|
||||
type VillagerData struct {
|
||||
Type, Profession, Level int32 `mc:"VarInt"`
|
||||
}
|
||||
|
||||
func (b VillagerData) EntityMetadataType() MetadataType {
|
||||
return MetadataVillagerData
|
||||
}
|
||||
|
||||
type OptVarInt struct {
|
||||
pk.Option[pk.VarInt, *pk.VarInt]
|
||||
}
|
||||
|
||||
func (b OptVarInt) EntityMetadataType() MetadataType {
|
||||
return MetadataOptVarInt
|
||||
}
|
||||
|
||||
type Pose struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (b Pose) EntityMetadataType() MetadataType {
|
||||
return MetadataPose
|
||||
}
|
||||
|
||||
type CatVariant struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (b CatVariant) EntityMetadataType() MetadataType {
|
||||
return MetadataCatVariant
|
||||
}
|
||||
|
||||
type CowVariant struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (CowVariant) EntityMetadataType() MetadataType {
|
||||
return MetadataCowVariant
|
||||
}
|
||||
|
||||
type WolfVariant struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (WolfVariant) EntityMetadataType() MetadataType {
|
||||
return MetadataWolfVariant
|
||||
}
|
||||
|
||||
type WolfSoundVariant struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (WolfSoundVariant) EntityMetadataType() MetadataType {
|
||||
return MetadataWolfSoundVariant
|
||||
}
|
||||
|
||||
type FrogVariant struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (FrogVariant) EntityMetadataType() MetadataType {
|
||||
return MetadataFrogVariant
|
||||
}
|
||||
|
||||
type PigVariant struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (PigVariant) EntityMetadataType() MetadataType {
|
||||
return MetadataPigVariant
|
||||
}
|
||||
|
||||
type ChickenVariant struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (ChickenVariant) EntityMetadataType() MetadataType {
|
||||
return MetadataChickenVariant
|
||||
}
|
||||
|
||||
//codec:gen
|
||||
type GlobalPosition struct {
|
||||
Dimension pk.Identifier
|
||||
Position pk.Position
|
||||
}
|
||||
|
||||
//codec:gen
|
||||
type OptGlobalPosition struct {
|
||||
GlobalPosition pk.Option[GlobalPosition, *GlobalPosition]
|
||||
}
|
||||
|
||||
func (OptGlobalPosition) EntityMetadataType() MetadataType {
|
||||
return MetadataOptGlobalPosition
|
||||
}
|
||||
|
||||
type PaintingVariant struct {
|
||||
pk.OptID[component.PaintingVariant, *component.PaintingVariant]
|
||||
}
|
||||
|
||||
func (PaintingVariant) EntityMetadataType() MetadataType {
|
||||
return MetadataPaintingVariant
|
||||
}
|
||||
|
||||
type SnifferVariant struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (SnifferVariant) EntityMetadataType() MetadataType {
|
||||
return MetadataSnifferVariant
|
||||
}
|
||||
|
||||
type ArmadilloState struct {
|
||||
pk.VarInt
|
||||
}
|
||||
|
||||
func (ArmadilloState) EntityMetadataType() MetadataType {
|
||||
return MetadataArmadilloState
|
||||
}
|
||||
|
||||
//codec:gen
|
||||
type Vector3 struct {
|
||||
X, Y, Z float32
|
||||
}
|
||||
|
||||
func (Vector3) EntityMetadataType() MetadataType {
|
||||
return MetadataVector3
|
||||
}
|
||||
|
||||
//codec:gen
|
||||
type Quaternion struct {
|
||||
X, Y, Z, W float32
|
||||
}
|
||||
|
||||
func (Quaternion) EntityMetadataType() MetadataType {
|
||||
return MetadataQuaternion
|
||||
}
|
Reference in New Issue
Block a user