Difference between revisions of "Library List"

From wiki.vg
Jump to navigation Jump to search
(93 intermediate revisions by 46 users not shown)
Line 1: Line 1:
 
{{ToolsNavbox}}
 
{{ToolsNavbox}}
This is a rather incomplete list of Minecraft related libraries currently in development.
+
This is a rather incomplete list of Minecraft related libraries finished or currently in development.
 
{| class="wikitable sortable" style="width: auto; text-align: center;"
 
{| class="wikitable sortable" style="width: auto; text-align: center;"
 
|-style="background:#eee"
 
|-style="background:#eee"
Line 9: Line 9:
 
!License
 
!License
 
!Last Version Supported
 
!Last Version Supported
 +
|-
 +
! [https://github.com/Tnze/go-mc go-mc]
 +
| Go library of network protocol, NBT, Yggdrasil, mca file and RCON and so on.
 +
| [https://github.com/Tnze Tnze]
 +
| [https://golang.org/ Go]
 +
| {{MIT}}
 +
| {{yes|1.16.5-All}}
 +
|-
 +
| [https://github.com/Twister915/mcproto-rs mcproto-rs]
 +
| Rust library that implements the Minecraft protocol (serialize/deserialize) and defines abstractions/macros to implement any prior or future version of the protocol.
 +
| [https://github.com/Twister915 Joey (Twister915)]
 +
| [https://www.rust-lang.org/ Rust]
 +
| [https://www.apache.org/licenses/LICENSE-2.0 APACHE 2.0]
 +
| {{yes|1.15.2}}
 +
|-
 +
|-
 +
! [https://github.com/Zerite/CraftLib CraftLib]
 +
| Kotlin library that aims to wrap the entire Minecraft codebase. Currently supports protocol, chat and NBT. Will support the Mojang REST API, bot creation, launching, RCON and regions.
 +
| [https://github.com/Zerite Zerite]
 +
| [https://kotlinlang.org Kotlin]
 +
| [http://www.gnu.org/copyleft/lgpl.html LGPL]
 +
| {{yes|1.7.x, 1.8.x}}
 +
|-
 +
|-
 +
! [https://github.com/apotter96/GemBlocks GemBlocks]
 +
| C# library that easily saves/loads/generates worlds. Currently only has flatgrass. More to come. Based on [https://github.com/MorbZ/J2Blocks MorbZ's J2Blocks] (translated from java to C#).
 +
| [https://github.com/apotter96 apotter96]
 +
| {{C sharp}}
 +
| MIT
 +
| {{yes|All}}
 +
|-
 +
|-
 +
! [https://github.com/AlphaBs/CmlLib.Core CmlLib.Core]
 +
| .NET Minecraft Launcher Library. Installing and Launching all version including forge, Yggdrasil Authentication, with crossplatform
 +
| [https://github.com/AlphaBs AlphaBs]
 +
| {{C sharp}}
 +
| {{MIT}}
 +
| {{yes|All}}
 +
|-
 +
! [https://github.com/Toranktto/CraftProtocol CraftProtocol]
 +
| Open source partial implementation of Minecraft network protocol and NBT in Python 2.7.
 +
| [https://github.com/Toranktto Toranktto]
 +
| {{Python}}
 +
| {{MIT}}
 +
| {{yes|1.8.x, 1.10.x, 1.12.2}}
 +
|-
 +
! [https://github.com/JoshuaDoes/go-yggdrasil go-yggdrasil]
 +
| Allows usage of Mojang's Yggdrasil authentication system in Go
 +
| [https://joshuadoes.com JoshuaDoes]
 +
| [https://golang.org/ Go]
 +
| {{MIT}}
 +
| n/a
 +
|-
 +
! [https://github.com/McEx/McProtocol McProtocol]
 +
| Packets, NBT, Login, Proxy
 +
| hansihe
 +
| [http://elixir-lang.org/ Elixir]
 +
| {{MIT}}
 +
| {{yes|1.9.2}}
 +
|-
 +
! [https://github.com/samcarsonx/yggdrasil-py yggdrasil-py]
 +
| Open-source Python 3.6+ wrapper for the Mojang Yggdrasil authentication service.
 +
| [https://github.com/samcarsonx Sam Carson (samcarsonx)]
 +
| {{Python}}
 +
| {{MIT}}
 +
| n/a
 +
|-
 +
! [https://github.com/hawezo/MojangSharp MojangSharp]
 +
| .NET wrapper for Mojang API
 +
| [https://github.com/hawezo Enzo Innocenzi (Hawezo)]
 +
| {{C sharp}}
 +
| {{Apache}}
 +
| {{yes|All}}
 
|-
 
|-
 
! [https://github.com/SirCmpwn/Craft.Net Craft.Net]
 
! [https://github.com/SirCmpwn/Craft.Net Craft.Net]
 
| .NET Minecraft client, server, and data manipulation library
 
| .NET Minecraft client, server, and data manipulation library
| Drew DeVault (SirCmpwn)
+
| [https://github.com/SirCmpwn Drew DeVault (SirCmpwn)]
 
| {{C sharp}}
 
| {{C sharp}}
 
| {{MIT}}
 
| {{MIT}}
| {{snapshot|13w38c}}
+
| {{yes|1.7.5}}
 
|-
 
|-
! [https://github.com/superjoe30/node-minecraft-protocol node-minecraft-protocol]
+
! [https://github.com/dividuum/fastmc fastmc]
 +
| Python packet parser/writer & utility library
 +
| [http://dividuum.de Florian Wesch (dividuum)]
 +
| {{Python}}
 +
| {{MIT}}
 +
| {{yes|1.7/1.8}}
 +
|-
 +
! [https://github.com/PrismarineJS/node-minecraft-protocol node-minecraft-protocol]
 
| npm install minecraft-protocol
 
| npm install minecraft-protocol
| [https://github.com/superjoe30 superjoe]
+
| [https://github.com/PrismarineJS PrismarineJS]
 
| [http://nodejs.org/ node.js]
 
| [http://nodejs.org/ node.js]
 
| {{BSD}}
 
| {{BSD}}
| {{yes|1.6.4}}
+
| {{yes|1.7-1.16}}
 +
|-
 +
! [https://github.com/PassTheMayo/minecraft-server-util minecraft-server-util]
 +
| A Node.js library for Minecraft servers that can retrieve status, perform queries, and RCON into servers.
 +
| [https://github.com/PassTheMayo PassTheMayo]
 +
| [https://nodejs.org/ Node.js]
 +
| {{MIT}}
 +
| {{yes|All}}
 +
|-
 +
! [https://github.com/plushmonkey/mclib mclib]
 +
| C++ library for creating clients
 +
| [https://github.com/plushmonkey plushmonkey]
 +
| {{C++}}
 +
| {{MIT}}
 +
| {{yes|1.10-1.12.1}}
 +
|-
 +
! [https://github.com/timmyrs/Phpcraft Phpcraft]
 +
| A PHP library for all things Minecraft: Java Edition.
 +
| [https://github.com/timmyrs timmyRS]
 +
| {{PHP}}
 +
| {{MIT}}
 +
| {{yes|1.8-1.15.2}}
 +
|-
 +
! [https://github.com/ammaraskar/pyCraft pyCraft]
 +
| Python minecraft client library
 +
| [http://ammaraskar.com/ Ammar Askar (ammaraskar)], [https://github.com/dkkline Jeppe Klitgaard (Dkkline)]
 +
| {{Python}}
 +
| {{Apache}}
 +
| {{yes|1.15.1}}
 +
|-
 +
! [http://github.com/Steveice10/MCProtocolLib MCProtocolLib]
 +
| Java implementation of the Minecraft protocol.
 +
| Steveice10
 +
| {{Java}}
 +
| {{MIT}}
 +
| {{yes|1.14.3}}
 +
|-
 +
! [https://github.com/C4K3/Ozelot Ozelot]
 +
| Rust implementation of MCMODERN networking
 +
| C4K3
 +
| {{Rust}}
 +
| Public domain
 +
| {{yes|1.13.2}}
 
|-
 
|-
 
! [https://github.com/ags131/SharpMinecraftLibrary SharpMinecraftLibrary]
 
! [https://github.com/ags131/SharpMinecraftLibrary SharpMinecraftLibrary]
Line 30: Line 152:
 
| {{unknown}}
 
| {{unknown}}
 
| {{no|1.6.2 (Partial)}}
 
| {{no|1.6.2 (Partial)}}
|-
 
! [http://github.com/Steveice10/mc-protocol-lib mc-protocol-lib]
 
| Java implementation of the Minecraft protocol.
 
| Steveice10
 
| {{Java}}
 
| {{MIT}}
 
| {{no|1.6.2}}
 
|-
 
! [https://github.com/dkkline/McClientLib McClientLib]
 
| Python MineCraft client protocol.
 
| [https://github.com/dkkline Jeppe Klitgaard (Dkkline)]
 
| {{Python}}
 
| {{MIT}}
 
| {{no|1.5.2}}
 
 
|-
 
|-
 
! [https://github.com/pdelvo/Pdelvo.Minecraft Pdelvos Protocol Implementation]
 
! [https://github.com/pdelvo/Pdelvo.Minecraft Pdelvos Protocol Implementation]
Line 96: Line 204:
 
! [https://github.com/fragmer/fNbt fNbt]
 
! [https://github.com/fragmer/fNbt fNbt]
 
| Reading, writing, and manipulating NBT files and streams, for .NET
 
| Reading, writing, and manipulating NBT files and streams, for .NET
| fragmer (Scootabyte)
+
| [http://matvei.org/ Matvei Stefarov (fragmer)]
 
| {{C sharp}}
 
| {{C sharp}}
 
| {{BSD}}
 
| {{BSD}}
 
| n/a
 
| n/a
 
|-
 
|-
 +
! [https://gist.github.com/Jckf/7872337 Yggdrasil.php]
 +
| Interfacing with Mojang's Yggdrasil authentication system.
 +
| [http://www.jckf.no/ Jim C K Flaten (Jckf)]
 +
| {{PHP}}
 +
| {{unknown}}
 +
| n/a
 +
|-
 +
! [https://github.com/umby24/libMC.NET libMC.Net]
 +
| .NET Minecraft interaction library
 +
| [http://umby.d3s.co/ umby24]
 +
| {{C sharp}}
 +
| {{MIT}}
 +
| {{yes|1.7.4}}
 +
|-
 +
! [https://github.com/MineLib/MineLib.Network MineLib.Network]
 +
| .NET Minecraft network client interaction library.
 +
| [https://github.com/Aragas Aragas (Aragasas)]
 +
| {{C sharp}}
 +
| {{MIT}}
 +
| {{yes|1.8}}
 +
|-
 +
! [https://github.com/Evil-Co/NBT-Lib NBT-Lib]
 +
| Allows reading, writing and modification of NBT files and streams.
 +
| [http://www.evil-co.org Evil-Co]
 +
| {{Java}}
 +
| {{Apache}}
 +
| n/a
 +
|-
 +
! [https://github.com/DarkStorm652/DarkBot DarkBot]
 +
| Minecraft client, automation (AI) platform, and modular protocol library
 +
| [https://github.com/DarkStorm652 DarkStorm]
 +
| {{Java}}
 +
| {{BSD}}
 +
| {{yes|1.5.2-1.7.9}}
 +
|-
 +
! [https://bitbucket.org/socolin/nbtfield/ NBTField]
 +
| Another NBT library in C++
 +
| [https://bitbucket.org/socolin/ Socolin]
 +
| {{C++}}
 +
| {{MIT}}
 +
| n/a
 +
|-
 +
! [https://github.com/Kronos666/mclaunch-util-lib mclaunch-util-lib]
 +
| Yggdrasil library in Java, has handy features for launchers.
 +
| [https://github.com/Kronos666 Kronos]
 +
| {{Java}}
 +
| {{MIT}}
 +
| n/a
 +
|-
 +
! [https://github.com/Litarvan/OpenLauncherLib/ OpenLauncherLib]
 +
| Minecraft launching library written from scratch
 +
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil]
 +
| {{Java}}
 +
| {{LGPL}}
 +
| {{yes|1.0.0-1.9.2}}
 +
|-
 +
! [https://github.com/Litarvan/S-Update/ S-Update]
 +
| Powerful and simple Java update system, with Minecraft support. Works with a PHP Server
 +
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil]
 +
| {{Java}}
 +
| {{LGPL}}
 +
| {{yes|1.0.0-1.9.2}}
 +
|-
 +
! [https://github.com/Litarvan/OpenAuth/ OpenAuth]
 +
| Yggdrasil library, with possibility to give an other authentication server, it also has its own auth server.
 +
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil, Valentin "Vavaballz"]
 +
| {{Java}}
 +
| {{LGPL}}
 +
| {{yes|1.0.0-1.9.2}}
 +
|-
 +
! [https://github.com/jamiemansfield/text text]
 +
| An open-source MIT-licensed library for working with text from Minecraft.
 +
| [https://www.jamierocks.uk/ Jamie Mansfield]
 +
| {{Java}}
 +
| {{MIT}}
 +
| {{yes|1.11.2}}
 +
|-
 +
! [https://github.com/to2mbn/JMCCC JMCCC]
 +
| A powerful open-source library for launching and downloading Minecraft.
 +
| [https://github.com/to2mbn/ to2mbn]
 +
| {{Java}}
 +
| {{MIT}}
 +
| {{yes|All}}
 +
|-
 +
! [https://pypi.org/project/minecraft-launcher-lib minecraft-launcher-lib]
 +
| A library for installing and lauching Minecraft. It also have functions for Yggdrasil.
 +
| [https://gitlab.com/JakobDev JakobDev]
 +
| {{Python}}
 +
| {{BSD}}
 +
| {{yes|All}}
 +
|-
 +
! [https://github.com/KyoriPowered/adventure Adventure]
 +
| A serverside user interface library for Minecraft: Java Edition
 +
| [https://github.com/KyoriPowered Kyori]
 +
| {{Java}}
 +
| {{MIT}}
 +
| {{yes|All}}
 +
|-
 +
! [https://github.com/BomBardyGamer/Komponent Komponent]
 +
| An easy to use, fast and lightweight Minecraft chat component library, written in Kotlin
 +
| [https://github.com/BomBardyGamer Callum Seabrook]
 +
| {{Kotlin}}
 +
| {{MIT}}
 +
| {{yes|All (Tested on 1.16.5)}}
 +
|-
 +
! [https://github.com/EngineHub/SchematicJS SchematicJS]
 +
| A JavaScript/TypeScript library for loading schematic files
 +
| [https://github.com/EngineHub/ EngineHub]
 +
| {{JavaScript}}
 +
| GPL
 +
| n/a
 +
|-
 +
! [https://github.com/EngineHub/SchematicWebViewer SchematicWebViewer]
 +
| A JavaScript/TypeScript library for rendering schematic files in a web canvas
 +
| [https://github.com/EngineHub/ EngineHub]
 +
| {{JavaScript}}
 +
| GPL
 +
| n/a
 
|}
 
|}
  
 
[[Category:Minecraft Modern]]
 
[[Category:Minecraft Modern]]

Revision as of 12:30, 25 February 2021

Minecraft Modern Tools and Mods
Clients | Servers | Decompilers | Libraries | Utilities | Wrappers

This is a rather incomplete list of Minecraft related libraries finished or currently in development.

Name Description Author(s) Language License Last Version Supported
go-mc Go library of network protocol, NBT, Yggdrasil, mca file and RCON and so on. Tnze Go MIT 1.16.5-All
mcproto-rs Rust library that implements the Minecraft protocol (serialize/deserialize) and defines abstractions/macros to implement any prior or future version of the protocol. Joey (Twister915) Rust APACHE 2.0 1.15.2
CraftLib Kotlin library that aims to wrap the entire Minecraft codebase. Currently supports protocol, chat and NBT. Will support the Mojang REST API, bot creation, launching, RCON and regions. Zerite Kotlin LGPL 1.7.x, 1.8.x
GemBlocks C# library that easily saves/loads/generates worlds. Currently only has flatgrass. More to come. Based on MorbZ's J2Blocks (translated from java to C#). apotter96 C# MIT All
CmlLib.Core .NET Minecraft Launcher Library. Installing and Launching all version including forge, Yggdrasil Authentication, with crossplatform AlphaBs C# MIT All
CraftProtocol Open source partial implementation of Minecraft network protocol and NBT in Python 2.7. Toranktto Python MIT 1.8.x, 1.10.x, 1.12.2
go-yggdrasil Allows usage of Mojang's Yggdrasil authentication system in Go JoshuaDoes Go MIT n/a
McProtocol Packets, NBT, Login, Proxy hansihe Elixir MIT 1.9.2
yggdrasil-py Open-source Python 3.6+ wrapper for the Mojang Yggdrasil authentication service. Sam Carson (samcarsonx) Python MIT n/a
MojangSharp .NET wrapper for Mojang API Enzo Innocenzi (Hawezo) C# Apache License v2 All
Craft.Net .NET Minecraft client, server, and data manipulation library Drew DeVault (SirCmpwn) C# MIT 1.7.5
fastmc Python packet parser/writer & utility library Florian Wesch (dividuum) Python MIT 1.7/1.8
node-minecraft-protocol npm install minecraft-protocol PrismarineJS node.js BSD 1.7-1.16
minecraft-server-util A Node.js library for Minecraft servers that can retrieve status, perform queries, and RCON into servers. PassTheMayo Node.js MIT All
mclib C++ library for creating clients plushmonkey C++ MIT 1.10-1.12.1
Phpcraft A PHP library for all things Minecraft: Java Edition. timmyRS PHP MIT 1.8-1.15.2
pyCraft Python minecraft client library Ammar Askar (ammaraskar), Jeppe Klitgaard (Dkkline) Python Apache License v2 1.15.1
MCProtocolLib Java implementation of the Minecraft protocol. Steveice10 Java MIT 1.14.3
Ozelot Rust implementation of MCMODERN networking C4K3 Rust Public domain 1.13.2
SharpMinecraftLibrary ags131, electronicboy C# Unknown 1.6.2 (Partial)
Pdelvos Protocol Implementation .NET client/server protocol library with support for several versions. pdelvo C# MIT 1.5.2
Minecraft PHP Client 2 PHP client and protocol library. With events, actions and API shoghicp PHP WTFPL 1.5.1
libmcnet Event based, zero-copy, portable Minecraft network protocol parser deoxxa C BSD 1.4
node-mcnet Node.JS bindings to libmcnet deoxxa JavaScript, node.js BSD 1.3.2
MCPackets Java Minecraft protocol library main() Java Unknown 1.2.5
libmc--c World representation data structures and OpenGL drawing functions. axus C++, OpenGL GPLv3 1.1
mcproxy Minecraft Proxy (and bot) framework in C++ mave C++ GPLv3 1.1
fNbt Reading, writing, and manipulating NBT files and streams, for .NET Matvei Stefarov (fragmer) C# BSD n/a
Yggdrasil.php Interfacing with Mojang's Yggdrasil authentication system. Jim C K Flaten (Jckf) PHP Unknown n/a
libMC.Net .NET Minecraft interaction library umby24 C# MIT 1.7.4
MineLib.Network .NET Minecraft network client interaction library. Aragas (Aragasas) C# MIT 1.8
NBT-Lib Allows reading, writing and modification of NBT files and streams. Evil-Co Java Apache License v2 n/a
DarkBot Minecraft client, automation (AI) platform, and modular protocol library DarkStorm Java BSD 1.5.2-1.7.9
NBTField Another NBT library in C++ Socolin C++ MIT n/a
mclaunch-util-lib Yggdrasil library in Java, has handy features for launchers. Kronos Java MIT n/a
OpenLauncherLib Minecraft launching library written from scratch Adrien "Litarvan" Navratil Java LGPL 1.0.0-1.9.2
S-Update Powerful and simple Java update system, with Minecraft support. Works with a PHP Server Adrien "Litarvan" Navratil Java LGPL 1.0.0-1.9.2
OpenAuth Yggdrasil library, with possibility to give an other authentication server, it also has its own auth server. Adrien "Litarvan" Navratil, Valentin "Vavaballz" Java LGPL 1.0.0-1.9.2
text An open-source MIT-licensed library for working with text from Minecraft. Jamie Mansfield Java MIT 1.11.2
JMCCC A powerful open-source library for launching and downloading Minecraft. to2mbn Java MIT All
minecraft-launcher-lib A library for installing and lauching Minecraft. It also have functions for Yggdrasil. JakobDev Python BSD All
Adventure A serverside user interface library for Minecraft: Java Edition Kyori Java MIT All
Komponent An easy to use, fast and lightweight Minecraft chat component library, written in Kotlin Callum Seabrook Kotlin MIT All (Tested on 1.16.5)
SchematicJS A JavaScript/TypeScript library for loading schematic files EngineHub JavaScript GPL n/a
SchematicWebViewer A JavaScript/TypeScript library for rendering schematic files in a web canvas EngineHub JavaScript GPL n/a