refactor package

This commit is contained in:
2025-08-22 05:14:59 +08:00
parent bec0a56a3d
commit 65690e51ab
371 changed files with 835 additions and 627 deletions

View 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
}

View 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
}

View 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
}