1.21.6 Clientbound PlayState Packets

This commit is contained in:
2025-06-20 04:22:08 +08:00
parent e40ed2e534
commit 195d34f32d
204 changed files with 10118 additions and 3287 deletions

View File

@ -7,9 +7,11 @@
"Bash(grep:*)",
"Bash(rg:*)",
"Bash(go:*)",
"*",
"Bash(./gen-packet.sh:*)",
"Bash(chmod:*)"
"Bash(chmod:*)",
"Bash(/root/go/bin/packetizer:*)",
"**",
"*"
],
"deny": []
}

View File

@ -1,8 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
pk "github.com/Tnze/go-mc/net/packet"
"git.konjactw.dev/patyhank/minego/codec/slot"
)
//codec:gen
@ -12,8 +11,8 @@ type AttributeModifiers struct {
//codec:gen
type AttributeModifier struct {
AttributeID int32 `mc:"VarInt"`
ModifierID pk.Identifier
AttributeID int32 `mc:"VarInt"`
ModifierID string `mc:"Identifier"`
Value float64
Operation int32 `mc:"VarInt"` // 0=Add, 1=Multiply base, 2=Multiply total
Slot int32 `mc:"VarInt"` // 0=Any, 1=Main hand, 2=Off hand, etc.

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type AxolotlVariant struct {

View File

@ -1,8 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"github.com/Tnze/go-mc/net/packet"
"git.konjactw.dev/patyhank/minego/codec/slot"
pk "github.com/Tnze/go-mc/net/packet"
)
@ -13,9 +12,11 @@ type BannerPatterns struct {
//codec:gen
type BannerLayer struct {
PatternType int32 `mc:"VarInt"`
AssetID pk.Option[packet.Identifier, *packet.Identifier]
TranslationKey pk.Option[pk.String, *pk.String]
Pattern int32 `mc:"VarInt"`
//opt:enum:Pattern:0
AssetID pk.Identifier
//opt:enum:Pattern:0
TranslationKey string
Color DyeColor
}

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type BaseColor struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type BlockState struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
pk "github.com/Tnze/go-mc/net/packet"
)
@ -14,16 +14,29 @@ type BlocksAttacks struct {
ItemDamageBase float32
ItemDamageFactor float32
BypassedBy pk.Option[pk.Identifier, *pk.Identifier]
BlockSound pk.Option[SoundEvent, *SoundEvent]
DisableSound pk.Option[SoundEvent, *SoundEvent]
HasBlockSound bool
//opt:optional:HasBlockSound
BlockSoundID int32 `mc:"VarInt"`
//opt:optional:HasBlockSound
//opt:id:BlockSoundID
BlockSound SoundEvent
HasDisableSound bool
//opt:optional:HasDisableSound
DisableSoundID int32 `mc:"VarInt"`
//opt:optional:HasDisableSound
//opt:id:DisableSoundID
DisableSound SoundEvent
}
//codec:gen
type DamageReduction struct {
HorizontalBlockingAngle float32
Type pk.Option[pk.IDSet, *pk.IDSet]
Base float32
Factor float32
HasType bool
//opt:optional:HasType
Type pk.IDSet
Base float32
Factor float32
}
func (*BlocksAttacks) Type() slot.ComponentID {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type BundleContents struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type CanBreak struct {

View File

@ -3,7 +3,7 @@ package component
import (
"io"
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type CatCollar struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type CatVariant struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type ChargedProjectiles struct {

View File

@ -3,7 +3,7 @@ package component
import (
"io"
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/net/packet"
)

File diff suppressed because it is too large Load Diff

View File

@ -1,102 +1,294 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
func init() {
slot.RegisterComponent(&CustomData{})
slot.RegisterComponent(&MaxStackSize{})
slot.RegisterComponent(&MaxDamage{})
slot.RegisterComponent(&Damage{})
slot.RegisterComponent(&Unbreakable{})
slot.RegisterComponent(&CustomName{})
slot.RegisterComponent(&ItemName{})
slot.RegisterComponent(&ItemModel{})
slot.RegisterComponent(&Lore{})
slot.RegisterComponent(&Rarity{})
slot.RegisterComponent(&Enchantments{})
slot.RegisterComponent(&CanPlaceOn{})
slot.RegisterComponent(&CanBreak{})
slot.RegisterComponent(&AttributeModifiers{})
slot.RegisterComponent(&CustomModelData{})
slot.RegisterComponent(&TooltipDisplay{})
slot.RegisterComponent(&RepairCost{})
slot.RegisterComponent(&CreativeSlotLock{})
slot.RegisterComponent(&EnchantmentGlintOverride{})
slot.RegisterComponent(&IntangibleProjectile{})
slot.RegisterComponent(&Food{})
slot.RegisterComponent(&Consumable{})
slot.RegisterComponent(&UseRemainder{})
slot.RegisterComponent(&UseCooldown{})
slot.RegisterComponent(&DamageResistant{})
slot.RegisterComponent(&Tool{})
slot.RegisterComponent(&Weapon{})
slot.RegisterComponent(&Enchantable{})
slot.RegisterComponent(&Equippable{})
slot.RegisterComponent(&Repairable{})
slot.RegisterComponent(&Glider{})
slot.RegisterComponent(&TooltipStyle{})
slot.RegisterComponent(&DeathProtection{})
slot.RegisterComponent(&BlocksAttacks{})
slot.RegisterComponent(&StoredEnchantments{})
slot.RegisterComponent(&DyedColor{})
slot.RegisterComponent(&MapColor{})
slot.RegisterComponent(&MapID{})
slot.RegisterComponent(&MapDecorations{})
slot.RegisterComponent(&MapPostProcessing{})
slot.RegisterComponent(&ChargedProjectiles{})
slot.RegisterComponent(&BundleContents{})
slot.RegisterComponent(&PotionContents{})
slot.RegisterComponent(&PotionDurationScale{})
slot.RegisterComponent(&SuspiciousStewEffects{})
slot.RegisterComponent(&WritableBookContent{})
slot.RegisterComponent(&WrittenBookContent{})
slot.RegisterComponent(&Trim{})
slot.RegisterComponent(&DebugStickState{})
slot.RegisterComponent(&EntityData{})
slot.RegisterComponent(&BucketEntityData{})
slot.RegisterComponent(&BlockEntityData{})
slot.RegisterComponent(&Instrument{})
slot.RegisterComponent(&ProvidesTrimMaterial{})
slot.RegisterComponent(&OminousBottleAmplifier{})
slot.RegisterComponent(&JukeboxPlayable{})
slot.RegisterComponent(&ProvidesBannerPatterns{})
slot.RegisterComponent(&Recipes{})
slot.RegisterComponent(&LodestoneTracker{})
slot.RegisterComponent(&FireworkExplosion{})
slot.RegisterComponent(&Fireworks{})
slot.RegisterComponent(&Profile{})
slot.RegisterComponent(&NoteBlockSound{})
slot.RegisterComponent(&BannerPatterns{})
slot.RegisterComponent(&BaseColor{})
slot.RegisterComponent(&PotDecorations{})
slot.RegisterComponent(&Container{})
slot.RegisterComponent(&BlockState{})
slot.RegisterComponent(&Bees{})
slot.RegisterComponent(&Lock{})
slot.RegisterComponent(&ContainerLoot{})
slot.RegisterComponent(&BreakSound{})
slot.RegisterComponent(&VillagerVariant{})
slot.RegisterComponent(&WolfVariant{})
slot.RegisterComponent(&WolfSoundVariant{})
slot.RegisterComponent(&WolfCollar{})
slot.RegisterComponent(&FoxVariant{})
slot.RegisterComponent(&SalmonSize{})
slot.RegisterComponent(&ParrotVariant{})
slot.RegisterComponent(&TropicalFishPattern{})
slot.RegisterComponent(&TropicalFishBaseColor{})
slot.RegisterComponent(&TropicalFishPatternColor{})
slot.RegisterComponent(&MooshroomVariant{})
slot.RegisterComponent(&RabbitVariant{})
slot.RegisterComponent(&PigVariant{})
slot.RegisterComponent(&CowVariant{})
slot.RegisterComponent(&ChickenVariant{})
slot.RegisterComponent(&FrogVariant{})
slot.RegisterComponent(&HorseVariant{})
slot.RegisterComponent(&PaintingVariant{})
slot.RegisterComponent(&LlamaVariant{})
slot.RegisterComponent(&AxolotlVariant{})
slot.RegisterComponent(&CatVariant{})
slot.RegisterComponent(&CatCollar{})
slot.RegisterComponent(&SheepColor{})
slot.RegisterComponent(&ShulkerColor{})
slot.RegisterComponent(func() slot.Component {
return &CustomData{}
})
slot.RegisterComponent(func() slot.Component {
return &MaxStackSize{}
})
slot.RegisterComponent(func() slot.Component {
return &MaxDamage{}
})
slot.RegisterComponent(func() slot.Component {
return &Damage{}
})
slot.RegisterComponent(func() slot.Component {
return &Unbreakable{}
})
slot.RegisterComponent(func() slot.Component {
return &CustomName{}
})
slot.RegisterComponent(func() slot.Component {
return &ItemName{}
})
slot.RegisterComponent(func() slot.Component {
return &ItemModel{}
})
slot.RegisterComponent(func() slot.Component {
return &Lore{}
})
slot.RegisterComponent(func() slot.Component {
return &Rarity{}
})
slot.RegisterComponent(func() slot.Component {
return &Enchantments{}
})
slot.RegisterComponent(func() slot.Component {
return &CanPlaceOn{}
})
slot.RegisterComponent(func() slot.Component {
return &CanBreak{}
})
slot.RegisterComponent(func() slot.Component {
return &AttributeModifiers{}
})
slot.RegisterComponent(func() slot.Component {
return &CustomModelData{}
})
slot.RegisterComponent(func() slot.Component {
return &TooltipDisplay{}
})
slot.RegisterComponent(func() slot.Component {
return &RepairCost{}
})
slot.RegisterComponent(func() slot.Component {
return &CreativeSlotLock{}
})
slot.RegisterComponent(func() slot.Component {
return &EnchantmentGlintOverride{}
})
slot.RegisterComponent(func() slot.Component {
return &IntangibleProjectile{}
})
slot.RegisterComponent(func() slot.Component {
return &Food{}
})
slot.RegisterComponent(func() slot.Component {
return &Consumable{}
})
slot.RegisterComponent(func() slot.Component {
return &UseRemainder{}
})
slot.RegisterComponent(func() slot.Component {
return &UseCooldown{}
})
slot.RegisterComponent(func() slot.Component {
return &DamageResistant{}
})
slot.RegisterComponent(func() slot.Component {
return &Tool{}
})
slot.RegisterComponent(func() slot.Component {
return &Weapon{}
})
slot.RegisterComponent(func() slot.Component {
return &Enchantable{}
})
slot.RegisterComponent(func() slot.Component {
return &Equippable{}
})
slot.RegisterComponent(func() slot.Component {
return &Repairable{}
})
slot.RegisterComponent(func() slot.Component {
return &Glider{}
})
slot.RegisterComponent(func() slot.Component {
return &TooltipStyle{}
})
slot.RegisterComponent(func() slot.Component {
return &DeathProtection{}
})
slot.RegisterComponent(func() slot.Component {
return &BlocksAttacks{}
})
slot.RegisterComponent(func() slot.Component {
return &StoredEnchantments{}
})
slot.RegisterComponent(func() slot.Component {
return &DyedColor{}
})
slot.RegisterComponent(func() slot.Component {
return &MapColor{}
})
slot.RegisterComponent(func() slot.Component {
return &MapID{}
})
slot.RegisterComponent(func() slot.Component {
return &MapDecorations{}
})
slot.RegisterComponent(func() slot.Component {
return &MapPostProcessing{}
})
slot.RegisterComponent(func() slot.Component {
return &ChargedProjectiles{}
})
slot.RegisterComponent(func() slot.Component {
return &BundleContents{}
})
slot.RegisterComponent(func() slot.Component {
return &PotionContents{}
})
slot.RegisterComponent(func() slot.Component {
return &PotionDurationScale{}
})
slot.RegisterComponent(func() slot.Component {
return &SuspiciousStewEffects{}
})
slot.RegisterComponent(func() slot.Component {
return &WritableBookContent{}
})
slot.RegisterComponent(func() slot.Component {
return &WrittenBookContent{}
})
slot.RegisterComponent(func() slot.Component {
return &Trim{}
})
slot.RegisterComponent(func() slot.Component {
return &DebugStickState{}
})
slot.RegisterComponent(func() slot.Component {
return &EntityData{}
})
slot.RegisterComponent(func() slot.Component {
return &BucketEntityData{}
})
slot.RegisterComponent(func() slot.Component {
return &BlockEntityData{}
})
slot.RegisterComponent(func() slot.Component {
return &Instrument{}
})
slot.RegisterComponent(func() slot.Component {
return &ProvidesTrimMaterial{}
})
slot.RegisterComponent(func() slot.Component {
return &OminousBottleAmplifier{}
})
slot.RegisterComponent(func() slot.Component {
return &JukeboxPlayable{}
})
slot.RegisterComponent(func() slot.Component {
return &ProvidesBannerPatterns{}
})
slot.RegisterComponent(func() slot.Component {
return &Recipes{}
})
slot.RegisterComponent(func() slot.Component {
return &LodestoneTracker{}
})
slot.RegisterComponent(func() slot.Component {
return &FireworkExplosion{}
})
slot.RegisterComponent(func() slot.Component {
return &Fireworks{}
})
slot.RegisterComponent(func() slot.Component {
return &Profile{}
})
slot.RegisterComponent(func() slot.Component {
return &NoteBlockSound{}
})
slot.RegisterComponent(func() slot.Component {
return &BannerPatterns{}
})
slot.RegisterComponent(func() slot.Component {
return &BaseColor{}
})
slot.RegisterComponent(func() slot.Component {
return &PotDecorations{}
})
slot.RegisterComponent(func() slot.Component {
return &Container{}
})
slot.RegisterComponent(func() slot.Component {
return &BlockState{}
})
slot.RegisterComponent(func() slot.Component {
return &Bees{}
})
slot.RegisterComponent(func() slot.Component {
return &Lock{}
})
slot.RegisterComponent(func() slot.Component {
return &ContainerLoot{}
})
slot.RegisterComponent(func() slot.Component {
return &BreakSound{}
})
slot.RegisterComponent(func() slot.Component {
return &VillagerVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &WolfVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &WolfSoundVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &WolfCollar{}
})
slot.RegisterComponent(func() slot.Component {
return &FoxVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &SalmonSize{}
})
slot.RegisterComponent(func() slot.Component {
return &ParrotVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &TropicalFishPattern{}
})
slot.RegisterComponent(func() slot.Component {
return &TropicalFishBaseColor{}
})
slot.RegisterComponent(func() slot.Component {
return &TropicalFishPatternColor{}
})
slot.RegisterComponent(func() slot.Component {
return &MooshroomVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &RabbitVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &PigVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &CowVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &ChickenVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &FrogVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &HorseVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &PaintingVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &LlamaVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &AxolotlVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &CatVariant{}
})
slot.RegisterComponent(func() slot.Component {
return &CatCollar{}
})
slot.RegisterComponent(func() slot.Component {
return &SheepColor{}
})
slot.RegisterComponent(func() slot.Component {
return &ShulkerColor{}
})
}

View File

@ -1,29 +1,42 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/net/packet"
)
//codec:gen
type Consumable struct {
ConsumeSeconds float32
Animation int32 `mc:"VarInt"` // 0=none, 1=eat, 2=drink, etc.
Sound SoundEvent
ConsumeSeconds float32
Animation int32 `mc:"VarInt"` // 0=none, 1=eat, 2=drink, etc.
SoundID int32 `mc:"VarInt"`
//opt:id:SoundID
SoundEvent *SoundEvent
HasConsumeParticles bool
Effects []ConsumeEffect
}
//codec:gen
type SoundEvent struct {
SoundEventID packet.Identifier
FixedRange packet.Option[packet.Float, *packet.Float]
SoundEventID packet.Identifier
HasFixedRange bool
//opt:optional:HasFixedRange
FixedRange float32
}
//codec:gen
type ConsumeEffect struct {
Type int32 `mc:"VarInt"`
// Data varies by type - would need custom handling
//opt:enum:Type:0
ApplyEffects []PotionEffect
//opt:enum:Type:0
ApplyProbability float32
//opt:enum:Type:1
RemoveEffects packet.IDSet
//opt:enum:Type:3
TeleportRandomlyDiameter float32
//opt:enum:Type:4
PlaySound SoundEvent
}
func (*Consumable) Type() slot.ComponentID {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type Container struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type CowVariant struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type CreativeSlotLock struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type CustomModelData struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/chat"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type Damage struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type DeathProtection struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type DyedColor struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type Enchantable struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type EnchantmentGlintOverride struct {

View File

@ -1,15 +1,16 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type Enchantments struct {
Enchantments []Enchantment
}
//codec:gen
type Enchantment struct {
TypeID int32 `mc:"VarInt"`
Level int32 `mc:"VarInt"`
Type int32 `mc:"VarInt"`
Level int32 `mc:"VarInt"`
}
func (*Enchantments) Type() slot.ComponentID {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,23 +1,28 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
pk "github.com/Tnze/go-mc/net/packet"
)
//codec:gen
type Equippable struct {
Slot int32 `mc:"VarInt"` // 0=mainhand, 1=feet, 2=legs, etc.
EquipSound SoundEvent
HasModel bool
Model pk.Option[pk.Identifier, *pk.Identifier]
HasCameraOverlay bool
CameraOverlay pk.Option[pk.Identifier, *pk.Identifier]
Slot int32 `mc:"VarInt"` // 0=mainhand, 1=feet, 2=legs, etc.
EquipSoundID int32 `mc:"VarInt"`
//opt:id:EquipSoundID
EquipSoundEvent *SoundEvent
HasModel bool
//opt:optional:HasModel
Model string `mc:"Identifier"`
HasCameraOverlay bool
//opt:optional:HasCameraOverlay
CameraOverlay string `mc:"Identifier"`
HasAllowedEntities bool
AllowedEntities pk.Option[pk.IDSet, *pk.IDSet]
Dispensable bool
Swappable bool
DamageOnHurt bool
//opt:optional:HasAllowedEntities
AllowedEntitiesID pk.IDSet
Dispensable bool
Swappable bool
DamageOnHurt bool
}
func (*Equippable) Type() slot.ComponentID {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type FireworkExplosion struct {
@ -9,9 +9,9 @@ type FireworkExplosion struct {
//codec:gen
type FireworkExplosionData struct {
Shape int32 `mc:"VarInt"`
Colors []int32 `mc:"PrefixedArray"`
FadeColors []int32 `mc:"PrefixedArray"`
Shape int32 `mc:"VarInt"`
Colors []int32
FadeColors []int32
HasTrail bool
HasTwinkle bool
}

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type Fireworks struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type Food struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type FoxVariant struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type FrogVariant struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type Glider struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type HorseVariant struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/chat"
"github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/chat"
)

View File

@ -3,7 +3,7 @@ package component
import (
"io"
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/chat"
"github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type LlamaVariant struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/net/packet"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/chat"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type MapColor struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type MapID struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type MapPostProcessing struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type MaxDamage struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type MaxStackSize struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type MooshroomVariant struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type OminousBottleAmplifier struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/chat"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type ParrotVariant struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type PigVariant struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type PotDecorations struct {

View File

@ -1,8 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
pk "github.com/Tnze/go-mc/net/packet"
"git.konjactw.dev/patyhank/minego/codec/slot"
)
//codec:gen
@ -19,23 +18,19 @@ type PotionContents struct {
type PotionEffect struct {
TypeID int32 `mc:"VarInt"`
Amplifier int32 `mc:"VarInt"`
Duration int32 `mc:"VarInt"`
Ambient bool
ShowParticles bool
ShowIcon bool
HasHiddenEffect bool
HiddenEffect pk.Option[PotionEffectExtraDetails, *PotionEffectExtraDetails]
Details PotionEffectDetails
}
//codec:gen
type PotionEffectExtraDetails struct {
type PotionEffectDetails struct {
Amplifier int32 `mc:"VarInt"`
Duration int32 `mc:"VarInt"`
Ambient bool
ShowParticles bool
ShowIcon bool
HasHiddenEffect bool
//opt:optional:HasHiddenEffect
HiddenEffect *PotionEffect
}
func (*PotionContents) Type() slot.ComponentID {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type PotionDurationScale struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/net/packet"
)

View File

@ -3,7 +3,7 @@ package component
import (
"io"
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type RabbitVariant struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type Rarity struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/nbt"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type RepairCost struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type SalmonSize struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type SheepColor struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type ShulkerColor struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type StoredEnchantments struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type SuspiciousStewEffects struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type TooltipDisplay struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/chat"
pk "github.com/Tnze/go-mc/net/packet"
)
@ -19,6 +19,7 @@ type TrimMaterial struct {
Description chat.Message
}
//codec:gen
type TrimOverride struct {
MaterialType pk.Identifier
OverrideAssetName string

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type TropicalFishBaseColor struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type TropicalFishPattern struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type TropicalFishPatternColor struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type Unbreakable struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type UseRemainder struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type VillagerVariant struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type Weapon struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type WolfCollar struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type WolfSoundVariant struct {

View File

@ -1,6 +1,6 @@
package component
import "git.konjactw.dev/patyhank/minego/codec/data/slot"
import "git.konjactw.dev/patyhank/minego/codec/slot"
//codec:gen
type WolfVariant struct {

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
pk "github.com/Tnze/go-mc/net/packet"
)

View File

@ -1,7 +1,7 @@
package component
import (
"git.konjactw.dev/patyhank/minego/codec/data/slot"
"git.konjactw.dev/patyhank/minego/codec/slot"
"github.com/Tnze/go-mc/chat"
pk "github.com/Tnze/go-mc/net/packet"
)

262
codec/metadata/codecs.go Normal file
View 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
}

Some files were not shown because too many files have changed in this diff Show More