#minecraft #parse #api #codec

golden_apple

A Rust library for decoding and sharing Minecraft data types

21 releases (breaking)

0.17.1 Aug 29, 2022
0.16.0 Sep 21, 2021
0.9.0 Jul 24, 2021

#1141 in Encoding

Download history 4/week @ 2024-02-16 6/week @ 2024-02-23 2/week @ 2024-03-01 1/week @ 2024-03-08 132/week @ 2024-03-29 25/week @ 2024-04-05

157 downloads per month

MIT license

210KB
1.5K SLoC

Overview

golden_apple is a library for decoding, encoding, and using common types found in Minecraft: Java Edition.

Goals

  • Provide a generalized format for sharing and using Minecraft's data types
  • Simplify the decoding and encoding of network data

Usage

Proprietary Minecraft types like VarInt, VarLong, and Position are a part of the top level crate. NBT is dealt with in the nbt module. Types that can be fully represented in Rust have encoders/decoders under golden_apple::generalized, in case it isn't striaghtforward to do so.

Status

This crate is unfinished and some features aren't yet present. Here's an overview of what is and isn't done:

  • Standard Java Types
  • String
  • Chat
  • Identifier
  • VarInt
  • VarLong
  • Metadata
  • Slot
  • NBT
  • Position
  • Angle
  • UUID
  • Enums
    Partial Support

Version Support

Crate version Minecraft version Minecraft Protocol ID
0.17 - 0.17.1 1.19.2 762

Dependencies

~4–19MB
~261K SLoC