data

module
v0.0.0-...-f4a527b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 26, 2026 License: MIT

README

go-mclib/data

Go bindings for Minecraft Java Edition network protocol and game data, for use with go-mclib/protocol in go-mclib/client and other projects.

Features

  • Packet definitions for all protocol states (handshake, status, login, configuration, play)
  • Generated data from Minecraft server reports:
    • 95 registries with bidirectional lookups
    • 1,166 blocks with state calculations
    • 1,505 items with component metadata
    • Packet ID mappings
  • ItemStack middleware for typed component access

Dependency Chain

go-mclib/protocol <–––(requires)––– go-mclib/data <–––(requires)––– go-mclib/client

Installation

go get github.com/go-mclib/data

Usage

See package documentation:

Updating to a New Minecraft Version

  1. Generate the server JSON reports (downloads the vanilla server jar and runs its data generator):

    cd vanilla_server_reports && ./generate.sh <version>
    
  2. Regenerate data from the server reports + decompiled source (../mcsrc/current):

    cd pkg/data && go generate ./... && go fmt ./...
    
  3. Update packet bindings - see .claude/prompts/PACKETS.md

  4. Update component decoders - see .claude/prompts/DATA.md

License

Licensed under the MIT License.

Directories

Path Synopsis
pkg
data
Package data provides Minecraft protocol data bindings.
Package data provides Minecraft protocol data bindings.
data/generate command
data/hitboxes
Package hitboxes provides collision geometry types shared by block and entity hitbox packages.
Package hitboxes provides collision geometry types shared by block and entity hitbox packages.
data/hitboxes/blocks
Package blocks provides block collision shape lookups by state ID.
Package blocks provides block collision shape lookups by state ID.
data/hitboxes/entities
Package entities provides entity hitbox dimension lookups by entity type name.
Package entities provides entity hitbox dimension lookups by entity type name.
data/packet_ids
Package packets provides generated protocol IDs for Minecraft packets.
Package packets provides generated protocol IDs for Minecraft packets.
data/storage
Package storage implements Minecraft's Anvil region file format for persisting chunk and player data.
Package storage implements Minecraft's Anvil region file format for persisting chunk and player data.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL