refactor package
This commit is contained in:
327
pkg/protocol/particle/codecs.go
Normal file
327
pkg/protocol/particle/codecs.go
Normal file
@ -0,0 +1,327 @@
|
||||
// Code generated by github.com/go-mc/packetizer; DO NOT EDIT.
|
||||
|
||||
package particle
|
||||
|
||||
import (
|
||||
"io"
|
||||
|
||||
"github.com/Tnze/go-mc/net/packet"
|
||||
)
|
||||
|
||||
func (c *Block) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.BlockState).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c Block) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.BlockState).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *BlockMarker) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.BlockState).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c BlockMarker) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.BlockState).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *Dust) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Int)(&c.Color).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Scale).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c Dust) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Int)(&c.Color).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Scale).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *DustColorTransition) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Int)(&c.FromColor).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Int)(&c.ToColor).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Scale).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c DustColorTransition) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Int)(&c.FromColor).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Int)(&c.ToColor).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Float)(&c.Scale).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *EntityEffect) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Int)(&c.Color).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c EntityEffect) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Int)(&c.Color).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *FallingDust) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.BlockState).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c FallingDust) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.BlockState).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *TintedLeaves) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Int)(&c.Color).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c TintedLeaves) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Int)(&c.Color).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *SculkCharge) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Float)(&c.Roll).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c SculkCharge) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Float)(&c.Roll).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *Item) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (&c.Item).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c Item) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (&c.Item).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *Trail) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Double)(&c.X).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Double)(&c.Y).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Double)(&c.Z).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Int)(&c.Color).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.VarInt)(&c.Duration).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c Trail) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.Double)(&c.X).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Double)(&c.Y).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Double)(&c.Z).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.Int)(&c.Color).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (*packet.VarInt)(&c.Duration).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *Shriek) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.Delay).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c Shriek) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.Delay).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *DustPillar) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.BlockState).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c DustPillar) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.BlockState).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
func (c *BlockCrumble) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.BlockState).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
|
||||
func (c BlockCrumble) WriteTo(w io.Writer) (n int64, err error) {
|
||||
var temp int64
|
||||
temp, err = (*packet.VarInt)(&c.BlockState).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
return n, err
|
||||
}
|
116
pkg/protocol/particle/particle.go
Normal file
116
pkg/protocol/particle/particle.go
Normal file
@ -0,0 +1,116 @@
|
||||
package particle
|
||||
|
||||
import (
|
||||
"io"
|
||||
|
||||
pk "github.com/Tnze/go-mc/net/packet"
|
||||
)
|
||||
|
||||
type ParticleData interface {
|
||||
io.ReaderFrom
|
||||
io.WriterTo
|
||||
ParticleID() int32
|
||||
}
|
||||
|
||||
type Particle struct {
|
||||
ID int32
|
||||
Data ParticleData
|
||||
}
|
||||
|
||||
func (p *Particle) ReadFrom(r io.Reader) (int64, error) {
|
||||
n, err := (*pk.VarInt)(&p.ID).ReadFrom(r)
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
|
||||
switch p.ID {
|
||||
case 1: // Block
|
||||
data := &Block{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 2: // BlockMarker
|
||||
data := &BlockMarker{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 13: // Dust
|
||||
data := &Dust{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 14: // DustColorTransition
|
||||
data := &DustColorTransition{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 20: // EntityEffect
|
||||
data := &EntityEffect{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 28: // FallingDust
|
||||
data := &FallingDust{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 35: // TintedLeaves
|
||||
data := &TintedLeaves{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 37: // SculkCharge
|
||||
data := &SculkCharge{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 46: // Item
|
||||
data := &Item{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 47: // Vibration
|
||||
data := &Vibration{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 48: // Trail
|
||||
data := &Trail{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 102: // Shriek
|
||||
data := &Shriek{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 108: // DustPillar
|
||||
data := &DustPillar{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
case 112: // BlockCrumble
|
||||
data := &BlockCrumble{}
|
||||
n2, err := data.ReadFrom(r)
|
||||
p.Data = data
|
||||
return n + n2, err
|
||||
default:
|
||||
// BasicParticle - no additional data
|
||||
p.Data = nil
|
||||
return n, nil
|
||||
}
|
||||
}
|
||||
|
||||
func (p Particle) WriteTo(w io.Writer) (int64, error) {
|
||||
n, err := (*pk.VarInt)(&p.ID).WriteTo(w)
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
|
||||
if p.Data == nil {
|
||||
return n, nil
|
||||
}
|
||||
|
||||
n2, err := p.Data.WriteTo(w)
|
||||
return n + n2, err
|
||||
}
|
246
pkg/protocol/particle/particles.go
Normal file
246
pkg/protocol/particle/particles.go
Normal file
@ -0,0 +1,246 @@
|
||||
package particle
|
||||
|
||||
import (
|
||||
"io"
|
||||
|
||||
"git.konjactw.dev/patyhank/minego/pkg/protocol/slot"
|
||||
pk "github.com/Tnze/go-mc/net/packet"
|
||||
)
|
||||
|
||||
// BasicParticle for Particle Type Other
|
||||
type BasicParticle struct {
|
||||
ID int32
|
||||
}
|
||||
|
||||
func (b *BasicParticle) ReadFrom(r io.Reader) (int64, error) {
|
||||
return (*pk.VarInt)(&b.ID).ReadFrom(r)
|
||||
}
|
||||
|
||||
func (b BasicParticle) WriteTo(w io.Writer) (int64, error) {
|
||||
return (*pk.VarInt)(&b.ID).WriteTo(w)
|
||||
}
|
||||
|
||||
func (b BasicParticle) ParticleID() int32 {
|
||||
return b.ID
|
||||
}
|
||||
|
||||
// Block for Particle Type 1
|
||||
//
|
||||
//codec:gen
|
||||
type Block struct {
|
||||
BlockState int32 `mc:"VarInt"`
|
||||
}
|
||||
|
||||
func (b Block) ParticleID() int32 {
|
||||
return 1
|
||||
}
|
||||
|
||||
// BlockMarker for Particle Type 2
|
||||
//
|
||||
//codec:gen
|
||||
type BlockMarker struct {
|
||||
BlockState int32 `mc:"VarInt"`
|
||||
}
|
||||
|
||||
func (b BlockMarker) ParticleID() int32 {
|
||||
return 2
|
||||
}
|
||||
|
||||
// Dust for Particle Type 13
|
||||
//
|
||||
//codec:gen
|
||||
type Dust struct {
|
||||
Color int32
|
||||
Scale float32
|
||||
}
|
||||
|
||||
func (d Dust) ParticleID() int32 {
|
||||
return 13
|
||||
}
|
||||
|
||||
// DustColorTransition for Particle Type 14
|
||||
//
|
||||
//codec:gen
|
||||
type DustColorTransition struct {
|
||||
FromColor int32
|
||||
ToColor int32
|
||||
Scale float32
|
||||
}
|
||||
|
||||
func (d DustColorTransition) ParticleID() int32 {
|
||||
return 14
|
||||
}
|
||||
|
||||
// EntityEffect for Particle Type 20
|
||||
//
|
||||
//codec:gen
|
||||
type EntityEffect struct {
|
||||
Color int32
|
||||
}
|
||||
|
||||
func (e EntityEffect) ParticleID() int32 {
|
||||
return 20
|
||||
}
|
||||
|
||||
// FallingDust for Particle Type 28
|
||||
//
|
||||
//codec:gen
|
||||
type FallingDust struct {
|
||||
BlockState int32 `mc:"VarInt"`
|
||||
}
|
||||
|
||||
func (f FallingDust) ParticleID() int32 {
|
||||
return 28
|
||||
}
|
||||
|
||||
// TintedLeaves for Particle Type 35
|
||||
//
|
||||
//codec:gen
|
||||
type TintedLeaves struct {
|
||||
Color int32
|
||||
}
|
||||
|
||||
func (t TintedLeaves) ParticleID() int32 {
|
||||
return 35
|
||||
}
|
||||
|
||||
// SculkCharge for Particle Type 37
|
||||
//
|
||||
//codec:gen
|
||||
type SculkCharge struct {
|
||||
Roll float32
|
||||
}
|
||||
|
||||
func (s SculkCharge) ParticleID() int32 {
|
||||
return 37
|
||||
}
|
||||
|
||||
// Item for Particle Type 46
|
||||
//
|
||||
//codec:gen
|
||||
type Item struct {
|
||||
Item slot.Slot
|
||||
}
|
||||
|
||||
func (i Item) ParticleID() int32 {
|
||||
return 46
|
||||
}
|
||||
|
||||
// Vibration for Particle Type 47
|
||||
type Vibration struct {
|
||||
Type int32 `mc:"VarInt"`
|
||||
//if Type eq 0
|
||||
BlockPosition pk.Position
|
||||
//elif Type eq 1
|
||||
EntityID int32
|
||||
EntityEyeHeight float32
|
||||
//end
|
||||
Ticks int32 `mc:"VarInt"`
|
||||
}
|
||||
|
||||
func (v Vibration) WriteTo(w io.Writer) (n int64, err error) {
|
||||
(*pk.VarInt)(&v.Type).WriteTo(w)
|
||||
n += 4
|
||||
switch v.Type {
|
||||
case 0:
|
||||
n1, err := v.BlockPosition.WriteTo(w)
|
||||
if err != nil {
|
||||
return n + n1, err
|
||||
}
|
||||
case 1:
|
||||
n1, err := (*pk.VarInt)(&v.EntityID).WriteTo(w)
|
||||
if err != nil {
|
||||
return n + n1, err
|
||||
}
|
||||
n2, err := (*pk.Float)(&v.EntityEyeHeight).WriteTo(w)
|
||||
if err != nil {
|
||||
return n + n1 + n2, err
|
||||
}
|
||||
n += n1 + n2
|
||||
}
|
||||
n2, err := (*pk.VarInt)(&v.Ticks).WriteTo(w)
|
||||
if err != nil {
|
||||
return n + n2, err
|
||||
}
|
||||
return n + n2, err
|
||||
}
|
||||
|
||||
func (v *Vibration) ReadFrom(r io.Reader) (int64, error) {
|
||||
n, err := (*pk.VarInt)(&v.Type).ReadFrom(r)
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
switch v.Type {
|
||||
case 0:
|
||||
n1, err := v.BlockPosition.ReadFrom(r)
|
||||
if err != nil {
|
||||
return n + n1, err
|
||||
}
|
||||
return n + n1, err
|
||||
case 1:
|
||||
n1, err := (*pk.VarInt)(&v.EntityID).ReadFrom(r)
|
||||
if err != nil {
|
||||
return n + n1, err
|
||||
}
|
||||
n2, err := (*pk.Float)(&v.EntityEyeHeight).ReadFrom(r)
|
||||
if err != nil {
|
||||
return n + n1 + n2, err
|
||||
}
|
||||
return n + n1 + n2, err
|
||||
}
|
||||
n2, err := (*pk.VarInt)(&v.Ticks).ReadFrom(r)
|
||||
if err != nil {
|
||||
return n + n2, err
|
||||
}
|
||||
return n + n2, err
|
||||
}
|
||||
|
||||
func (v Vibration) ParticleID() int32 {
|
||||
return 47
|
||||
}
|
||||
|
||||
// Trail for Particle Type 48
|
||||
//
|
||||
//codec:gen
|
||||
type Trail struct {
|
||||
X, Y, Z float64
|
||||
Color int32
|
||||
Duration int32 `mc:"VarInt"`
|
||||
}
|
||||
|
||||
func (t Trail) ParticleID() int32 {
|
||||
return 48
|
||||
}
|
||||
|
||||
// Shriek for Particle Type 102
|
||||
//
|
||||
//codec:gen
|
||||
type Shriek struct {
|
||||
Delay int32 `mc:"VarInt"`
|
||||
}
|
||||
|
||||
func (s Shriek) ParticleID() int32 {
|
||||
return 102
|
||||
}
|
||||
|
||||
// DustPillar for Particle Type 108
|
||||
//
|
||||
//codec:gen
|
||||
type DustPillar struct {
|
||||
BlockState int32 `mc:"VarInt"`
|
||||
}
|
||||
|
||||
func (d DustPillar) ParticleID() int32 {
|
||||
return 108
|
||||
}
|
||||
|
||||
// BlockCrumble for Particle Type 112
|
||||
//
|
||||
//codec:gen
|
||||
type BlockCrumble struct {
|
||||
BlockState int32 `mc:"VarInt"`
|
||||
}
|
||||
|
||||
func (b BlockCrumble) ParticleID() int32 {
|
||||
return 112
|
||||
}
|
Reference in New Issue
Block a user