MCPcopy Index your code
hub / github.com/Sandertv/gophertunnel

github.com/Sandertv/gophertunnel @v1.57.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.57.0 ↗ · + Follow
2,024 symbols 6,860 edges 348 files 1,632 documented · 81%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

gophertunnel

Swiss army knife for Minecraft (Bedrock Edition) software written in Go

PkgGoDev

telescope gopher

Overview

gophertunnel is composed of several packages that may be of use for creating Minecraft related tools. As of version v1.47.5, Gophertunnel requires at least Go 1.24. A brief overview of all packages may be found here.

Examples

Examples on how to dial a connection or start a server can be found in the minecraft package. Additionally, a MITM proxy is implemented in the main.go file.

Versions

Gophertunnel supports only one version at a time (generally the latest official Minecraft release), but multiple protocols can be supported with the API. Generally, a new minor version is tagged when gophertunnel supports a new Minecraft version that was not previously supported.

Contact

Chat on Discord

Note: We do not under any circumstance support or endorse the usage of gophertunnel with malicious intent.

Extension points exported contracts — how you extend this code

InventoryTransactionData (Interface)
InventoryTransactionData represents an object that holds data specific to an inventory transaction type. The data it hol [441 …
minecraft/protocol/inventory.go
TokenSource (Interface)
TokenSource supplies a Token for authenticating with various network services in Minecraft: Bedrock Edition from underly [4 …
minecraft/service/token.go
MultiplayerTokenSource (Interface)
MultiplayerTokenSource supplies a multiplayer token issued by the Minecraft authorization service, which is newly introd [3 …
minecraft/multiplayer_token_source.go
ServerStatusProvider (Interface)
ServerStatusProvider represents a type that is able to provide the visual status of a server, in specific its MOTD, the [2 …
minecraft/server_status_provider.go
Encoding (Interface)
Encoding is an encoding variant of NBT. In general, there are three different encodings of NBT, which are all the same e [2 …
minecraft/nbt/encoding.go
Protocol (Interface)
Protocol represents the Minecraft protocol used to communicate over network. It comprises a unique set of packets that m [1 …
minecraft/protocol.go
Network (Interface)
Network represents an implementation of a supported network layers, such as RakNet. [1 implementers]
minecraft/network.go
Marshaler (Interface)
Marshaler is a type that can be written to or read from an IO. [441 implementers]
minecraft/protocol/io.go

Core symbols most depended-on inside this repo

String
called by 289
minecraft/protocol/io.go
Varint32
called by 178
minecraft/protocol/io.go
Bool
called by 175
minecraft/protocol/io.go
Uint8
called by 135
minecraft/protocol/io.go
Float32
called by 118
minecraft/protocol/io.go
OptionalFunc
called by 108
minecraft/protocol/io.go
Slice
called by 97
minecraft/protocol/io.go
Varuint32
called by 67
minecraft/protocol/io.go

Shape

Method 1,250
Struct 562
Function 168
Interface 27
TypeAlias 17

Languages

Go100%

Modules by API surface

minecraft/protocol/io.go83 symbols
minecraft/protocol/events.go69 symbols
minecraft/conn.go65 symbols
minecraft/protocol/writer.go54 symbols
minecraft/protocol/reader.go52 symbols
minecraft/protocol/item_stack.go50 symbols
minecraft/protocol/biome.go44 symbols
minecraft/protocol/camera.go38 symbols
minecraft/protocol/recipe.go37 symbols
minecraft/resource/pack.go33 symbols
minecraft/nbt/encoding_little_endian.go30 symbols
minecraft/nbt/encoding_big_endian.go30 symbols

For agents

$ claude mcp add gophertunnel \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact