Difference between revisions of "Library List"
Jump to navigation
Jump to search
m (added modern java NBT library) |
(add minestom scratch) |
||
(26 intermediate revisions by 17 users not shown) | |||
Line 9: | Line 9: | ||
!License | !License | ||
!Last Version Supported | !Last Version Supported | ||
+ | |- | ||
+ | ! [https://github.com/Minestom/Minestom/tree/lib-module/scratch Minestom Scratch] | ||
+ | | Leverage Minestom's utilities to create a custom server with your own control flow. | ||
+ | | [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}} | ||
+ | | LGPLv3 | ||
+ | | {{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] | ! [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] | | [https://github.com/iBuyMountainDew iBuyMountainDew] | ||
| {{Java}} | | {{Java}} | ||
Line 25: | Line 96: | ||
| {{yes|1.17-All}} | | {{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. | | 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://github.com/Twister915 Joey (Twister915)] | ||
Line 99: | 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 110: | Line 181: | ||
| [http://nodejs.org/ node.js] | | [http://nodejs.org/ node.js] | ||
| {{BSD}} | | {{BSD}} | ||
− | | {{yes|1.7-1. | + | | {{yes|1.7-1.20.1}} |
|- | |- | ||
! [https://github.com/PassTheMayo/minecraft-server-util minecraft-server-util] | ! [https://github.com/PassTheMayo/minecraft-server-util minecraft-server-util] | ||
Line 138: | Line 209: | ||
| {{Python}} | | {{Python}} | ||
| {{Apache}} | | {{Apache}} | ||
− | | {{yes|1. | + | | {{yes|1.8-1.18.1}} |
|- | |- | ||
− | ! [http://github.com/ | + | ! [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. | + | | {{yes|1.16.5-1.20.2}} |
|- | |- | ||
! [https://github.com/C4K3/Ozelot Ozelot] | ! [https://github.com/C4K3/Ozelot Ozelot] | ||
Line 200: | Line 271: | ||
| axus | | axus | ||
| {{C++}}, {{OpenGL}} | | {{C++}}, {{OpenGL}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| {{GPLv3}} | | {{GPLv3}} | ||
| {{no|1.1}} | | {{no|1.1}} | ||
Line 229: | Line 293: | ||
| {{C sharp}} | | {{C sharp}} | ||
| {{MIT}} | | {{MIT}} | ||
− | | {{yes|1.7. | + | | {{yes|1.7.9}} |
|- | |- | ||
! [https://github.com/MineLib/MineLib.Network MineLib.Network] | ! [https://github.com/MineLib/MineLib.Network MineLib.Network] | ||
Line 251: | Line 315: | ||
| {{BSD}} | | {{BSD}} | ||
| {{yes|1.5.2-1.7.9}} | | {{yes|1.5.2-1.7.9}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
! [https://github.com/Kronos666/mclaunch-util-lib mclaunch-util-lib] | ! [https://github.com/Kronos666/mclaunch-util-lib mclaunch-util-lib] | ||
Line 302: | Line 359: | ||
|- | |- | ||
! [https://pypi.org/project/minecraft-launcher-lib minecraft-launcher-lib] | ! [https://pypi.org/project/minecraft-launcher-lib minecraft-launcher-lib] | ||
− | | A library for installing and lauching Minecraft. It also | + | | A library for installing and lauching Minecraft. It also has functions for Yggdrasil. |
| [https://gitlab.com/JakobDev JakobDev] | | [https://gitlab.com/JakobDev JakobDev] | ||
| {{Python}} | | {{Python}} | ||
Line 314: | Line 371: | ||
| {{MIT}} | | {{MIT}} | ||
| {{yes|All}} | | {{yes|All}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
! [https://github.com/EngineHub/SchematicJS SchematicJS] | ! [https://github.com/EngineHub/SchematicJS SchematicJS] | ||
Line 328: | Line 378: | ||
| GPL | | GPL | ||
| n/a | | 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] | ! [https://github.com/EngineHub/SchematicWebViewer SchematicWebViewer] | ||
Line 335: | Line 392: | ||
| GPL | | GPL | ||
| n/a | | 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 |