{"action":"created","issue":{"url":"https://api.github.com/repos/minetest/minetest/issues/4577","repository_url":"https://api.github.com/repos/minetest/minetest","labels_url":"https://api.github.com/repos/minetest/minetest/issues/4577/labels{/name}","comments_url":"https://api.github.com/repos/minetest/minetest/issues/4577/comments","events_url":"https://api.github.com/repos/minetest/minetest/issues/4577/events","html_url":"https://github.com/minetest/minetest/pull/4577","id":181205385,"number":4577,"title":"Client-side mods","user":{"login":"duckbrain","id":587790,"avatar_url":"https://avatars.githubusercontent.com/u/587790?v=3","gravatar_id":"","url":"https://api.github.com/users/duckbrain","html_url":"https://github.com/duckbrain","followers_url":"https://api.github.com/users/duckbrain/followers","following_url":"https://api.github.com/users/duckbrain/following{/other_user}","gists_url":"https://api.github.com/users/duckbrain/gists{/gist_id}","starred_url":"https://api.github.com/users/duckbrain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/duckbrain/subscriptions","organizations_url":"https://api.github.com/users/duckbrain/orgs","repos_url":"https://api.github.com/users/duckbrain/repos","events_url":"https://api.github.com/users/duckbrain/events{/privacy}","received_events_url":"https://api.github.com/users/duckbrain/received_events","type":"User","site_admin":false},"labels":[{"id":73369003,"url":"https://api.github.com/repos/minetest/minetest/labels/@%20Client%20/%20Audiovisuals","name":"@ Client / Audiovisuals","color":"009800","default":false},{"id":73368983,"url":"https://api.github.com/repos/minetest/minetest/labels/@%20Script%20API","name":"@ Script API","color":"009800","default":false},{"id":39497728,"url":"https://api.github.com/repos/minetest/minetest/labels/Rebase%20needed","name":"Rebase needed","color":"eb6420","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":42,"created_at":"2016-10-05T16:36:33Z","updated_at":"2016-11-30T23:46:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/minetest/minetest/pulls/4577","html_url":"https://github.com/minetest/minetest/pull/4577","diff_url":"https://github.com/minetest/minetest/pull/4577.diff","patch_url":"https://github.com/minetest/minetest/pull/4577.patch"},"body":"This adds client-side scripting to minetest. Scripts located in the `client` directory are transferred with media, and an `init.lua` file is run for each, mod. Client-side mods are always run in the secure environment and are only able to access the builtin scripts and the in-memory scripts transferred from the server.\r\n\r\nIn the current state, these mods are not useful (unless you only want to print to the user's terminal), but it is ready to have API's added that allow client-side prediction, input handling, messaging with the server, and many other features.\r\n\r\nThe benefit to getting this merged early, is it allows others to start working on API's.\r\n\r\nPart of #3440 \r\n\r\n~~This is WIP, because I realized changing the in-memory modpath, currently in the format of `<modname>/<filename.lua>` to `<modname>/client/<filename.lua>` would allow code like the following to work on the server or the client:~~\r\n\r\n~~dofile(core.get_modpath(\"modtest\") .. \"/client/secondary-file.lua\")~~"},"comment":{"url":"https://api.github.com/repos/minetest/minetest/issues/comments/264033615","html_url":"https://github.com/minetest/minetest/pull/4577#issuecomment-264033615","issue_url":"https://api.github.com/repos/minetest/minetest/issues/4577","id":264033615,"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},"created_at":"2016-11-30T23:46:24Z","updated_at":"2016-11-30T23:46:24Z","body":"Release hopefully 21st Dec."}}
{"actor":{"display_login":"paramat"}}