Add item DataComponent implements (part 4)

This commit is contained in:
Tnze
2024-07-29 00:32:00 +08:00
parent 76ff3a8d41
commit a5fbf35088
17 changed files with 519 additions and 422 deletions

View File

@ -66,23 +66,38 @@ func NewComponent(id int32) DataComponent {
case 27: case 27:
return new(MapDecorations) return new(MapDecorations)
case 28: case 28:
return new(MapPostProcessing)
case 29: case 29:
return new(ChargedProjectiles)
case 30: case 30:
return new(BundleContents)
case 31: case 31:
return new(PotionContents)
case 32: case 32:
return new(SuspiciousStewEffects)
case 33: case 33:
return new(WritableBookContent)
case 34: case 34:
case 35: case 35:
return new(Trim)
case 36: case 36:
return new(DebugStickState)
case 37: case 37:
return new(EntityData)
case 38: case 38:
return new(BucketEntityData)
case 39: case 39:
return new(BlockEntityData)
case 40: case 40:
return new(Instrument)
case 41: case 41:
return new(OminousBottleAmplifier)
case 42: case 42:
return new(JukeboxPlayable)
case 43: case 43:
return new(Recipes) return new(Recipes)
case 44: case 44:
return new(LodestoneTracker)
case 45: case 45:
case 46: case 46:
case 47: case 47:

View File

@ -0,0 +1,26 @@
package component
import (
"io"
)
var _ DataComponent = (*JukeboxPlayable)(nil)
type JukeboxPlayable struct {
// TODO
}
// ID implements DataComponent.
func (JukeboxPlayable) ID() string {
return "minecraft:jukebox_playable"
}
// ReadFrom implements DataComponent.
func (j *JukeboxPlayable) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (j *JukeboxPlayable) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -0,0 +1,41 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*LodestoneTracker)(nil)
type LodestoneTracker struct {
HasGlobalPosition pk.Boolean
Dimension pk.Identifier
Position pk.Position
Tracked pk.Boolean
}
// ID implements DataComponent.
func (LodestoneTracker) ID() string {
return "minecraft:lodestone_tracker"
}
// ReadFrom implements DataComponent.
func (l *LodestoneTracker) ReadFrom(r io.Reader) (n int64, err error) {
return pk.Tuple{
&l.HasGlobalPosition,
&l.Dimension,
&l.Position,
&l.Tracked,
}.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (l *LodestoneTracker) WriteTo(w io.Writer) (n int64, err error) {
return pk.Tuple{
&l.HasGlobalPosition,
&l.Dimension,
&l.Position,
&l.Tracked,
}.WriteTo(w)
}

View File

@ -0,0 +1,16 @@
package component
import (
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*OminousBottleAmplifier)(nil)
type OminousBottleAmplifier struct {
pk.VarInt
}
// ID implements DataComponent.
func (OminousBottleAmplifier) ID() string {
return "minecraft:ominous_bottle_amplifier"
}

View File

@ -9,8 +9,8 @@ import (
var _ DataComponent = (*PotionContents)(nil) var _ DataComponent = (*PotionContents)(nil)
type PotionContents struct { type PotionContents struct {
PotionID pk.Option[pk.VarInt, *pk.VarInt] PotionID pk.Option[pk.VarInt, *pk.VarInt]
CustomColor pk.Option[pk.Int, *pk.Int] CustomColor pk.Option[pk.Int, *pk.Int]
PotionEffects []any PotionEffects []any
} }

View File

@ -5,7 +5,6 @@ import "io"
var _ DataComponent = (*Trim)(nil) var _ DataComponent = (*Trim)(nil)
type Trim struct { type Trim struct {
} }
// ID implements DataComponent. // ID implements DataComponent.