package classic const ( WalkThrough = iota SwimThrough Solid PartiallySlippery FullySlippery Water Lava Rope ) const ( NoSound = iota WoodSound GravelSound GrassSound StoneSound MetalSound GlassSound WoolSound SandSound SnowSound ) const ( Opaque = iota TransparentGlass TransparentLeaves Translucent Invisible ) type DefineBlock struct { BlockId byte Name String Solidity byte MovementSpeed byte TopTextureId byte SideTextureId byte BottomTextureId byte TransmitsLight byte WalkSound byte FullBright byte Shape byte BlockDraw byte FogDensity byte FogColor [3]byte } func (p *DefineBlock) PacketId() byte { return 0x23 } type RemoveBlockDefinition struct { BlockId byte } func (p *RemoveBlockDefinition) PacketId() byte { return 0x24 } type DefineBlockExt struct { BlockId byte Name String Solidity byte MovementSpeed byte TopTextureId byte LeftTextureId byte RightTextureId byte FrontTextureId byte BackTextureId byte BottomTextureId byte TransmitsLight byte WalkSound byte FullBright byte Min [3]byte Max [3]byte BlockDraw byte FogDensity byte FogColor [3]byte } func (p *DefineBlockExt) PacketId() byte { return 0x25 }