Skip to content

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Falcon
Falcon Protocol
Minecraft: Bedrock Edition protocol library written in C++17

Minecraft Protocol C++17

What is this?

The binary format of the Bedrock protocol, with no game logic attached. It is the lowest layer of Falcon and has no dependency on the server or the transport.

  • Packets - one class per Bedrock packet in Protocol/Packets, each with write, read and a typed handle dispatch through NetworkPacketHandler
  • Packet ids and factory - MinecraftPacketIds and MinecraftPackets create a packet from its id
  • Network types - items, block definitions, inventory sources, commands, camera, attributes and more in Protocol/Types
  • Codecs - items (inventory and entity formats), entity metadata, skins, inventory transactions, camera and data store
  • Utilities - a JSON parser, math types and logging

NBT tags and binary streams come from NBT, fetched automatically.

Usage

The library is a plain CMake target named FalconProtocol. The easiest way to use it is FetchContent:

include(FetchContent)

FetchContent_Declare(
    falcon_protocol
    GIT_REPOSITORY https://github.com/Falcon-MC/Protocol.git
    GIT_TAG main
    GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(falcon_protocol)

target_link_libraries(your_target PRIVATE FalconProtocol)

Building

Only CMake 3.16+ and a C++17 compiler are required.

cmake -B build -G Ninja
cmake --build build

Related repositories

  • Falcon - the server
  • Network - RakNet and NetherNet transport
  • NBT - NBT tags and binary streams
  • BedrockData - game data files, versioned by protocol

Licensing information

Falcon Protocol is licensed under the GNU Lesser General Public License v3.0, which supplements the GNU General Public License v3.0. It can be linked from projects under any license, as long as changes to this library itself stay under the same license.

Falcon is not affiliated with Mojang. All brands and trademarks belong to their respective owners.

About

Bedrock protocol library for Falcon

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages