Categorygithub.com/TyphoonMC/TyphoonCore
repositorypackage
0.0.3
Repository: https://github.com/typhoonmc/typhooncore.git
Documentation: pkg.go.dev

# README

TyphoonCore

Lightweight minecraft server engine

Build Status stability-wip

Minecraft protocol support

Minecraft VersionProtocol VersionSupported
1.7.2 to 1.7.54true
1.7.6 to 1.7.105true
1.8 to 1.8.947true
1.9107true
1.9.1108true
1.9.2109true
1.9.3 to 1.9.4110true
1.10 to 1.10.2210true
1.11315true
1.11.1 to 1.11.2316true
1.12335true
1.12.1338true
1.12.2340true
1.13393true
1.13.1401true
1.13.2404true
1.14477true
1.14.1480true
1.14.2485true
1.14.3490true
1.14.4498true
1.15573true
1.15.1575true
1.15.2578true

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