{"action":"created","comment":{"url":"https://api.github.com/repos/minetest/minetest_game/pulls/comments/77430841","id":77430841,"diff_hunk":"@@ -1,156 +1,147 @@\n-xpanes = {}\n \n-local function rshift(x, by)\n-\treturn math.floor(x / 2 ^ by)\n+local function is_pane(pos)\n+\treturn minetest.get_item_group(minetest.get_node(pos).name, \"pane\") > 0\n end\n \n-local directions = {\n-\t{x = 1, y = 0, z = 0},\n-\t{x = 0, y = 0, z = 1},\n-\t{x = -1, y = 0, z = 0},\n-\t{x = 0, y = 0, z = -1},\n-}\n-\n-local function update_pane(pos, name)\n-\tif not minetest.get_node(pos).name:find(\"^xpanes:\"..name) then\n-\t\treturn\n+local function connects_dir(pos, name, dir)\n+\tlocal aside = vector.add(pos, minetest.facedir_to_dir(dir))\n+\tif is_pane(aside) then\n+\t\treturn true\n \tend\n-\tlocal sum = 0\n-\tfor i, dir in pairs(directions) do\n-\t\tlocal node = minetest.get_node(vector.add(pos, dir))\n-\t\tlocal def = minetest.registered_nodes[node.name]\n-\t\tlocal pane_num = def and def.groups.pane or 0\n-\t\tif pane_num > 0 or not def or (def.walkable ~= false and\n-\t\t\t\tdef.drawtype ~= \"nodebox\") then\n-\t\t\tsum = sum + 2 ^ (i - 1)\n-\t\tend\n+\n+\tlocal connects_to = minetest.registered_nodes[name].connects_to\n+\tif not connects_to then\n+\t\treturn false\n \tend\n-\tif sum == 0 then\n-\t\tsum = 15\n+\tlocal asidenode = minetest.get_node(aside)\n+\tlocal list = minetest.find_nodes_in_area(aside, aside, connects_to)\n+\n+\tif #list > 0 then\n+\t\treturn true\n \tend\n-\tminetest.set_node(pos, {name = \"xpanes:\"..name..\"_\"..sum})\n+\n+\treturn false\n end\n \n-local function update_nearby(pos, node)\n-\tnode = node or minetest.get_node(pos)\n-\tlocal name = node.name\n-\tif not name or node.name:sub(1, 7) ~= \"xpanes:\" then\n+local function swap(pos, node, name, param2)\n+\tif node.name == name and node.param2 == param2 then\n \t\treturn\n \tend\n-\tlocal underscore_pos = string.find(name, \"_[^_]*$\") or 0\n-\tlocal len = name:len()\n-\tlocal num = tonumber(name:sub(underscore_pos+1, len))\n-\tif not num or num < 1 or num > 15 then\n-\t\tname = name:sub(8)\n-\telse\n-\t\tname = name:sub(8, underscore_pos - 1)\n-\tend\n-\tfor i, dir in pairs(directions) do\n-\t\tupdate_pane(vector.add(pos, dir), name)\n-\tend\n+\n+\tminetest.set_node(pos, {name = name, param2 = param2})\n end\n \n-minetest.register_on_placenode(update_nearby)\n-minetest.register_on_dignode(update_nearby)\n-\n-local half_boxes = {\n-\t{0,     -0.5, -1/32, 0.5,  0.5, 1/32},\n-\t{-1/32, -0.5, 0,     1/32, 0.5, 0.5},\n-\t{-0.5,  -0.5, -1/32, 0,    0.5, 1/32},\n-\t{-1/32, -0.5, -0.5,  1/32, 0.5, 0}\n-}\n-\n-local full_boxes = {\n-\t{-0.5,  -0.5, -1/32, 0.5,  0.5, 1/32},\n-\t{-1/32, -0.5, -0.5,  1/32, 0.5, 0.5}\n-}\n-\n-local sb_half_boxes = {\n-\t{0,     -0.5, -0.06, 0.5,  0.5, 0.06},\n-\t{-0.06, -0.5, 0,     0.06, 0.5, 0.5},\n-\t{-0.5,  -0.5, -0.06, 0,    0.5, 0.06},\n-\t{-0.06, -0.5, -0.5,  0.06, 0.5, 0}\n-}\n-\n-local sb_full_boxes = {\n-\t{-0.5,  -0.5, -0.06, 0.5,  0.5, 0.06},\n-\t{-0.06, -0.5, -0.5,  0.06, 0.5, 0.5}\n-}\n-\n-local pane_def_fields = {\n-\tdrawtype = \"airlike\",\n-\tparamtype = \"light\",\n-\tis_ground_content = false,\n-\tsunlight_propagates = true,\n-\twalkable = false,\n-\tpointable = false,\n-\tdiggable = false,\n-\tbuildable_to = true,\n-\tair_equivalent = true,\n-}\n+local function update_pane(pos)\n+\tif not is_pane(pos) then\n+\t\treturn\n+\tend\n+\tlocal node = minetest.get_node(pos)\n+\tlocal name = node.name\n+\tif name:sub(-5) == \"_flat\" then\n+\t\tname = name:sub(1, -6)\n+\tend\n \n-function xpanes.register_pane(name, def)\n-\tfor i = 1, 15 do\n-\t\tlocal need = {}\n-\t\tlocal cnt = 0\n-\t\tfor j = 1, 4 do\n-\t\t\tif rshift(i, j - 1) % 2 == 1 then\n-\t\t\t\tneed[j] = true\n-\t\t\t\tcnt = cnt + 1\n-\t\t\tend\n-\t\tend\n-\t\tlocal take = {}\n-\t\tlocal take2 = {}\n-\t\tif need[1] == true and need[3] == true then\n-\t\t\tneed[1] = nil\n-\t\t\tneed[3] = nil\n-\t\t\ttable.insert(take, full_boxes[1])\n-\t\t\ttable.insert(take2, sb_full_boxes[1])\n+\tlocal any = node.param2\n+\tlocal c = {}\n+\tlocal count = 0\n+\tfor dir = 0, 3 do\n+\t\tc[dir] = connects_dir(pos, name, dir)\n+\t\tif c[dir] then\n+\t\t\tany = dir\n+\t\t\tcount = count + 1\n \t\tend\n-\t\tif need[2] == true and need[4] == true then\n-\t\t\tneed[2] = nil\n-\t\t\tneed[4] = nil\n-\t\t\ttable.insert(take, full_boxes[2])\n-\t\t\ttable.insert(take2, sb_full_boxes[2])\n-\t\tend\n-\t\tfor k in pairs(need) do\n-\t\t\ttable.insert(take, half_boxes[k])\n-\t\t\ttable.insert(take2, sb_half_boxes[k])\n-\t\tend\n-\t\tlocal texture = def.textures[1]\n-\t\tif cnt == 1 then\n-\t\t\ttexture = def.textures[1]..\"^\"..def.textures[2]\n+\tend\n+\n+\tif count == 0 then\n+\t\tswap(pos, node, name .. \"_flat\", any)\n+\telseif count == 1 then\n+\t\tswap(pos, node, name .. \"_flat\", (any + 1) % 4)\n+\telseif count == 2 then\n+\t\tif (c[0] and c[2]) or (c[1] and c[3]) then\n+\t\t\tswap(pos, node, name .. \"_flat\", (any + 1) % 4)\n+\t\telse\n+\t\t\tswap(pos, node, name, 0)\n \t\tend\n-\t\tminetest.register_node(\":xpanes:\"..name..\"_\"..i, {\n-\t\t\tdrawtype = \"nodebox\",\n-\t\t\ttiles = {def.textures[3], def.textures[3], texture},\n-\t\t\tparamtype = \"light\",\n-\t\t\tgroups = def.groups,\n-\t\t\tdrop = \"xpanes:\"..name,\n-\t\t\tsounds = def.sounds,\n-\t\t\tnode_box = {\n-\t\t\t\ttype = \"fixed\",\n-\t\t\t\tfixed = take\n-\t\t\t},\n-\t\t\tselection_box = {\n-\t\t\t\ttype = \"fixed\",\n-\t\t\t\tfixed = take2\n-\t\t\t}\n-\t\t})\n+\telse\n+\t\tswap(pos, node, name, 0)\n+\tend\n+end\n+\n+minetest.register_on_placenode(function(pos, node)\n+\tif minetest.get_item_group(node, \"pane\") then\n+\t\tupdate_pane(pos)\n+\tend\n+\tfor i = 0, 3 do\n+\t\tlocal dir = minetest.facedir_to_dir(i)\n+\t\tupdate_pane(vector.add(pos, dir))\n \tend\n+end)\n \n-\tfor k, v in pairs(pane_def_fields) do\n-\t\tdef[k] = def[k] or v\n+minetest.register_on_dignode(function(pos)\n+\tfor i = 0, 3 do\n+\t\tlocal dir = minetest.facedir_to_dir(i)\n+\t\tupdate_pane(vector.add(pos, dir))\n \tend\n+end)\n \n-\tdef.on_construct = function(pos)\n-\t\tupdate_pane(pos, name)\n+xpanes = {}\n+function xpanes.register_pane(name, def)\n+\tfor i = 1, 15 do\n+\t\tminetest.register_alias(\"xpanes:\" .. name .. \"_\" .. i, \"xpanes:\" .. name .. \"_flat\")\n \tend\n \n-\tminetest.register_node(\":xpanes:\"..name, def)\n+\tlocal groups = table.copy(def.groups)\n+\tgroups.pane = 1\n+\tminetest.register_node(\":xpanes:\" .. name .. \"_flat\", {\n+\t\tdescription = def.description,\n+\t\tdrawtype = \"nodebox\",\n+\t\tparamtype = \"light\",\n+\t\tis_ground_content = false,\n+\t\tsunlight_propagates = true,\n+\t\tinventory_image = def.inventory_image,\n+\t\twield_image = def.wield_image,\n+\t\tparamtype2 = \"facedir\",\n+\t\ttiles = {def.textures[3], def.textures[3], def.textures[1]},\n+\t\tgroups = groups,\n+\t\tdrop = \"xpanes:\" .. name .. \"_flat\",\n+\t\tsounds = def.sounds,\n+\t\tnode_box = {\n+\t\t\ttype = \"fixed\",\n+\t\t\tfixed = {{-1/2, -1/2, -1/32, 1/2, 1/2, 1/32}},\n+\t\t},\n+\t\tselection_box = {\n+\t\t\ttype = \"fixed\",\n+\t\t\tfixed = {{-1/2, -1/2, -1/32, 1/2, 1/2, 1/32}},\n+\t\t},\n+\t\tconnect_sides = { \"left\", \"right\" },\n+\t})\n+\n+\tlocal groups = table.copy(def.groups)\n+\tgroups.pane = 1\n+\tgroups.not_in_creative_inventory = 1\n+\tminetest.register_node(\":xpanes:\" .. name, {\n+\t\tdrawtype = \"nodebox\",\n+\t\tparamtype = \"light\",\n+\t\tis_ground_content = false,\n+\t\tsunlight_propagates = true,\n+\t\tdescription = def.description,\n+\t\ttiles = {def.textures[3], def.textures[3], def.textures[1]},\n+\t\tgroups = groups,\n+\t\tdrop = \"xpanes:\" .. name .. \"_flat\",\n+\t\tsounds = def.sounds,\n+\t\tnode_box = {\n+\t\t\ttype = \"connected\",\n+\t\t\tfixed = {{-1/31, -1/2, -1/31, 1/31, 1/2, 1/31}},","path":"mods/xpanes/init.lua","position":262,"original_position":263,"commit_id":"f26b5b2ddb2fe961fbc25232d1668b82f532407b","original_commit_id":"c4c1d9cd6bf76f00862d53b4fb451d7c4b07cccb","user":{"login":"paramat","id":3686677,"avatar_url":"https://avatars.githubusercontent.com/u/3686677?v=3","gravatar_id":"","url":"https://api.github.com/users/paramat","html_url":"https://github.com/paramat","followers_url":"https://api.github.com/users/paramat/followers","following_url":"https://api.github.com/users/paramat/following{/other_user}","gists_url":"https://api.github.com/users/paramat/gists{/gist_id}","starred_url":"https://api.github.com/users/paramat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paramat/subscriptions","organizations_url":"https://api.github.com/users/paramat/orgs","repos_url":"https://api.github.com/users/paramat/repos","events_url":"https://api.github.com/users/paramat/events{/privacy}","received_events_url":"https://api.github.com/users/paramat/received_events","type":"User","site_admin":false},"body":"I must be misunderstanding something, the flat pane and the current xpanes use 1/32.\r\n2 * 1/32 = 1/16.","created_at":"2016-09-03T03:52:43Z","updated_at":"2016-09-03T03:52:43Z","html_url":"https://github.com/minetest/minetest_game/pull/946#discussion_r77430841","pull_request_url":"https://api.github.com/repos/minetest/minetest_game/pulls/946","_links":{"self":{"href":"https://api.github.com/repos/minetest/minetest_game/pulls/comments/77430841"},"html":{"href":"https://github.com/minetest/minetest_game/pull/946#discussion_r77430841"},"pull_request":{"href":"https://api.github.com/repos/minetest/minetest_game/pulls/946"}}},"pull_request":{"url":"https://api.github.com/repos/minetest/minetest_game/pulls/946","id":63184529,"html_url":"https://github.com/minetest/minetest_game/pull/946","diff_url":"https://github.com/minetest/minetest_game/pull/946.diff","patch_url":"https://github.com/minetest/minetest_game/pull/946.patch","issue_url":"https://api.github.com/repos/minetest/minetest_game/issues/946","number":946,"state":"open","locked":false,"title":"Xpanes: convert to connected nodeboxes.","user":{"login":"sofar","id":1880041,"avatar_url":"https://avatars.githubusercontent.com/u/1880041?v=3","gravatar_id":"","url":"https://api.github.com/users/sofar","html_url":"https://github.com/sofar","followers_url":"https://api.github.com/users/sofar/followers","following_url":"https://api.github.com/users/sofar/following{/other_user}","gists_url":"https://api.github.com/users/sofar/gists{/gist_id}","starred_url":"https://api.github.com/users/sofar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sofar/subscriptions","organizations_url":"https://api.github.com/users/sofar/orgs","repos_url":"https://api.github.com/users/sofar/repos","events_url":"https://api.github.com/users/sofar/events{/privacy}","received_events_url":"https://api.github.com/users/sofar/received_events","type":"User","site_admin":false},"body":"I've rewritten this to use connected nodeboxes, but with a caveat. In\r\norder to make flat nodes look better, I'm keeping one non-connected\r\npane that is flat around to convert flat sections to the flat nodes\r\ninstead of connected, as these look better and are easier to work\r\nwith. Once more sides are needed we convert the panes on the fly to\r\nconnected nodes and recalculate the shape.\r\n\r\nWe don't paint any of the half-panes that the previous generation of\r\nxpanes did. There's no need and it's harder to work with. Updating the\r\nnodes also seems more natural and placement and removal works straight\r\nforward.\r\n\r\nThis is *missing* any compat/conversion code, so it's not yet complete.\r\nI expect to use an LBM to perform the conversion, which is the right\r\ntool to do so.\r\n\r\nCheck out https://youtu.be/13M6Hz8oQ1I for how it looks.\r\n\r\n- [x] - conversion code.","created_at":"2016-03-17T07:50:27Z","updated_at":"2016-09-03T03:52:43Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d43da3eab8c9472f8c2746d2c42e7dba45067ada","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/minetest/minetest_game/pulls/946/commits","review_comments_url":"https://api.github.com/repos/minetest/minetest_game/pulls/946/comments","review_comment_url":"https://api.github.com/repos/minetest/minetest_game/pulls/comments{/number}","comments_url":"https://api.github.com/repos/minetest/minetest_game/issues/946/comments","statuses_url":"https://api.github.com/repos/minetest/minetest_game/statuses/f26b5b2ddb2fe961fbc25232d1668b82f532407b","head":{"label":"sofar:xpanes","ref":"xpanes","sha":"f26b5b2ddb2fe961fbc25232d1668b82f532407b","user":{"login":"sofar","id":1880041,"avatar_url":"https://avatars.githubusercontent.com/u/1880041?v=3","gravatar_id":"","url":"https://api.github.com/users/sofar","html_url":"https://github.com/sofar","followers_url":"https://api.github.com/users/sofar/followers","following_url":"https://api.github.com/users/sofar/following{/other_user}","gists_url":"https://api.github.com/users/sofar/gists{/gist_id}","starred_url":"https://api.github.com/users/sofar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sofar/subscriptions","organizations_url":"https://api.github.com/users/sofar/orgs","repos_url":"https://api.github.com/users/sofar/repos","events_url":"https://api.github.com/users/sofar/events{/privacy}","received_events_url":"https://api.github.com/users/sofar/received_events","type":"User","site_admin":false},"repo":{"id":47588416,"name":"minetest_game","full_name":"sofar/minetest_game","owner":{"login":"sofar","id":1880041,"avatar_url":"https://avatars.githubusercontent.com/u/1880041?v=3","gravatar_id":"","url":"https://api.github.com/users/sofar","html_url":"https://github.com/sofar","followers_url":"https://api.github.com/users/sofar/followers","following_url":"https://api.github.com/users/sofar/following{/other_user}","gists_url":"https://api.github.com/users/sofar/gists{/gist_id}","starred_url":"https://api.github.com/users/sofar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sofar/subscriptions","organizations_url":"https://api.github.com/users/sofar/orgs","repos_url":"https://api.github.com/users/sofar/repos","events_url":"https://api.github.com/users/sofar/events{/privacy}","received_events_url":"https://api.github.com/users/sofar/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sofar/minetest_game","description":"The main game for the Minetest game engine [minetest_game] [https://github.com/minetest/minetest/]","fork":true,"url":"https://api.github.com/repos/sofar/minetest_game","forks_url":"https://api.github.com/repos/sofar/minetest_game/forks","keys_url":"https://api.github.com/repos/sofar/minetest_game/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sofar/minetest_game/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sofar/minetest_game/teams","hooks_url":"https://api.github.com/repos/sofar/minetest_game/hooks","issue_events_url":"https://api.github.com/repos/sofar/minetest_game/issues/events{/number}","events_url":"https://api.github.com/repos/sofar/minetest_game/events","assignees_url":"https://api.github.com/repos/sofar/minetest_game/assignees{/user}","branches_url":"https://api.github.com/repos/sofar/minetest_game/branches{/branch}","tags_url":"https://api.github.com/repos/sofar/minetest_game/tags","blobs_url":"https://api.github.com/repos/sofar/minetest_game/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sofar/minetest_game/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sofar/minetest_game/git/refs{/sha}","trees_url":"https://api.github.com/repos/sofar/minetest_game/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sofar/minetest_game/statuses/{sha}","languages_url":"https://api.github.com/repos/sofar/minetest_game/languages","stargazers_url":"https://api.github.com/repos/sofar/minetest_game/stargazers","contributors_url":"https://api.github.com/repos/sofar/minetest_game/contributors","subscribers_url":"https://api.github.com/repos/sofar/minetest_game/subscribers","subscription_url":"https://api.github.com/repos/sofar/minetest_game/subscription","commits_url":"https://api.github.com/repos/sofar/minetest_game/commits{/sha}","git_commits_url":"https://api.github.com/repos/sofar/minetest_game/git/commits{/sha}","comments_url":"https://api.github.com/repos/sofar/minetest_game/comments{/number}","issue_comment_url":"https://api.github.com/repos/sofar/minetest_game/issues/comments{/number}","contents_url":"https://api.github.com/repos/sofar/minetest_game/contents/{+path}","compare_url":"https://api.github.com/repos/sofar/minetest_game/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sofar/minetest_game/merges","archive_url":"https://api.github.com/repos/sofar/minetest_game/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sofar/minetest_game/downloads","issues_url":"https://api.github.com/repos/sofar/minetest_game/issues{/number}","pulls_url":"https://api.github.com/repos/sofar/minetest_game/pulls{/number}","milestones_url":"https://api.github.com/repos/sofar/minetest_game/milestones{/number}","notifications_url":"https://api.github.com/repos/sofar/minetest_game/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sofar/minetest_game/labels{/name}","releases_url":"https://api.github.com/repos/sofar/minetest_game/releases{/id}","deployments_url":"https://api.github.com/repos/sofar/minetest_game/deployments","created_at":"2015-12-08T00:37:22Z","updated_at":"2015-12-08T00:37:24Z","pushed_at":"2016-09-03T03:46:51Z","git_url":"git://github.com/sofar/minetest_game.git","ssh_url":"git@github.com:sofar/minetest_game.git","clone_url":"https://github.com/sofar/minetest_game.git","svn_url":"https://github.com/sofar/minetest_game","homepage":"http://minetest.net/","size":5012,"stargazers_count":0,"watchers_count":0,"language":"Lua","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"minetest:master","ref":"master","sha":"1d6fbe04cda32b05d7d4398f657dba36b470ae73","user":{"login":"minetest","id":2624745,"avatar_url":"https://avatars.githubusercontent.com/u/2624745?v=3","gravatar_id":"","url":"https://api.github.com/users/minetest","html_url":"https://github.com/minetest","followers_url":"https://api.github.com/users/minetest/followers","following_url":"https://api.github.com/users/minetest/following{/other_user}","gists_url":"https://api.github.com/users/minetest/gists{/gist_id}","starred_url":"https://api.github.com/users/minetest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minetest/subscriptions","organizations_url":"https://api.github.com/users/minetest/orgs","repos_url":"https://api.github.com/users/minetest/repos","events_url":"https://api.github.com/users/minetest/events{/privacy}","received_events_url":"https://api.github.com/users/minetest/received_events","type":"Organization","site_admin":false},"repo":{"id":3834571,"name":"minetest_game","full_name":"minetest/minetest_game","owner":{"login":"minetest","id":2624745,"avatar_url":"https://avatars.githubusercontent.com/u/2624745?v=3","gravatar_id":"","url":"https://api.github.com/users/minetest","html_url":"https://github.com/minetest","followers_url":"https://api.github.com/users/minetest/followers","following_url":"https://api.github.com/users/minetest/following{/other_user}","gists_url":"https://api.github.com/users/minetest/gists{/gist_id}","starred_url":"https://api.github.com/users/minetest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minetest/subscriptions","organizations_url":"https://api.github.com/users/minetest/orgs","repos_url":"https://api.github.com/users/minetest/repos","events_url":"https://api.github.com/users/minetest/events{/privacy}","received_events_url":"https://api.github.com/users/minetest/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/minetest/minetest_game","description":"Minetest Game - The default game for the Minetest engine [https://github.com/minetest/minetest/]","fork":false,"url":"https://api.github.com/repos/minetest/minetest_game","forks_url":"https://api.github.com/repos/minetest/minetest_game/forks","keys_url":"https://api.github.com/repos/minetest/minetest_game/keys{/key_id}","collaborators_url":"https://api.github.com/repos/minetest/minetest_game/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/minetest/minetest_game/teams","hooks_url":"https://api.github.com/repos/minetest/minetest_game/hooks","issue_events_url":"https://api.github.com/repos/minetest/minetest_game/issues/events{/number}","events_url":"https://api.github.com/repos/minetest/minetest_game/events","assignees_url":"https://api.github.com/repos/minetest/minetest_game/assignees{/user}","branches_url":"https://api.github.com/repos/minetest/minetest_game/branches{/branch}","tags_url":"https://api.github.com/repos/minetest/minetest_game/tags","blobs_url":"https://api.github.com/repos/minetest/minetest_game/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/minetest/minetest_game/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/minetest/minetest_game/git/refs{/sha}","trees_url":"https://api.github.com/repos/minetest/minetest_game/git/trees{/sha}","statuses_url":"https://api.github.com/repos/minetest/minetest_game/statuses/{sha}","languages_url":"https://api.github.com/repos/minetest/minetest_game/languages","stargazers_url":"https://api.github.com/repos/minetest/minetest_game/stargazers","contributors_url":"https://api.github.com/repos/minetest/minetest_game/contributors","subscribers_url":"https://api.github.com/repos/minetest/minetest_game/subscribers","subscription_url":"https://api.github.com/repos/minetest/minetest_game/subscription","commits_url":"https://api.github.com/repos/minetest/minetest_game/commits{/sha}","git_commits_url":"https://api.github.com/repos/minetest/minetest_game/git/commits{/sha}","comments_url":"https://api.github.com/repos/minetest/minetest_game/comments{/number}","issue_comment_url":"https://api.github.com/repos/minetest/minetest_game/issues/comments{/number}","contents_url":"https://api.github.com/repos/minetest/minetest_game/contents/{+path}","compare_url":"https://api.github.com/repos/minetest/minetest_game/compare/{base}...{head}","merges_url":"https://api.github.com/repos/minetest/minetest_game/merges","archive_url":"https://api.github.com/repos/minetest/minetest_game/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/minetest/minetest_game/downloads","issues_url":"https://api.github.com/repos/minetest/minetest_game/issues{/number}","pulls_url":"https://api.github.com/repos/minetest/minetest_game/pulls{/number}","milestones_url":"https://api.github.com/repos/minetest/minetest_game/milestones{/number}","notifications_url":"https://api.github.com/repos/minetest/minetest_game/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/minetest/minetest_game/labels{/name}","releases_url":"https://api.github.com/repos/minetest/minetest_game/releases{/id}","deployments_url":"https://api.github.com/repos/minetest/minetest_game/deployments","created_at":"2012-03-26T16:03:29Z","updated_at":"2016-09-02T20:16:31Z","pushed_at":"2016-09-03T03:46:52Z","git_url":"git://github.com/minetest/minetest_game.git","ssh_url":"git@github.com:minetest/minetest_game.git","clone_url":"https://github.com/minetest/minetest_game.git","svn_url":"https://github.com/minetest/minetest_game","homepage":"http://minetest.net/","size":14045,"stargazers_count":455,"watchers_count":455,"language":"Lua","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":259,"mirror_url":null,"open_issues_count":75,"forks":259,"open_issues":75,"watchers":455,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/minetest/minetest_game/pulls/946"},"html":{"href":"https://github.com/minetest/minetest_game/pull/946"},"issue":{"href":"https://api.github.com/repos/minetest/minetest_game/issues/946"},"comments":{"href":"https://api.github.com/repos/minetest/minetest_game/issues/946/comments"},"review_comments":{"href":"https://api.github.com/repos/minetest/minetest_game/pulls/946/comments"},"review_comment":{"href":"https://api.github.com/repos/minetest/minetest_game/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/minetest/minetest_game/pulls/946/commits"},"statuses":{"href":"https://api.github.com/repos/minetest/minetest_game/statuses/f26b5b2ddb2fe961fbc25232d1668b82f532407b"}}}}
{"actor":{"display_login":"paramat"}}