{"id":54000,"date":"2018-10-10T21:12:00","date_gmt":"2018-10-10T21:12:00","guid":{"rendered":"http:\/\/www.gamasutra.com\/view\/news\/328366"},"modified":"2018-10-10T21:12:00","modified_gmt":"2018-10-10T21:12:00","slug":"mojang-is-making-some-minecraft-libraries-open-source","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2018\/10\/10\/mojang-is-making-some-minecraft-libraries-open-source\/","title":{"rendered":"Mojang is making some Minecraft libraries open source"},"content":{"rendered":"<p><em>Minecraft<\/em> developer Mojang <a href=\"https:\/\/minecraft.net\/en-us\/article\/programmers-play-minecrafts-inner-workings\">plans to make a handful of libraries<\/a> from the Java build of the game open source, giving fellow game devs the ability to peruse, tweak, or use in their own projects (with credit).\u00a0<\/p>\n<p>The first two libraries getting the open-source treatment are Brigadier, or the command engine that <em>Minecraft<\/em> uses for its in-game developer console, and DataFixerUpper, a system that updates old in-game data into something that a current version of <em>Minecraft<\/em> can use.<\/p>\n<p>As demonstrated in the blog post detailing the open-source plans, the Brigadier system deals with text commands keyed into <em>Minecraft<\/em>\u2019s chat by suggesting possible commands as they\u2019re being typed and translating the resulting command into an action in the game like giving a certain user an item or changing the game mode.\u00a0<\/p>\n<p>While Mojang says Brigadier is fairly straightforward and user-friendly, DataFixerUpper is more or less just the opposite.\u00a0<\/p>\n<p>\u201cWhen we load up any world in <em>Minecraft<\/em> right now, you can have some data that has not been touched for six years, because that chunk was last played six years ago,\u201d explains <em>Minecraft<\/em> Java dev Nathan Adams in the post. \u201cSo we need to know: &#8216;OK, this level actually looks really old. Now we\u2019ve got to turn that old data into what it should look like now \u2013 in a way that the game can currently read.\u201d<\/p>\n<p>\u201cWe have one little unit which uses DataFixerUpper that just says to <em>Minecraft<\/em>: &#8216;this is how to turn anything into the data format that the game is going to use.&#8217; And so the game is now only saying &#8216;This is how the data looks, so this is how I\u2019m going to read it,\u201d he explains. \u201dBasically, before <em>Minecraft<\/em> actually loads the chunks, it goes through DataFixerUpper and that turns it into what it should currently be now.\u201d<\/p>\n<p>Both <a href=\"https:\/\/github.com\/Mojang\/brigadier\">Brigadier<\/a> and <a href=\"https:\/\/github.com\/Mojang\/DataFixerUpper\">DataFixerUpper<\/a> can be downloaded right now from the company\u2019s Github page and Mojang notes that it plans to update that original blog post when more systems are made open source as well.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Minecraft developer Mojang plans to make a handful of libraries from the Java build of the game open source, giving fellow game devs the ability to peruse, tweak, or use in their own projects (with credit).\u00a0 The first two libraries getting the open-source treatment are Brigadier, or the command engine that Minecraft uses for its [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":54001,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-54000","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/54000","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/comments?post=54000"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/54000\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media\/54001"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=54000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=54000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=54000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}