https://wiki.vg/api.php?action=feedcontributions&user=Hawezo&feedformat=atom
wiki.vg - User contributions [en]
2024-03-29T13:25:59Z
User contributions
MediaWiki 1.34.4
https://wiki.vg/index.php?title=Library_List&diff=13273
Library List
2017-08-03T10:10:31Z
<p>Hawezo: Added link to SirCmpwn and Hawezo's GitHub</p>
<hr />
<div>{{ToolsNavbox}}<br />
This is a rather incomplete list of Minecraft related libraries finished or currently in development.<br />
{| class="wikitable sortable" style="width: auto; text-align: center;"<br />
|-style="background:#eee"<br />
!Name<br />
!class="unsortable"|Description<br />
!Author(s)<br />
!Language<br />
!License<br />
!Last Version Supported<br />
|-<br />
! [https://github.com/McEx/McProtocol McProtocol]<br />
| Packets, NBT, Login, Proxy<br />
| hansihe<br />
| [http://elixir-lang.org/ Elixir]<br />
| {{MIT}}<br />
| {{yes|1.9.2}}<br />
|-<br />
! [https://github.com/hawezo/MojangSharp MojangSharp]<br />
| .NET wrapper for Mojang API<br />
| [https://github.com/hawezo Enzo Innocenzi (Hawezo)]<br />
| {{C sharp}}<br />
| {{Apache}}<br />
| {{yes|All}}<br />
|-<br />
! [https://github.com/SirCmpwn/Craft.Net Craft.Net]<br />
| .NET Minecraft client, server, and data manipulation library<br />
| [https://github.com/SirCmpwn Drew DeVault (SirCmpwn)]<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{yes|1.7.5}}<br />
|-<br />
! [https://github.com/dividuum/fastmc fastmc]<br />
| Python packet parser/writer & utility library<br />
| [http://dividuum.de Florian Wesch (dividuum)]<br />
| {{Python}}<br />
| {{MIT}}<br />
| {{yes|1.7/1.8}}<br />
|-<br />
! [https://github.com/PrismarineJS/node-minecraft-protocol node-minecraft-protocol]<br />
| npm install minecraft-protocol<br />
| [https://github.com/andrewrk andrewrk]<br />
| [http://nodejs.org/ node.js]<br />
| {{BSD}}<br />
| {{yes|1.7-1.12}}<br />
|-<br />
! [https://github.com/plushmonkey/mclib mclib]<br />
| C++ library for creating clients<br />
| [https://github.com/plushmonkey plushmonkey]<br />
| {{C++}}<br />
| {{MIT}}<br />
| {{yes|1.10-1.12}}<br />
|-<br />
! [https://github.com/ammaraskar/pyCraft pyCraft]<br />
| Python minecraft client library<br />
| [http://ammaraskar.com/ Ammar Askar (ammaraskar)], [https://github.com/dkkline Jeppe Klitgaard (Dkkline)]<br />
| {{Python}}<br />
| {{Apache}}<br />
| {{yes|1.12}}<br />
|-<br />
! [http://github.com/Steveice10/MCProtocolLib MCProtocolLib]<br />
| Java implementation of the Minecraft protocol.<br />
| Steveice10<br />
| {{Java}}<br />
| {{MIT}}<br />
| {{yes|1.6.4-1.11.2}}<br />
|-<br />
! [https://github.com/C4K3/Ozelot Ozelot]<br />
| Rust implementation of MCMODERN networking<br />
| C4K3<br />
| {{Rust}}<br />
| Public domain<br />
| {{yes|1.11.2}}<br />
|-<br />
! [https://github.com/ags131/SharpMinecraftLibrary SharpMinecraftLibrary]<br />
|<br />
| ags131, electronicboy<br />
| {{C sharp}}<br />
| {{unknown}}<br />
| {{no|1.6.2 (Partial)}}<br />
|-<br />
! [https://github.com/pdelvo/Pdelvo.Minecraft Pdelvos Protocol Implementation]<br />
| .NET client/server protocol library with support for several versions.<br />
| pdelvo<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{no|1.5.2}}<br />
|-<br />
! [https://github.com/shoghicp/Minecraft-PHP-Client-2 Minecraft PHP Client 2]<br />
| PHP client and protocol library. With events, actions and API<br />
| [https://twitter.com/shoghicp shoghicp]<br />
| {{PHP}}<br />
| {{WTFPL}}<br />
| {{no|1.5.1}}<br />
|-<br />
! [https://github.com/deoxxa/libmcnet libmcnet]<br />
| Event based, zero-copy, portable Minecraft network protocol parser<br />
| deoxxa<br />
| {{C}}<br />
| {{BSD}}<br />
| {{no|1.4}}<br />
|-<br />
! [https://github.com/deoxxa/node-mcnet node-mcnet]<br />
| Node.JS bindings to [https://github.com/deoxxa/libmcnet libmcnet]<br />
| deoxxa<br />
| {{JavaScript}}, [http://nodejs.org/ node.js]<br />
| {{BSD}}<br />
| {{no|1.3.2}}<br />
|-<br />
! [https://github.com/Maincraft/MCPackets MCPackets]<br />
| Java Minecraft protocol library<br />
| main()<br />
| {{Java}}<br />
| {{unknown}}<br />
| {{no|1.2.5}}<br />
|-<br />
! [https://github.com/axus/libmc--c libmc--c]<br />
| World representation data structures and OpenGL drawing functions.<br />
| axus<br />
| {{C++}}, {{OpenGL}}<br />
| {{GPLv3}}<br />
| {{no|1.1}}<br />
|-<br />
! [https://github.com/mave/mcproxy mcproxy]<br />
| Minecraft Proxy (and bot) framework in C++<br />
| mave<br />
| {{C++}}<br />
| {{GPLv3}}<br />
| {{no|1.1}}<br />
|-<br />
! [https://github.com/fragmer/fNbt fNbt]<br />
| Reading, writing, and manipulating NBT files and streams, for .NET<br />
| [http://matvei.org/ Matvei Stefarov (fragmer)]<br />
| {{C sharp}}<br />
| {{BSD}}<br />
| n/a<br />
|-<br />
! [https://gist.github.com/Jckf/7872337 Yggdrasil.php]<br />
| Interfacing with Mojang's Yggdrasil authentication system.<br />
| [http://www.jckf.no/ Jim C K Flaten (Jckf)]<br />
| {{PHP}}<br />
| {{unknown}}<br />
| n/a<br />
|-<br />
! [https://github.com/umby24/libMC.NET libMC.Net]<br />
| .NET Minecraft interaction library<br />
| [http://umby.d3s.co/ umby24]<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{yes|1.7.4}}<br />
|-<br />
! [https://github.com/MineLib/MineLib.Network MineLib.Network]<br />
| .NET Minecraft network client interaction library.<br />
| [https://github.com/Aragas Aragas (Aragasas)]<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{yes|1.8}}<br />
|-<br />
! [https://github.com/Evil-Co/NBT-Lib NBT-Lib]<br />
| Allows reading, writing and modification of NBT files and streams.<br />
| [http://www.evil-co.org Evil-Co]<br />
| {{Java}}<br />
| {{Apache}}<br />
| n/a<br />
|-<br />
! [https://github.com/DarkStorm652/DarkBot DarkBot]<br />
| Minecraft client, automation (AI) platform, and modular protocol library<br />
| [https://github.com/DarkStorm652 DarkStorm]<br />
| {{Java}}<br />
| {{BSD}}<br />
| {{yes|1.5.2-1.7.9}}<br />
|-<br />
! [https://bitbucket.org/socolin/nbtfield/ NBTField]<br />
| Another NBT library in C++<br />
| [https://bitbucket.org/socolin/ Socolin]<br />
| {{C++}}<br />
| {{MIT}}<br />
| n/a<br />
|-<br />
! [https://github.com/Kronos666/mclaunch-util-lib mclaunch-util-lib]<br />
| Yggdrasil library in Java, has handy features for launchers.<br />
| [https://github.com/Kronos666 Kronos]<br />
| {{Java}}<br />
| {{MIT}}<br />
| n/a<br />
|-<br />
! [https://github.com/Litarvan/OpenLauncherLib/ OpenLauncherLib]<br />
| Minecraft launching library written from scratch<br />
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil]<br />
| {{Java}}<br />
| {{LGPL}}<br />
| {{yes|1.0.0-1.9.2}}<br />
|-<br />
! [https://github.com/Litarvan/S-Update/ S-Update]<br />
| Powerful and simple Java update system, with Minecraft support. Works with a PHP Server<br />
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil]<br />
| {{Java}}<br />
| {{LGPL}}<br />
| {{yes|1.0.0-1.9.2}}<br />
|-<br />
! [https://github.com/Litarvan/OpenAuth/ OpenAuth]<br />
| Yggdrasil library, with possibility to give an other authentication server, it also has its own auth server.<br />
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil, Valentin "Vavaballz"]<br />
| {{Java}}<br />
| {{LGPL}}<br />
| {{yes|1.0.0-1.9.2}}<br />
|-<br />
! [https://github.com/jamiemansfield/text text]<br />
| An open-source MIT-licensed library for working with text from Minecraft.<br />
| [https://www.jamierocks.uk/ Jamie Mansfield]<br />
| {{Java}}<br />
| {{MIT}}<br />
| {{yes|1.11.2}}<br />
|-<br />
|}<br />
<br />
[[Category:Minecraft Modern]]</div>
Hawezo
https://wiki.vg/index.php?title=Library_List&diff=13272
Library List
2017-08-03T10:08:30Z
<p>Hawezo: Added "finished or" to the first line statement.</p>
<hr />
<div>{{ToolsNavbox}}<br />
This is a rather incomplete list of Minecraft related libraries finished or currently in development.<br />
{| class="wikitable sortable" style="width: auto; text-align: center;"<br />
|-style="background:#eee"<br />
!Name<br />
!class="unsortable"|Description<br />
!Author(s)<br />
!Language<br />
!License<br />
!Last Version Supported<br />
|-<br />
! [https://github.com/McEx/McProtocol McProtocol]<br />
| Packets, NBT, Login, Proxy<br />
| hansihe<br />
| [http://elixir-lang.org/ Elixir]<br />
| {{MIT}}<br />
| {{yes|1.9.2}}<br />
|-<br />
! [https://github.com/hawezo/MojangSharp MojangSharp]<br />
| .NET wrapper for Mojang API<br />
| Enzo Innocenzi (Hawezo)<br />
| {{C sharp}}<br />
| {{Apache}}<br />
| {{yes|All}}<br />
|-<br />
! [https://github.com/SirCmpwn/Craft.Net Craft.Net]<br />
| .NET Minecraft client, server, and data manipulation library<br />
| Drew DeVault (SirCmpwn)<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{yes|1.7.5}}<br />
|-<br />
! [https://github.com/dividuum/fastmc fastmc]<br />
| Python packet parser/writer & utility library<br />
| [http://dividuum.de Florian Wesch (dividuum)]<br />
| {{Python}}<br />
| {{MIT}}<br />
| {{yes|1.7/1.8}}<br />
|-<br />
! [https://github.com/PrismarineJS/node-minecraft-protocol node-minecraft-protocol]<br />
| npm install minecraft-protocol<br />
| [https://github.com/andrewrk andrewrk]<br />
| [http://nodejs.org/ node.js]<br />
| {{BSD}}<br />
| {{yes|1.7-1.12}}<br />
|-<br />
! [https://github.com/plushmonkey/mclib mclib]<br />
| C++ library for creating clients<br />
| [https://github.com/plushmonkey plushmonkey]<br />
| {{C++}}<br />
| {{MIT}}<br />
| {{yes|1.10-1.12}}<br />
|-<br />
! [https://github.com/ammaraskar/pyCraft pyCraft]<br />
| Python minecraft client library<br />
| [http://ammaraskar.com/ Ammar Askar (ammaraskar)], [https://github.com/dkkline Jeppe Klitgaard (Dkkline)]<br />
| {{Python}}<br />
| {{Apache}}<br />
| {{yes|1.12}}<br />
|-<br />
! [http://github.com/Steveice10/MCProtocolLib MCProtocolLib]<br />
| Java implementation of the Minecraft protocol.<br />
| Steveice10<br />
| {{Java}}<br />
| {{MIT}}<br />
| {{yes|1.6.4-1.11.2}}<br />
|-<br />
! [https://github.com/C4K3/Ozelot Ozelot]<br />
| Rust implementation of MCMODERN networking<br />
| C4K3<br />
| {{Rust}}<br />
| Public domain<br />
| {{yes|1.11.2}}<br />
|-<br />
! [https://github.com/ags131/SharpMinecraftLibrary SharpMinecraftLibrary]<br />
|<br />
| ags131, electronicboy<br />
| {{C sharp}}<br />
| {{unknown}}<br />
| {{no|1.6.2 (Partial)}}<br />
|-<br />
! [https://github.com/pdelvo/Pdelvo.Minecraft Pdelvos Protocol Implementation]<br />
| .NET client/server protocol library with support for several versions.<br />
| pdelvo<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{no|1.5.2}}<br />
|-<br />
! [https://github.com/shoghicp/Minecraft-PHP-Client-2 Minecraft PHP Client 2]<br />
| PHP client and protocol library. With events, actions and API<br />
| [https://twitter.com/shoghicp shoghicp]<br />
| {{PHP}}<br />
| {{WTFPL}}<br />
| {{no|1.5.1}}<br />
|-<br />
! [https://github.com/deoxxa/libmcnet libmcnet]<br />
| Event based, zero-copy, portable Minecraft network protocol parser<br />
| deoxxa<br />
| {{C}}<br />
| {{BSD}}<br />
| {{no|1.4}}<br />
|-<br />
! [https://github.com/deoxxa/node-mcnet node-mcnet]<br />
| Node.JS bindings to [https://github.com/deoxxa/libmcnet libmcnet]<br />
| deoxxa<br />
| {{JavaScript}}, [http://nodejs.org/ node.js]<br />
| {{BSD}}<br />
| {{no|1.3.2}}<br />
|-<br />
! [https://github.com/Maincraft/MCPackets MCPackets]<br />
| Java Minecraft protocol library<br />
| main()<br />
| {{Java}}<br />
| {{unknown}}<br />
| {{no|1.2.5}}<br />
|-<br />
! [https://github.com/axus/libmc--c libmc--c]<br />
| World representation data structures and OpenGL drawing functions.<br />
| axus<br />
| {{C++}}, {{OpenGL}}<br />
| {{GPLv3}}<br />
| {{no|1.1}}<br />
|-<br />
! [https://github.com/mave/mcproxy mcproxy]<br />
| Minecraft Proxy (and bot) framework in C++<br />
| mave<br />
| {{C++}}<br />
| {{GPLv3}}<br />
| {{no|1.1}}<br />
|-<br />
! [https://github.com/fragmer/fNbt fNbt]<br />
| Reading, writing, and manipulating NBT files and streams, for .NET<br />
| [http://matvei.org/ Matvei Stefarov (fragmer)]<br />
| {{C sharp}}<br />
| {{BSD}}<br />
| n/a<br />
|-<br />
! [https://gist.github.com/Jckf/7872337 Yggdrasil.php]<br />
| Interfacing with Mojang's Yggdrasil authentication system.<br />
| [http://www.jckf.no/ Jim C K Flaten (Jckf)]<br />
| {{PHP}}<br />
| {{unknown}}<br />
| n/a<br />
|-<br />
! [https://github.com/umby24/libMC.NET libMC.Net]<br />
| .NET Minecraft interaction library<br />
| [http://umby.d3s.co/ umby24]<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{yes|1.7.4}}<br />
|-<br />
! [https://github.com/MineLib/MineLib.Network MineLib.Network]<br />
| .NET Minecraft network client interaction library.<br />
| [https://github.com/Aragas Aragas (Aragasas)]<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{yes|1.8}}<br />
|-<br />
! [https://github.com/Evil-Co/NBT-Lib NBT-Lib]<br />
| Allows reading, writing and modification of NBT files and streams.<br />
| [http://www.evil-co.org Evil-Co]<br />
| {{Java}}<br />
| {{Apache}}<br />
| n/a<br />
|-<br />
! [https://github.com/DarkStorm652/DarkBot DarkBot]<br />
| Minecraft client, automation (AI) platform, and modular protocol library<br />
| [https://github.com/DarkStorm652 DarkStorm]<br />
| {{Java}}<br />
| {{BSD}}<br />
| {{yes|1.5.2-1.7.9}}<br />
|-<br />
! [https://bitbucket.org/socolin/nbtfield/ NBTField]<br />
| Another NBT library in C++<br />
| [https://bitbucket.org/socolin/ Socolin]<br />
| {{C++}}<br />
| {{MIT}}<br />
| n/a<br />
|-<br />
! [https://github.com/Kronos666/mclaunch-util-lib mclaunch-util-lib]<br />
| Yggdrasil library in Java, has handy features for launchers.<br />
| [https://github.com/Kronos666 Kronos]<br />
| {{Java}}<br />
| {{MIT}}<br />
| n/a<br />
|-<br />
! [https://github.com/Litarvan/OpenLauncherLib/ OpenLauncherLib]<br />
| Minecraft launching library written from scratch<br />
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil]<br />
| {{Java}}<br />
| {{LGPL}}<br />
| {{yes|1.0.0-1.9.2}}<br />
|-<br />
! [https://github.com/Litarvan/S-Update/ S-Update]<br />
| Powerful and simple Java update system, with Minecraft support. Works with a PHP Server<br />
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil]<br />
| {{Java}}<br />
| {{LGPL}}<br />
| {{yes|1.0.0-1.9.2}}<br />
|-<br />
! [https://github.com/Litarvan/OpenAuth/ OpenAuth]<br />
| Yggdrasil library, with possibility to give an other authentication server, it also has its own auth server.<br />
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil, Valentin "Vavaballz"]<br />
| {{Java}}<br />
| {{LGPL}}<br />
| {{yes|1.0.0-1.9.2}}<br />
|-<br />
! [https://github.com/jamiemansfield/text text]<br />
| An open-source MIT-licensed library for working with text from Minecraft.<br />
| [https://www.jamierocks.uk/ Jamie Mansfield]<br />
| {{Java}}<br />
| {{MIT}}<br />
| {{yes|1.11.2}}<br />
|-<br />
|}<br />
<br />
[[Category:Minecraft Modern]]</div>
Hawezo
https://wiki.vg/index.php?title=Library_List&diff=13271
Library List
2017-08-03T10:07:46Z
<p>Hawezo: Added MojangSharp to the list</p>
<hr />
<div>{{ToolsNavbox}}<br />
This is a rather incomplete list of Minecraft related libraries currently in development.<br />
{| class="wikitable sortable" style="width: auto; text-align: center;"<br />
|-style="background:#eee"<br />
!Name<br />
!class="unsortable"|Description<br />
!Author(s)<br />
!Language<br />
!License<br />
!Last Version Supported<br />
|-<br />
! [https://github.com/McEx/McProtocol McProtocol]<br />
| Packets, NBT, Login, Proxy<br />
| hansihe<br />
| [http://elixir-lang.org/ Elixir]<br />
| {{MIT}}<br />
| {{yes|1.9.2}}<br />
|-<br />
! [https://github.com/hawezo/MojangSharp MojangSharp]<br />
| .NET wrapper for Mojang API<br />
| Enzo Innocenzi (Hawezo)<br />
| {{C sharp}}<br />
| {{Apache}}<br />
| {{yes|All}}<br />
|-<br />
! [https://github.com/SirCmpwn/Craft.Net Craft.Net]<br />
| .NET Minecraft client, server, and data manipulation library<br />
| Drew DeVault (SirCmpwn)<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{yes|1.7.5}}<br />
|-<br />
! [https://github.com/dividuum/fastmc fastmc]<br />
| Python packet parser/writer & utility library<br />
| [http://dividuum.de Florian Wesch (dividuum)]<br />
| {{Python}}<br />
| {{MIT}}<br />
| {{yes|1.7/1.8}}<br />
|-<br />
! [https://github.com/PrismarineJS/node-minecraft-protocol node-minecraft-protocol]<br />
| npm install minecraft-protocol<br />
| [https://github.com/andrewrk andrewrk]<br />
| [http://nodejs.org/ node.js]<br />
| {{BSD}}<br />
| {{yes|1.7-1.12}}<br />
|-<br />
! [https://github.com/plushmonkey/mclib mclib]<br />
| C++ library for creating clients<br />
| [https://github.com/plushmonkey plushmonkey]<br />
| {{C++}}<br />
| {{MIT}}<br />
| {{yes|1.10-1.12}}<br />
|-<br />
! [https://github.com/ammaraskar/pyCraft pyCraft]<br />
| Python minecraft client library<br />
| [http://ammaraskar.com/ Ammar Askar (ammaraskar)], [https://github.com/dkkline Jeppe Klitgaard (Dkkline)]<br />
| {{Python}}<br />
| {{Apache}}<br />
| {{yes|1.12}}<br />
|-<br />
! [http://github.com/Steveice10/MCProtocolLib MCProtocolLib]<br />
| Java implementation of the Minecraft protocol.<br />
| Steveice10<br />
| {{Java}}<br />
| {{MIT}}<br />
| {{yes|1.6.4-1.11.2}}<br />
|-<br />
! [https://github.com/C4K3/Ozelot Ozelot]<br />
| Rust implementation of MCMODERN networking<br />
| C4K3<br />
| {{Rust}}<br />
| Public domain<br />
| {{yes|1.11.2}}<br />
|-<br />
! [https://github.com/ags131/SharpMinecraftLibrary SharpMinecraftLibrary]<br />
|<br />
| ags131, electronicboy<br />
| {{C sharp}}<br />
| {{unknown}}<br />
| {{no|1.6.2 (Partial)}}<br />
|-<br />
! [https://github.com/pdelvo/Pdelvo.Minecraft Pdelvos Protocol Implementation]<br />
| .NET client/server protocol library with support for several versions.<br />
| pdelvo<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{no|1.5.2}}<br />
|-<br />
! [https://github.com/shoghicp/Minecraft-PHP-Client-2 Minecraft PHP Client 2]<br />
| PHP client and protocol library. With events, actions and API<br />
| [https://twitter.com/shoghicp shoghicp]<br />
| {{PHP}}<br />
| {{WTFPL}}<br />
| {{no|1.5.1}}<br />
|-<br />
! [https://github.com/deoxxa/libmcnet libmcnet]<br />
| Event based, zero-copy, portable Minecraft network protocol parser<br />
| deoxxa<br />
| {{C}}<br />
| {{BSD}}<br />
| {{no|1.4}}<br />
|-<br />
! [https://github.com/deoxxa/node-mcnet node-mcnet]<br />
| Node.JS bindings to [https://github.com/deoxxa/libmcnet libmcnet]<br />
| deoxxa<br />
| {{JavaScript}}, [http://nodejs.org/ node.js]<br />
| {{BSD}}<br />
| {{no|1.3.2}}<br />
|-<br />
! [https://github.com/Maincraft/MCPackets MCPackets]<br />
| Java Minecraft protocol library<br />
| main()<br />
| {{Java}}<br />
| {{unknown}}<br />
| {{no|1.2.5}}<br />
|-<br />
! [https://github.com/axus/libmc--c libmc--c]<br />
| World representation data structures and OpenGL drawing functions.<br />
| axus<br />
| {{C++}}, {{OpenGL}}<br />
| {{GPLv3}}<br />
| {{no|1.1}}<br />
|-<br />
! [https://github.com/mave/mcproxy mcproxy]<br />
| Minecraft Proxy (and bot) framework in C++<br />
| mave<br />
| {{C++}}<br />
| {{GPLv3}}<br />
| {{no|1.1}}<br />
|-<br />
! [https://github.com/fragmer/fNbt fNbt]<br />
| Reading, writing, and manipulating NBT files and streams, for .NET<br />
| [http://matvei.org/ Matvei Stefarov (fragmer)]<br />
| {{C sharp}}<br />
| {{BSD}}<br />
| n/a<br />
|-<br />
! [https://gist.github.com/Jckf/7872337 Yggdrasil.php]<br />
| Interfacing with Mojang's Yggdrasil authentication system.<br />
| [http://www.jckf.no/ Jim C K Flaten (Jckf)]<br />
| {{PHP}}<br />
| {{unknown}}<br />
| n/a<br />
|-<br />
! [https://github.com/umby24/libMC.NET libMC.Net]<br />
| .NET Minecraft interaction library<br />
| [http://umby.d3s.co/ umby24]<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{yes|1.7.4}}<br />
|-<br />
! [https://github.com/MineLib/MineLib.Network MineLib.Network]<br />
| .NET Minecraft network client interaction library.<br />
| [https://github.com/Aragas Aragas (Aragasas)]<br />
| {{C sharp}}<br />
| {{MIT}}<br />
| {{yes|1.8}}<br />
|-<br />
! [https://github.com/Evil-Co/NBT-Lib NBT-Lib]<br />
| Allows reading, writing and modification of NBT files and streams.<br />
| [http://www.evil-co.org Evil-Co]<br />
| {{Java}}<br />
| {{Apache}}<br />
| n/a<br />
|-<br />
! [https://github.com/DarkStorm652/DarkBot DarkBot]<br />
| Minecraft client, automation (AI) platform, and modular protocol library<br />
| [https://github.com/DarkStorm652 DarkStorm]<br />
| {{Java}}<br />
| {{BSD}}<br />
| {{yes|1.5.2-1.7.9}}<br />
|-<br />
! [https://bitbucket.org/socolin/nbtfield/ NBTField]<br />
| Another NBT library in C++<br />
| [https://bitbucket.org/socolin/ Socolin]<br />
| {{C++}}<br />
| {{MIT}}<br />
| n/a<br />
|-<br />
! [https://github.com/Kronos666/mclaunch-util-lib mclaunch-util-lib]<br />
| Yggdrasil library in Java, has handy features for launchers.<br />
| [https://github.com/Kronos666 Kronos]<br />
| {{Java}}<br />
| {{MIT}}<br />
| n/a<br />
|-<br />
! [https://github.com/Litarvan/OpenLauncherLib/ OpenLauncherLib]<br />
| Minecraft launching library written from scratch<br />
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil]<br />
| {{Java}}<br />
| {{LGPL}}<br />
| {{yes|1.0.0-1.9.2}}<br />
|-<br />
! [https://github.com/Litarvan/S-Update/ S-Update]<br />
| Powerful and simple Java update system, with Minecraft support. Works with a PHP Server<br />
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil]<br />
| {{Java}}<br />
| {{LGPL}}<br />
| {{yes|1.0.0-1.9.2}}<br />
|-<br />
! [https://github.com/Litarvan/OpenAuth/ OpenAuth]<br />
| Yggdrasil library, with possibility to give an other authentication server, it also has its own auth server.<br />
| [https://github.com/Litarvan/ Adrien "Litarvan" Navratil, Valentin "Vavaballz"]<br />
| {{Java}}<br />
| {{LGPL}}<br />
| {{yes|1.0.0-1.9.2}}<br />
|-<br />
! [https://github.com/jamiemansfield/text text]<br />
| An open-source MIT-licensed library for working with text from Minecraft.<br />
| [https://www.jamierocks.uk/ Jamie Mansfield]<br />
| {{Java}}<br />
| {{MIT}}<br />
| {{yes|1.11.2}}<br />
|-<br />
|}<br />
<br />
[[Category:Minecraft Modern]]</div>
Hawezo
https://wiki.vg/index.php?title=Mojang_API&diff=13270
Mojang API
2017-08-03T09:54:07Z
<p>Hawezo: Added MojangSharp as an example of wrapper</p>
<hr />
<div><br />
== Notes ==<br />
<br />
* All public APIs are rate limited so you are expected to cache the results. This is currently set at 600 requests per 10 minutes but this may change.<br />
* For some parts of the API, demo accounts are sometimes included, sometimes not. Mojang keeps changing this.<br />
<br />
== API Status ==<br />
<br />
GET https://status.mojang.com/check<br />
<br />
Returns status of various Mojang services. Possible values are <code>green</code> (no issues), <code>yellow</code> (some issues), <code>red</code> (service unavailable).<br />
<br />
=== Response ===<br />
<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
[<br />
{<br />
"minecraft.net": "yellow"<br />
},<br />
{<br />
"session.minecraft.net": "green"<br />
},<br />
{<br />
"account.mojang.com": "green"<br />
},<br />
{<br />
"auth.mojang.com": "green"<br />
},<br />
{<br />
"skins.minecraft.net": "green"<br />
},<br />
{<br />
"authserver.mojang.com": "green"<br />
},<br />
{<br />
"sessionserver.mojang.com": "yellow"<br />
},<br />
{<br />
"api.mojang.com": "green"<br />
},<br />
{<br />
"textures.minecraft.net": "red"<br />
},<br />
{<br />
"mojang.com": "green"<br />
}<br />
]<br />
</syntaxhighlight><br />
<br />
== Username -> UUID at time ==<br />
<br />
GET <nowiki>https://api.mojang.com/users/profiles/minecraft/<username>?at=<timestamp></nowiki><br />
<br />
This will return the uuid of the name at the timestamp provided.<br />
<br />
<code>?at=0</code> can be used to get the UUID of the original user of that username, however it only works if the name was changed at least once, or if the account is legacy.<br />
<br />
* The timestamp is a [[wikipedia:Unix time|UNIX timestamp]] (without milliseconds)<br />
* When the <code>at</code> parameter is not sent, the current time is used<br />
<br />
=== Response ===<br />
<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
{<br />
"id": "7125ba8b1c864508b92bb5c042ccfe2b",<br />
"name": "KrisJelbring"<br />
}<br />
</syntaxhighlight><br />
<br />
* <code>name</code> is the '''current name of that uuid''', it is '''not the name requested!'''<br />
* <code>legacy</code> only appears when true (not migrated to mojang account)<br />
* <code>demo</code> only appears when true (account unpaid)<br />
<br />
If there is no player with the given username an HTTP status code 204 (No Content) is sent without any HTTP body.<br /><br />
If the timestamp is not a number, too big or too small the HTTP status code 400 (Bad Request) is sent with an error message looking like this:<br />
<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
{<br />
"error": "IllegalArgumentException",<br />
"errorMessage": "Invalid timestamp."<br />
}<br />
</syntaxhighlight><br />
<br />
== UUID -> Name history ==<br />
<br />
<nowiki>GET https://api.mojang.com/user/profiles/<uuid>/names</nowiki><br />
<br />
Returns all the usernames this user has used in the past and the one they are using currently. The UUID must be given without hyphens.<br />
<br />
=== Response ===<br />
<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
[<br />
{<br />
"name": "Gold"<br />
},<br />
{<br />
"name": "Diamond",<br />
"changedToAt": 1414059749000<br />
}<br />
]<br />
</syntaxhighlight><br />
<br />
The <code>changedToAt</code> field is a Java timestamp in milliseconds.<br />
<br />
== Playernames -> UUIDs ==<br />
<br />
POST <nowiki>https://api.mojang.com/profiles/minecraft</nowiki><br />
<br />
This will return player UUIDS and some extras.<br />
<br />
=== Payload ===<br />
<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
[<br />
"maksimkurb",<br />
"nonExistingPlayer" //Test for non-existing player<br />
]<br />
</syntaxhighlight><br />
<br />
=== Response ===<br />
<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
[<br />
{<br />
"id": "0d252b7218b648bfb86c2ae476954d32",<br />
"name": "maksimkurb",<br />
"legacy": true,<br />
"demo": true<br />
}<br />
]<br />
</syntaxhighlight><br />
<br />
* name is case-corrected<br />
* legacy only appears when true (profile not migrated to mojang.com)<br />
* demo only appears when true (account unpaid)<br />
* IllegalArgumentException is returned when any of the usernames is null or ""<br />
* The <code>Content-Type</code> HTTP header must be <code>application/json</code><br />
* You cannot request more than 100 names per request<br />
<br />
== UUID -> Profile + Skin/Cape ==<br />
<br />
<nowiki>https://sessionserver.mojang.com/session/minecraft/profile/<uuid></nowiki><br />
<br />
This will return the player's username plus any additional information about them (e.g. skins). Example: https://sessionserver.mojang.com/session/minecraft/profile/4566e69fc90748ee8d71d7ba5aa00d20<br />
<br />
This has a much stricter rate limit: You can request the same profile once per minute, however you can send as many unique requests as you like.<br />
<br />
[[Category:Protocol Details]]<br />
[[Category:Minecraft Modern]]<br />
<br />
=== Response ===<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
{<br />
"id": "<profile identifier>",<br />
"name": "<player name>",<br />
"properties": [ <br />
{<br />
"name": "textures",<br />
"value": "<base64 string>",<br />
"signature": "<base64 string; signed data using Yggdrasil's private key>" // Only provided if ?unsigned=false is appended to url<br />
}<br />
]<br />
}<br />
</syntaxhighlight><br />
<br />
The "value" base64 string for the "textures" object decoded:<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
{<br />
"timestamp": <java time in ms>,<br />
"profileId": "<profile uuid>",<br />
"profileName": "<player name>",<br />
"signatureRequired": true, // Only present if ?unsigned=false is appended to url<br />
"textures": {<br />
"SKIN": {<br />
"url": "<player skin URL>"<br />
},<br />
"CAPE": {<br />
"url": "<player cape URL>"<br />
}<br />
}<br />
}<br />
</syntaxhighlight><br />
<br />
* The timestamp is sometimes in the past (probably due to cached results?)<br />
* The <code>"SKIN"</code> object will have <code>"metadata": {"model": "slim"}</code> if the player model has slim arms (“Alex?” style). For square arms (“Steve?” style), <code>"metadata"</code> will be missing.<br />
* If no custom skin has been set, <code>"SKIN"</code> will be missing.<br>Whether the player has the “Alex?” or “Steve?” skin depends on [http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/util/UUID.java#l394 the Java hashCode] of their UUID. Steve is used for even hashes. Example implementations:<br />
** [https://github.com/mapcrafter/mapcrafter-playermarkers/blob/c583dd9157a041a3c9ec5c68244f73b8d01ac37a/playermarkers/player.php#L8-L19 PHP]<br />
** [https://github.com/LapisBlue/Lapitar/blob/55ede80ce4ebb5ecc2b968164afb40f61b4cc509/mc/uuid.go#L34-L36 Go]<br />
** [https://github.com/crafatar/crafatar/blob/9d2fe0c45424de3ebc8e0b10f9446e7d5c3738b2/lib/skins.js#L90-L108 JavaScript] (includes explanation)<br />
** [https://gist.github.com/jomo/9968b8d572c38e1b1f4c#file-main-java-L4-L11 Java] (includes sample UUIDs)<br />
* Likewise <code>"CAPE"</code> will be missing if the account has no cape.<br />
<br />
== Change Skin ==<br />
POST <nowiki>https://api.mojang.com/user/profile/</nowiki>'''<uuid>'''/skin<br />
<br />
This will set the skin for the selected profile, but Mojang's servers will fetch the skin from a URL. This will also work for legacy accounts.<br />
<br />
=== Response ===<br />
Upon error the server will send back a JSON with the error. (Success is a blank payload)<br />
=== Headers ===<br />
Authorization: Bearer '''<access token>'''<br />
<br />
=== Payload ===<br />
The payload for this API consists of two url-encoded form fields (conjoined by '&').<br />
model='''<""/"slim">'''&url='''<skin url>'''<br />
<br />
model is an empty string for the default model and "slim" for the slim model<br />
=== Example ===<br />
curl -H "Authorization: Bearer '''<access token>'''" --data-urlencode "model=" --data-urlencode "url=<nowiki>http://assets.mojang.com/SkinTemplates/steve.png</nowiki>" <nowiki>https://api.mojang.com/user/profile/</nowiki>'''<uuid>'''/skin<br />
<br />
POST /user/profile/'''<uuid>'''/skin HTTP/1.1<br />
Host: api.mojang.com<br />
User-Agent: curl/7.49.0<br />
Accept: */*<br />
Authorization: Bearer '''<access token>'''<br />
Content-Length: 69<br />
Content-Type: application/x-www-form-urlencoded<br />
<br />
model=&url=http%3A%2F%2Fassets.mojang.com%2FSkinTemplates%2Fsteve.png<br />
<br />
== Upload Skin ==<br />
PUT <nowiki>https://api.mojang.com/user/profile/</nowiki>'''<uuid>'''/skin<br />
<br />
This uploads a skin to Mojang's servers. It also sets the users skin. This works on legacy counts as well.<br />
<br />
=== Response ===<br />
No response unless error<br />
=== Headers ===<br />
Authorization: Bearer '''<access token>'''<br />
<br />
=== Payload ===<br />
The payload for this API consists of multipart form data. There are two parts (order does not matter b/c of boundary):<br />
{| class="wikitable"<br />
|'''model'''<br />
|Empty string for the default model and "slim" for the slim model<br />
|-<br />
|'''file'''<br />
|Raw image file data<br />
|}<br />
=== Example ===<br />
curl -X PUT -H "Authorization: Bearer '''<access token>'''" -F model=alex -F file="@alex.png;type=image/png" <nowiki>https://api.mojang.com/user/profile/</nowiki>'''<uuid>'''/skin<br />
<br />
PUT /user/profile/'''<uuid>'''/skin HTTP/1.1<br />
Host: api.mojang.com<br />
User-Agent: curl/7.49.0<br />
Accept: */*<br />
Authorization: Bearer '''<access token>'''<br />
Content-Length: '''<length>'''<br />
Content-Type: multipart/form-data; boundary='''<boundary>'''<br />
<br />
--'''<boundary>'''<br />
Content-Disposition: form-data; name="model"<br />
<br />
slim<br />
--'''<boundary>'''<br />
Content-Disposition: form-data; name="file"; filename="alex.png"<br />
Content-Type: image/png<br />
<br />
'''<image data>'''<br />
--'''<boundary>'''--<br />
<br />
== Reset Skin ==<br />
DELETE <nowiki>https://api.mojang.com/user/profile/</nowiki>'''<uuid>'''/skin<br />
<br />
Resets the users skin to the default one.<br />
<br />
=== Response ===<br />
No response unless error<br />
<br />
=== Headers ===<br />
Authorization: Bearer '''<access token>'''<br />
<br />
=== Example ===<br />
curl -X DELETE -H "Authorization: Bearer '''<access token>'''" <nowiki>https://api.mojang.com/user/profile/</nowiki>'''<uuid>'''/skin<br />
<br />
DELETE /user/profile/'''<uuid>'''/skin HTTP/1.1<br />
Host: api.mojang.com<br />
User-Agent: curl/7.46.0<br />
Accept: */*<br />
Authorization: Bearer '''<access token>'''<br />
<br />
<br />
== User Info ==<br />
GET <nowiki>https://api.mojang.com/user</nowiki><br />
<br />
Returns information on the logged in Mojang account.<br />
<br />
=== Response ===<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
{<br />
"id": "<Account Identifier?>",<br />
"email": "<Email attached to account, in legacy users this may be a hash>",<br />
"username": "<Username of account, with migrated accounts this is the same as email>",<br />
"registerIp": "<IP used to register account>",<br />
"registeredAt": <Epoch timestamp in ms of date the Mojang account was registered>,<br />
"passwordChangedAt": <Epoch timestamp of time password was last changed>,<br />
"dateOfBirth": <Epoch timestamp of date of birth for this Mojang Account>,<br />
"deleted": <Unknown, probably whether account has been deleted or not>,<br />
"blocked": <Unknown, probably whether account has been blocked or not>,<br />
"secured": <Whether security questions are enabled on this Mojang Account>,<br />
"migrated": <Whether the account has been migrated, if the account was made after Mojang Accounts were mandatory for new accounts this is set to false>,<br />
"emailVerified": <Whether the email attached to the account is verified>,<br />
"legacyUser": <Whether the account is a legacy user>,<br />
"verifiedByParent": <Whether the account has been verified by parent, is set to false if no parent verification was needed>,<br />
"fullName": "<Full name attached to Mojang account, can be an empty string>",<br />
"fromMigratedUser": <Not sure, probably related to migrated?>,<br />
"hashed": <Legacy users' emails are hashed, this value is set to true in most legacyusers><br />
}<br />
</syntaxhighlight><br />
<br />
=== Headers ===<br />
Authorization: Bearer <access token><br />
<br />
== Blocked Servers ==<br />
GET https://sessionserver.mojang.com/blockedservers<br />
<br />
Returns a list of SHA1 hashes used to check server addresses against when the client tries to connect.<br />
<br />
Clients check the lowercase name, using the ISO-8859-1 charset, against this list. They will also attempt to check subdomains, replacing each level with a <code>*</code>. Specifically, it splits based off of the <code>.</code> in the domain, goes through each section removing one at a time. For instance, for <code>mc.example.com</code>, it would try <code>mc.example.com</code>, <code>*.example.com</code>, and <code>*.com</code>. With IP addresses (verified by having 4 split sections, with each section being a valid integer between 0 and 255, inclusive<!-- Decompiles seem to mess this up with an empty if, but there is logic for checking the range -->) substitution starts from the end, so for <code>192.168.0.1</code>, it would try <code>192.168.0.1</code>, <code>192.168.0.*</code>, <code>192.168.*</code>, and <code>192.*</code>.<br />
<br />
This check is done by the bootstrap class in netty. The default netty class is overridden by one in the com.mojang:netty dependency loaded by the launcher. This allows it to affect any version that used netty (1.7+)<br />
<br />
=== Response ===<br />
<pre><br />
27ae74becc8cd701b19f25d347faa71084f69acd<br />
986204c70d368d50ffead9031e86f2b9e70bb6d0<br />
d42339c120bc10a393a0b1d2c6a2e0ed4dbdd61b<br />
8bf58811e6ebca16a01b842ff0c012db1171d7d6<br />
8789800277882d1989d384e7941b6ad3dadab430<br />
e40c3456fb05687b8eeb17213a47b263d566f179<br />
278b24ffff7f9f46cf71212a4c0948d07fb3bc35<br />
7dca807cc9484b1eed109c003831faf189b6c8bf<br />
c6a2203285fb0a475c1cd6ff72527209cc0ccc6e<br />
9f0f30820cebb01f6c81f0fdafefa0142660d688<br />
b21d77260ed7a792c216b18c7287d683b2a271bd<br />
cc90e7b39112a48064f430d3a08bbd78a226d670<br />
88f155cf583c930ffed0e3e69ebc3a186ea8cbb7<br />
7ea72de5f8e70a2ac45f1aa17d43f0ca3cddeedd<br />
605e6296b8dba9f0e4b8e43269fe5d053b5f4f1b<br />
4a1b3b860ba0b441fa722bbcba97a614f6af9bb8<br />
e2e12f3b7b85eab81c0ee5d2e9e188df583fe281<br />
b8c876f599dcf5162911bba2d543ccbd23d18ae5<br />
48f04e89d20b15de115503f22fedfe2cb2d1ab12<br />
9a9ae8e9d0b6f3bf54c266dcd1e4ec034e13f714<br />
336e718ffbc705e76b4a72884172c6b95216b57c<br />
27cf97ecf24c92f1fe5c84c5ff654728c3ee37dd<br />
0acba7b130712cb4260d40b031fe36c668cdefce<br />
32066aa0c7dc9b097eed5b00c5629ad03f250a2d<br />
5d2e23d164a43fbfc4e6093074567f39b504ab51<br />
79aecb5b9fafced11f05bbb6939262f5d4e3626b<br />
f3df314d1f816a8c2185cd7d4bcd73bbcffc4ed8<br />
65ca8860fa8141da805106c0389de9d7c17e39bf<br />
dcc1f876e258ac5ecab28244da7a94ed44d4b43f<br />
6f2520f8bd70a718c568ab5274c56bdbbfc14ef4<br />
b13009db1e2fbe05465716f67c8d58b9c0503520<br />
3e560742576af9413fca72e70f75d7ddc9416020<br />
e3985eb936d66c9b07aa72c15358f92965b1194e<br />
b140bec2347bfbe6dcae44aa876b9ba5fe66505b<br />
c005ad34245a8f2105658da2d6d6e8545ef0f0de<br />
11a2c115510bfa6cb56bbd18a7259a4420498fd5<br />
75df09492c6c979e2db41116100093bb791b8433<br />
c78697e385bfa58d6bd2a013f543cdfbdc297c4f<br />
c645d6c6430db3069abd291ec13afebdb320714b<br />
709a849e4e7a986c8165083dccb9857bcb04c67b<br />
073ca448ef3d311218d7bd32d6307243ce22e7d0<br />
33839f4006d6044a3a6675c593fada6a690bb64d<br />
</pre><br />
<br />
Some of the current hashes have been cracked.<br />
<pre><br />
6f2520f8bd70a718c568ab5274c56bdbbfc14ef4:*.minetime.com<br />
7ea72de5f8e70a2ac45f1aa17d43f0ca3cddeedd:*.trollingbrandon.club<br />
c005ad34245a8f2105658da2d6d6e8545ef0f0de:*.skygod.us<br />
c645d6c6430db3069abd291ec13afebdb320714b:*.mineaqua.es<br />
8bf58811e6ebca16a01b842ff0c012db1171d7d6:*.eulablows.host<br />
8789800277882d1989d384e7941b6ad3dadab430:*.moredotsmoredots.xyz<br />
e40c3456fb05687b8eeb17213a47b263d566f179:*.brandonlovescock.bid<br />
278b24ffff7f9f46cf71212a4c0948d07fb3bc35:*.brandonlovescock.club<br />
c78697e385bfa58d6bd2a013f543cdfbdc297c4f:*.mineaqua.net<br />
b13009db1e2fbe05465716f67c8d58b9c0503520:*.endercraft.com<br />
3e560742576af9413fca72e70f75d7ddc9416020:*.insanefactions.org<br />
986204c70d368d50ffead9031e86f2b9e70bb6d0:*.playmc.mx<br />
65ca8860fa8141da805106c0389de9d7c17e39bf:*.howdoiblacklistsrv.host<br />
dcc1f876e258ac5ecab28244da7a94ed44d4b43f:198.27.77.72<br />
7dca807cc9484b1eed109c003831faf189b6c8bf:*.brandonlovescock.online<br />
c6a2203285fb0a475c1cd6ff72527209cc0ccc6e:*.brandonlovescock.press<br />
e3985eb936d66c9b07aa72c15358f92965b1194e:*.insanenetwork.org<br />
b140bec2347bfbe6dcae44aa876b9ba5fe66505b:*.phoenixnexus.net<br />
27ae74becc8cd701b19f25d347faa71084f69acd:*.arkhamnetwork.org<br />
48f04e89d20b15de115503f22fedfe2cb2d1ab12:brandonisan.unusualperson.com<br />
9f0f30820cebb01f6c81f0fdafefa0142660d688:*.kidslovemy500dollarranks.club<br />
cc90e7b39112a48064f430d3a08bbd78a226d670:*.eccgamers.com<br />
88f155cf583c930ffed0e3e69ebc3a186ea8cbb7:*.fucktheeula.com<br />
605e6296b8dba9f0e4b8e43269fe5d053b5f4f1b:*.mojangendorsesbrazzers.webcam<br />
5d2e23d164a43fbfc4e6093074567f39b504ab51:touchmybody.redirectme.net<br />
f3df314d1f816a8c2185cd7d4bcd73bbcffc4ed8:*.mojangsentamonkeyinto.space<br />
073ca448ef3d311218d7bd32d6307243ce22e7d0:*.diacraft.org<br />
33839f4006d6044a3a6675c593fada6a690bb64d:*.diacraft.de<br />
e2e12f3b7b85eab81c0ee5d2e9e188df583fe281:*.eulablacklist.club<br />
11a2c115510bfa6cb56bbd18a7259a4420498fd5:*.slaughterhousepvp.com<br />
75df09492c6c979e2db41116100093bb791b8433:*.timelesspvp.net<br />
d42339c120bc10a393a0b1d2c6a2e0ed4dbdd61b:*.herowars.org<br />
4a1b3b860ba0b441fa722bbcba97a614f6af9bb8:justgiveinandblockddnsbitches.ddns.net<br />
b8c876f599dcf5162911bba2d543ccbd23d18ae5:brandonisagainst.health-carereform.com<br />
9a9ae8e9d0b6f3bf54c266dcd1e4ec034e13f714:brandonwatchesporn.onthewifi.com<br />
336e718ffbc705e76b4a72884172c6b95216b57c:canyouwildcardipsplease.gotdns.ch<br />
27cf97ecf24c92f1fe5c84c5ff654728c3ee37dd:letsplaysome.servecounterstrike.com<br />
32066aa0c7dc9b097eed5b00c5629ad03f250a2d:mojangbrokeintomy.homesecuritymac.com<br />
</pre><br />
<br />
== Statistics ==<br />
POST <nowiki>https://api.mojang.com/orders/statistics</nowiki><br />
<br />
Get statistics on the sales of Minecraft.<br />
<br />
=== Payload ===<br />
The payload is a json list of options under the metricKeys key.<br />
You will receive a single object corresponding to the sum of sales of the requested type(s).<br />
You must request at least one type of sale.<br />
Below is the default list used by https://minecraft.net/en/stats/<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
{<br />
"metricKeys": [<br />
"item_sold_minecraft",<br />
"prepaid_card_redeemed_minecraft"<br />
]<br />
}<br />
</syntaxhighlight><br />
<br />
Valid options are:<br />
item_sold_minecraft<br />
prepaid_card_redeemed_minecraft<br />
item_sold_cobalt<br />
item_sold_scrolls<br />
=== Response ===<br />
A json object is returned with the total amount of copies sold, the amount of copies sold in the last 24h and how many sales there are per second.<br />
<syntaxhighlight lang="javascript" style="overflow-x: scroll"><br />
{<br />
"total": integer total amount sold,<br />
"last24h": integer total sold in last 24 hours,<br />
"saleVelocityPerSeconds": integer average sales per second<br />
}<br />
</syntaxhighlight><br />
<br />
== Examples ==<br />
<br />
[https://github.com/hawezo/MojangSharp C#] | full API wrapper<br />
<br />
[https://github.com/PhilipBorgesen/minecraft/tree/master/profile Go] | uuids or names to profiles with skins, capes and name histories<br />
<br />
[https://github.com/techkid6/AccountsClientPython Python] | uuids or names to profiles<br />
<br />
[https://gist.github.com/jomo/74944770e7647855ac9d Python] | names file to uuids+names file<br />
<br />
[https://github.com/MineTheCube/MojangAPI PHP] | uuids or names to profiles with skins, heads and name histories<br />
<br />
[https://gist.github.com/ezfe/a71feccd3a837a2592f1 PHP] | uuids to names<br />
<br />
[https://github.com/ozzyfant/AccountsClientPHP PHP] | uuids to names, names to uuids<br />
<br />
[https://github.com/thechunknetwork/mojang-api JavaScript] | uuids or names to profiles with skins, capes and name histories<br />
<br />
[[Category:Protocol Details]]<br />
[[Category:Minecraft Modern]]</div>
Hawezo