MCPcopy Index your code
hub / github.com/df-mc/dragonfly

github.com/df-mc/dragonfly @v0.10.14

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.10.14 ↗ · + Follow
7,905 symbols 21,233 edges 818 files 6,817 documented · 86%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

image

Dragonfly

Dragonfly is a heavily asynchronous server software for Minecraft: Bedrock Edition written in Go. It was written with scalability and simplicity in mind and aims to make the process of setting up a server and modifying it easy. Unlike other Minecraft server software, Dragonfly is generally used as a library to extend.

Discord Banner 2

Getting started

Running Dragonfly requires at least Go 1.26. After starting the server through one of the methods below, ctrl+c may be used to shut down the server. Also check out the wiki for more detailed info.

Installation as library

go mod init github.com/user/module
go get github.com/df-mc/dragonfly

SetupLibrary

Installation of the latest commit

git clone https://github.com/df-mc/dragonfly
cd dragonfly
go run main.go

SetupClone

Developer info

Go Reference

Dragonfly features a well-documented codebase with an easy-to-use API. Documentation may be found here and in the subpackages found by clicking Directories.

Publishing your project on GitHub? Consider adding the #df-mc topic to your repository and opening a pull request at df-wiki adding your project as a Community Project to improve its visibility.

Contributing

Contributions are very welcome! Issues, pull requests and feature requests are highly appreciated. Opening a pull request? Consider joining our Discord server to discuss your changes! Also have a read through the CONTRIBUTING.md for more info.

Extension points exported contracts — how you extend this code

BoneMealAffected (Interface)
BoneMealAffected represents a block that is affected when bone meal is used on it. [16 implementers]
server/item/bone_meal.go
Target (Interface)
Target represents the target of a command. A []Target may be used as command parameter types to allow passing targets to [7 …
server/cmd/target.go
Closer (Interface)
Closer represents a dialogue which has special logic when being closed by a Submitter. [16 implementers]
server/player/dialogue/submit.go
BlockSource (Interface)
BlockSource represents a source for obtaining blocks. [7 implementers]
server/world/block_source.go
Soil (Interface)
Soil represents a block that can support vegetation. [12 implementers]
server/block/dirt.go
Behaviour (Interface)
Behaviour implements the behaviour of an Ent. [19 implementers]
server/entity/ent.go
OffsetEntity (Interface)
OffsetEntity is a world.EntityType that has an additional offset when sent over network. This is mostly the case for old [4 …
server/session/world.go
Listener (Interface)
Listener is a source for connections that may be listened on by a Server using Server.listen. Proxies can use this to pr [1 …
server/listener.go

Core symbols most depended-on inside this repo

RegisterItem
called by 375
server/world/item.go
Block
called by 328
server/item/recipe/recipe.go
Side
called by 268
server/block/cube/pos.go
Errorf
called by 244
server/cmd/output.go
newBreakInfo
called by 199
server/block/break_info.go
SetBlock
called by 185
server/world/tx.go
String
called by 185
server/world/biome.go
NewStack
called by 171
server/item/stack.go

Shape

Method 5,603
Struct 1,005
Function 996
Interface 228
TypeAlias 68
FuncType 5

Languages

Go100%

Modules by API surface

server/player/player.go240 symbols
server/block/hash.go204 symbols
server/world/world.go85 symbols
server/player/handler.go76 symbols
server/session/controllable.go71 symbols
server/item/item.go68 symbols
server/block/block.go67 symbols
server/session/player.go63 symbols
server/session/entity_metadata.go62 symbols
server/item/armour.go62 symbols
server/world/block.go59 symbols
server/world/viewer.go52 symbols

For agents

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

⬇ download graph artifact