Difference between revisions of "Library List"

From wiki.vg
Jump to navigation Jump to search
(add CmlLib (C# Launcher Library))
(add minestom scratch)
 
(51 intermediate revisions by 30 users not shown)
Line 10: Line 10:
 
!Last Version Supported
 
!Last Version Supported
 
|-
 
|-
! [https://github.com/AlphaBs/MinecraftLauncherLibrary CmlLib]
+
! [https://github.com/Minestom/Minestom/tree/lib-module/scratch Minestom Scratch]
| C# Game launcher library. Launch all version including forge, Download game, Yggdrasil Authentication
+
| Leverage Minestom's utilities to create a custom server with your own control flow.
| [https://github.com/AlphaBs AlphaBs]
+
| [https://github.com/Minestom/Minestom/graphs/contributors Contributors]
 +
| {{Java}}
 +
| [https://www.apache.org/licenses/LICENSE-2.0 Apache 2.0]
 +
| {{yes|1.21}}
 +
|-
 +
! [https://github.com/FlorianMichael/WaybackAuthLib WaybackAuthLib]
 +
| Addon for Mojang's AuthLib to support Yggdrasil authentication again
 +
| [https://github.com/FlorianMichael FlorianMichael/EnZaXD]
 +
| {{Java}}
 +
| [https://www.apache.org/licenses/LICENSE-2.0 Apache 2.0]
 +
| {{yes|All}}
 +
|-
 +
|-
 +
! [https://github.com/RaphiMC/MinecraftAuth MinecraftAuth]
 +
| Simple and easy to use Microsoft authentication library (Java and Bedrock support). Implements 4 login flows (device code, credentials, JavaFX WebView window and local webserver), tokens serialization and tokens refreshing.
 +
| [https://github.com/RaphiMC RK_01/RaphiMC]
 +
| {{Java}}
 +
| {{LGPL}}
 +
| {{yes|All}}
 +
|-
 +
|-
 +
! [https://github.com/Lenni0451/MCPing MCPing]
 +
| A simple library to ping minecraft servers (Supports Bedrock and Java Edition)
 +
| [https://github.com/Lenni0451 Lenni0451]
 +
| {{Java}}
 +
| {{MIT}}
 +
| {{yes|b1.8-1.20.4}}
 +
|-
 +
|-
 +
! [https://github.com/Lenni0451/MCStructs MCStructs]
 +
| Java library that provides parser and implementations of NBT, SNBT, Text component and other minecraft data structures
 +
| [https://github.com/Lenni0451 Lenni0451]
 +
| {{Java}}
 +
| {{MIT}}
 +
| {{yes|1.7-1.20.4}}
 +
|-
 +
|-
 +
! [https://github.com/Defective4/Minecraft-MS-Authenticator Minecraft-MS-Authenticator]
 +
| A versy simple Microsoft authentication library with device code flow
 +
| [https://github.com/Defective4 Defective4]
 +
| {{Java}}
 +
| [http://www.apache.org/licenses/LICENSE-2.0.html Apache V2]
 +
| {{yes|All}}
 +
|-
 +
|-
 +
! [https://github.com/psu-de/MineSharp MineSharp]
 +
| A high-level API to create Minecraft Bots or interact with the fully implemented minecraft protocol.
 +
| [https://github.com/psu-de psu-de]
 +
| {{C sharp}}
 +
| {{GPLv3}}
 +
| {{yes|1.18 - 1.19.4}}
 +
|-
 +
|-
 +
! [https://github.com/CopperPenguin96/SmartNbt SmartNbt]
 +
| .NET Library for easy, simple, straightforward saving/loading of NBT files and data. Based on mstefarov's fNbt.
 +
| [https://github.com/CopperPenguin96 CopperPenguin96]
 
| {{C sharp}}
 
| {{C sharp}}
| [https://creativecommons.org/licenses/by-nc/4.0/ BY-NC 4.0]
+
| LGPLv3
 
| {{yes|All}}
 
| {{yes|All}}
 +
|-
 +
|-
 +
! [https://github.com/SpockBotMC/cpp-nbt cpp-nbt]
 +
| Header-only NBT serializer for modern C++
 +
| [https://github.com/nickelpro nickelpro]
 +
| {{C++}}
 +
| [https://en.wikipedia.org/wiki/Zlib_License zlib]
 +
| {{yes|All}}
 +
|-
 +
|-
 +
! [https://github.com/iBuyMountainDew/nbt nbt]
 +
| Flexible and intuitive library for reading and writing Minecraft's NBT format on the JVM, with emphasis on custom tags.
 +
| [https://github.com/iBuyMountainDew iBuyMountainDew]
 +
| {{Java}}
 +
| {{MIT}}
 +
| {{yes|All}}
 +
|-
 
|-
 
|-
 
! [https://github.com/Tnze/go-mc go-mc]
 
! [https://github.com/Tnze/go-mc go-mc]
Line 22: Line 94:
 
| [https://golang.org/ Go]
 
| [https://golang.org/ Go]
 
| {{MIT}}
 
| {{MIT}}
| {{yes|1.14.4}}
+
| {{yes|1.17-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]
 
! [https://github.com/Toranktto/CraftProtocol CraftProtocol]
Line 67: Line 170:
 
|-
 
|-
 
! [https://github.com/dividuum/fastmc fastmc]
 
! [https://github.com/dividuum/fastmc fastmc]
| Python packet parser/writer & utility library
+
| Python 2.7 packet parser/writer & utility library
 
| [http://dividuum.de Florian Wesch (dividuum)]
 
| [http://dividuum.de Florian Wesch (dividuum)]
 
| {{Python}}
 
| {{Python}}
Line 75: Line 178:
 
! [https://github.com/PrismarineJS/node-minecraft-protocol node-minecraft-protocol]
 
! [https://github.com/PrismarineJS/node-minecraft-protocol node-minecraft-protocol]
 
| npm install minecraft-protocol
 
| npm install minecraft-protocol
| [https://github.com/andrewrk andrewrk]
+
| [https://github.com/PrismarineJS PrismarineJS]
 
| [http://nodejs.org/ node.js]
 
| [http://nodejs.org/ node.js]
 
| {{BSD}}
 
| {{BSD}}
| {{yes|1.7-1.12}}
+
| {{yes|1.7-1.20.1}}
 +
|-
 +
! [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]
 
! [https://github.com/plushmonkey/mclib mclib]
Line 88: Line 198:
 
|-
 
|-
 
! [https://github.com/timmyrs/Phpcraft Phpcraft]
 
! [https://github.com/timmyrs/Phpcraft Phpcraft]
| A PHP library for all things Minecraft.
+
| A PHP library for all things Minecraft: Java Edition.
 
| [https://github.com/timmyrs timmyRS]
 
| [https://github.com/timmyrs timmyRS]
 
| {{PHP}}
 
| {{PHP}}
 
| {{MIT}}
 
| {{MIT}}
| {{yes|1.14.4}}
+
| {{yes|1.8-1.15.2}}
 
|-
 
|-
 
! [https://github.com/ammaraskar/pyCraft pyCraft]
 
! [https://github.com/ammaraskar/pyCraft pyCraft]
Line 99: Line 209:
 
| {{Python}}
 
| {{Python}}
 
| {{Apache}}
 
| {{Apache}}
| {{yes|1.8-1.14.3}}
+
| {{yes|1.8-1.18.1}}
 
|-
 
|-
! [http://github.com/Steveice10/MCProtocolLib MCProtocolLib]
+
! [http://github.com/GeyserMC/MCProtocolLib MCProtocolLib]
 
| Java implementation of the Minecraft protocol.
 
| Java implementation of the Minecraft protocol.
 
| Steveice10
 
| Steveice10
 
| {{Java}}
 
| {{Java}}
 
| {{MIT}}
 
| {{MIT}}
| {{yes|1.14.3}}
+
| {{yes|1.16.5-1.20.2}}
 
|-
 
|-
 
! [https://github.com/C4K3/Ozelot Ozelot]
 
! [https://github.com/C4K3/Ozelot Ozelot]
Line 161: Line 271:
 
| axus
 
| axus
 
| {{C++}}, {{OpenGL}}
 
| {{C++}}, {{OpenGL}}
| {{GPLv3}}
 
| {{no|1.1}}
 
|-
 
! [https://github.com/mave/mcproxy mcproxy]
 
| Minecraft Proxy (and bot) framework in C++
 
| mave
 
| {{C++}}
 
 
| {{GPLv3}}
 
| {{GPLv3}}
 
| {{no|1.1}}
 
| {{no|1.1}}
Line 190: Line 293:
 
| {{C sharp}}
 
| {{C sharp}}
 
| {{MIT}}
 
| {{MIT}}
| {{yes|1.7.4}}
+
| {{yes|1.7.9}}
 
|-
 
|-
 
! [https://github.com/MineLib/MineLib.Network MineLib.Network]
 
! [https://github.com/MineLib/MineLib.Network MineLib.Network]
Line 212: Line 315:
 
| {{BSD}}
 
| {{BSD}}
 
| {{yes|1.5.2-1.7.9}}
 
| {{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]
 
! [https://github.com/Kronos666/mclaunch-util-lib mclaunch-util-lib]
Line 262: Line 358:
 
| {{yes|All}}
 
| {{yes|All}}
 
|-
 
|-
! [https://github.com/barneygale/quarry Quarry]
+
! [https://pypi.org/project/minecraft-launcher-lib minecraft-launcher-lib]
| Quarry is a Python library that implements the Minecraft protocol.
+
| A library for installing and lauching Minecraft. It also has functions for Yggdrasil.  
| [http://github.com/barneygale barneygale]
+
| [https://gitlab.com/JakobDev JakobDev]
 
| {{Python}}
 
| {{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}}
 
| {{MIT}}
| {{yes|1.14.2}}
+
| {{yes|All}}
 
|-
 
|-
 +
! [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/Marcel-Baumgartner/SharpNetCraft SharpNetCraft]
 +
| A csharp networking library for minecraft
 +
| [https://github.com/Marcel-Baumgartner Marcel-Baumgartner]
 +
| {{C sharp}}
 +
| None
 +
| 1.17
 +
|-
 +
! [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
 +
|-
 +
! [https://github.com/hypothermic/erl_nbt erl_nbt]
 +
| NBT library for Erlang/Elixir/BEAM
 +
| [https://github.com/hypothermic/ hypothermic]
 +
| [https://www.erlang.org/ Erlang], [https://elixir-lang.org/ Elixir]
 +
| None
 +
| {{yes|All}}
 +
|-
 +
! [https://github.com/retrooper/packetevents/tree/2.0 packetevents]
 +
| A Java Minecraft protocol library.
 +
| [https://github.com/retrooper/ retrooper]
 +
| {{Java}}
 +
| [https://www.gnu.org/licenses/gpl-3.0.html GPLv3]
 +
| {{yes|1.7.10-1.18.2}}
 +
|-
 +
! [https://gitlab.com/seeklay/cubelib cubelib]
 +
| Minecraft protocol library for python that provides high-level abstraction for packets
 +
| [https://gitlab.com/seeklay seeklay]
 +
| {{Python}}
 +
| [http://www.gnu.org/copyleft/gpl.html GPLv3.0]
 +
| {{yes|1.8.x/1.12.2}}
 
|}
 
|}
  
 
[[Category:Minecraft Modern]]
 
[[Category:Minecraft Modern]]

Latest revision as of 12:30, 13 July 2024

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
Minestom Scratch Leverage Minestom's utilities to create a custom server with your own control flow. Contributors Java Apache 2.0 1.21
WaybackAuthLib Addon for Mojang's AuthLib to support Yggdrasil authentication again FlorianMichael/EnZaXD Java Apache 2.0 All
MinecraftAuth Simple and easy to use Microsoft authentication library (Java and Bedrock support). Implements 4 login flows (device code, credentials, JavaFX WebView window and local webserver), tokens serialization and tokens refreshing. RK_01/RaphiMC Java LGPL All
MCPing A simple library to ping minecraft servers (Supports Bedrock and Java Edition) Lenni0451 Java MIT b1.8-1.20.4
MCStructs Java library that provides parser and implementations of NBT, SNBT, Text component and other minecraft data structures Lenni0451 Java MIT 1.7-1.20.4
Minecraft-MS-Authenticator A versy simple Microsoft authentication library with device code flow Defective4 Java Apache V2 All
MineSharp A high-level API to create Minecraft Bots or interact with the fully implemented minecraft protocol. psu-de C# GPLv3 1.18 - 1.19.4
SmartNbt .NET Library for easy, simple, straightforward saving/loading of NBT files and data. Based on mstefarov's fNbt. CopperPenguin96 C# LGPLv3 All
cpp-nbt Header-only NBT serializer for modern C++ nickelpro C++ zlib All
nbt Flexible and intuitive library for reading and writing Minecraft's NBT format on the JVM, with emphasis on custom tags. iBuyMountainDew Java MIT All
go-mc Go library of network protocol, NBT, Yggdrasil, mca file and RCON and so on. Tnze Go MIT 1.17-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 2.7 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.20.1
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.8-1.18.1
MCProtocolLib Java implementation of the Minecraft protocol. Steveice10 Java MIT 1.16.5-1.20.2
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
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.9
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
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 has functions for Yggdrasil. JakobDev Python BSD All
Adventure A serverside user interface library for Minecraft: Java Edition Kyori Java MIT All
SchematicJS A JavaScript/TypeScript library for loading schematic files EngineHub JavaScript GPL n/a
SharpNetCraft A csharp networking library for minecraft Marcel-Baumgartner C# None 1.17
SchematicWebViewer A JavaScript/TypeScript library for rendering schematic files in a web canvas EngineHub JavaScript GPL n/a
erl_nbt NBT library for Erlang/Elixir/BEAM hypothermic Erlang, Elixir None All
packetevents A Java Minecraft protocol library. retrooper Java GPLv3 1.7.10-1.18.2
cubelib Minecraft protocol library for python that provides high-level abstraction for packets seeklay Python GPLv3.0 1.8.x/1.12.2