RandomHashTags / swift-mc

Minecraft server written in Swift.

Repository from Github https://github.comRandomHashTags/swift-mcRepository from Github https://github.comRandomHashTags/swift-mc

SwiftMC

Requires at least Swift 6.0 Apache 2.0 License

Table of Contents

Why

Minecraft performance is laughably poor. I also disagree with some of the changes Mojang has done to the game (chat reporting, server banning, EULA, etc).

Why Swift

I considered using C or Rust initially. The problem with those languages is that they don't offer the best developer experience when writing mods/plugins. I want this project to offer the easiest entry for mods/plugins, while not compromising security, performance or syntax.

Philosophy

This server is to mimic the vanilla Minecraft experience in all aspects, supporting all versions and the same world generation. The only logic added that doesn't adhere to vanilla Minecraft should be performance and memory improvements OR third-party additions.

Current Features

API

Legend

  • βœ…: feature complete
  • 🚧: active development
  • ⚠️: halted development (due to other features being needed first)
  • ❌: not started

Progress as of Nov 28, 2024

Feature Protocol Java Bedrock
Advancements βœ… ❌ ❌
Attributes βœ… ❌ ❌
Biomes βœ… ❌ ❌
Biome Generation ❌ ❌ ❌
Blocks 🚧 ❌ ❌
Chat βœ… ❌ ❌
Commands 🚧 ❌ ❌
Chunks 🚧 ❌ ❌
Chunk Generation ❌ ❌ ❌
Collision ⚠️ ❌ ❌
Difficulties βœ… ❌ ❌
Enchantments βœ… ❌ ❌
Ender Dragon Battle βœ… ❌ ❌
Entities 🚧 ❌ ❌
Events ⚠️ ❌ ❌
Game Modes βœ… ❌ ❌
Game Rules βœ… ❌ ❌
Inventories 🚧 ❌ ❌
Items 🚧 ❌ ❌
Item Meta βœ… ❌ ❌
Item Flags βœ… ❌ ❌
Location 🚧 ❌ ❌
Loot 🚧 ❌ ❌
Materials βœ… ❌ ❌
Merchant/Villager Trading βœ… ❌ ❌
NBT ⚠️ ❌ ❌
Packets βœ… ⚠️ ❌
Particles 🚧 ❌ ❌
Permissions 🚧 ❌ ❌
Plugins/Mods ❌ ❌ ❌
Potions βœ… ❌ ❌
Raids ⚠️ ❌ ❌
Scoreboards βœ… ❌ ❌
Server 🚧 ❌ ❌
Server-Client communication ⚠️ ❌ ❌
Structures βœ… ❌ ❌
Sounds βœ… ❌ ❌
Spawners ⚠️ ❌ ❌
Statistics βœ… ❌ ❌
Ticks βœ… ❌ ❌
Vibrations ❌ ❌ ❌
Weather βœ… ❌ ❌
Worlds 🚧 ❌ ❌
World Border βœ… ❌ ❌
World Generation ❌ ❌ ❌

Implementation

I want to get the Blueprint finalized before I work on implementions.

❌ Java

❌ Bedrock

Contributing

Adding/improving functionality is always welcome, just make a PR.

Funding

Support the development of this project by sponsoring the developers.

About

Minecraft server written in Swift.


Languages

Language:Swift 100.0%