Difference between revisions of "Library List"

From wiki.vg
Jump to navigation Jump to search
(Added link to packetevents gpl license)
(42 intermediate revisions by 23 users not shown)
Line 9: Line 9:
 
!License
 
!License
 
!Last Version Supported
 
!Last Version Supported
 +
|-
 +
! [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]
 +
| 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]
 +
| 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.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 30: Line 92:
 
| {{MIT}}
 
| {{MIT}}
 
| {{yes|1.9.2}}
 
| {{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]
 
! [https://github.com/hawezo/MojangSharp MojangSharp]
Line 54: Line 123:
 
! [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.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]
 
! [https://github.com/plushmonkey/mclib mclib]
Line 67: Line 143:
 
|-
 
|-
 
! [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.13.2}}
+
| {{yes|1.8-1.15.2}}
 
|-
 
|-
 
! [https://github.com/ammaraskar/pyCraft pyCraft]
 
! [https://github.com/ammaraskar/pyCraft pyCraft]
Line 78: Line 154:
 
| {{Python}}
 
| {{Python}}
 
| {{Apache}}
 
| {{Apache}}
| {{yes|1.14.2}}
+
| {{yes|1.15.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.6.4-1.14.3}}
+
| {{yes|1.17.1}}
 
|-
 
|-
 
! [https://github.com/C4K3/Ozelot Ozelot]
 
! [https://github.com/C4K3/Ozelot Ozelot]
Line 241: Line 317:
 
| {{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 have 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}}
 
|}
 
|}
  
 
[[Category:Minecraft Modern]]
 
[[Category:Minecraft Modern]]

Revision as of 05:27, 1 March 2022

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
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 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.17.1
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
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