MCPcopy Index your code
hub / github.com/TyphoonMC/TyphoonCore

github.com/TyphoonMC/TyphoonCore @v0.0.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.3 ↗ · + Follow
336 symbols 598 edges 14 files 0 documented · 0% updated 5mo agov0.0.3 · 2020-03-24★ 616 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

TyphoonCore

Lightweight minecraft server engine

Build Status stability-wip


Minecraft protocol support

Minecraft Version Protocol Version Supported
1.7.2 to 1.7.5 4 true
1.7.6 to 1.7.10 5 true
1.8 to 1.8.9 47 true
1.9 107 true
1.9.1 108 true
1.9.2 109 true
1.9.3 to 1.9.4 110 true
1.10 to 1.10.2 210 true
1.11 315 true
1.11.1 to 1.11.2 316 true
1.12 335 true
1.12.1 338 true
1.12.2 340 true
1.13 393 true
1.13.1 401 true
1.13.2 404 true
1.14 477 true
1.14.1 480 true
1.14.2 485 true
1.14.3 490 true
1.14.4 498 true
1.15 573 true
1.15.1 575 true
1.15.2 578 true

Snapshot support

TyphoonCore is able to load TyphoonDep protocol-map modules to add a partial snapshots support.

All json files are loaded from the "modules" folder in the same directory as the TyphoonLimbo binary.

You can generate a protocol-map module with the fetcher. Just pick the "page" link of your wanted version on wiki.vg as argument of the fecther and the magic will happen.

How to use

go get github.com/TyphoonMC/TyphoonCore

Example

package main

import (
    "fmt"
    t "github.com/TyphoonMC/TyphoonCore"
)

func main() {
    core := t.Init()
    core.SetBrand("exampleserver")

    core.On(func(e *t.PlayerJoinEvent) {
        msg := t.ChatMessage("Welcome ")
        msg.SetExtra([]t.IChatComponent{
            t.ChatMessage(e.Player.GetName()),
            t.ChatMessage(" !"),
        })
        e.Player.SendMessage(msg)
    })

    core.Start()
}

Other examples :

Roadmap

  • [ ] User friendly API
  • [ ] World loading
  • [ ] Multiworld
  • [ ] Entities
  • [ ] Physics
  • [ ] Biomes
  • [ ] Redstone
  • [ ] Pistons

Extension points exported contracts — how you extend this code

Packet (Interface)
(no doc) [22 implementers]
packet_registry.go
CommandParser (Interface)
(no doc) [5 implementers]
command.go
IChatComponent (Interface)
(no doc) [2 implementers]
chat.go
Event (Interface)
(no doc)
event.go

Core symbols most depended-on inside this repo

lastClientbound
called by 154
protocol_hack.go
Write
called by 22
packet_registry.go
WriteVarInt
called by 22
utils.go
WritePacket
called by 17
connection.go
WriteString
called by 15
utils.go
ReadVarInt
called by 13
utils.go
WriteUInt8
called by 11
utils.go
PacketTypeHash
called by 10
packet_registry.go

Shape

Method 227
Struct 57
Function 32
TypeAlias 16
Interface 4

Languages

Go100%

Modules by API surface

packet_handle.go110 symbols
command_parser.go44 symbols
chat.go35 symbols
utils.go33 symbols
command.go26 symbols
connection.go25 symbols
protocol_hack.go13 symbols
event.go13 symbols
players_registry.go8 symbols
packet_registry.go8 symbols
typhoon.go7 symbols
buffer.go7 symbols

For agents

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

⬇ download graph artifact

Ask about this repo answers extend the page