{"action":"created","issue":{"url":"https://api.github.com/repos/minetest/minetest/issues/4612","repository_url":"https://api.github.com/repos/minetest/minetest","labels_url":"https://api.github.com/repos/minetest/minetest/issues/4612/labels{/name}","comments_url":"https://api.github.com/repos/minetest/minetest/issues/4612/comments","events_url":"https://api.github.com/repos/minetest/minetest/issues/4612/events","html_url":"https://github.com/minetest/minetest/pull/4612","id":181900569,"number":4612,"title":"Player class cleanup / PlayerSAO - LocalPlayer ownership","user":{"login":"nerzhul","id":119752,"avatar_url":"https://avatars.githubusercontent.com/u/119752?v=3","gravatar_id":"","url":"https://api.github.com/users/nerzhul","html_url":"https://github.com/nerzhul","followers_url":"https://api.github.com/users/nerzhul/followers","following_url":"https://api.github.com/users/nerzhul/following{/other_user}","gists_url":"https://api.github.com/users/nerzhul/gists{/gist_id}","starred_url":"https://api.github.com/users/nerzhul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nerzhul/subscriptions","organizations_url":"https://api.github.com/users/nerzhul/orgs","repos_url":"https://api.github.com/users/nerzhul/repos","events_url":"https://api.github.com/users/nerzhul/events{/privacy}","received_events_url":"https://api.github.com/users/nerzhul/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/minetest/minetest/labels/@%20Server%20/%20Client%20/%20Env.","name":"@ Server / Client / Env.","color":"009800"},{"url":"https://api.github.com/repos/minetest/minetest/labels/Maintenance","name":"Maintenance","color":"009870"},{"url":"https://api.github.com/repos/minetest/minetest/labels/One%20approval","name":"One approval","color":"207de5"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/minetest/minetest/milestones/7","html_url":"https://github.com/minetest/minetest/milestones/0.4.15","labels_url":"https://api.github.com/repos/minetest/minetest/milestones/7/labels","id":1780914,"number":7,"title":"0.4.15","description":"","creator":{"login":"nerzhul","id":119752,"avatar_url":"https://avatars.githubusercontent.com/u/119752?v=3","gravatar_id":"","url":"https://api.github.com/users/nerzhul","html_url":"https://github.com/nerzhul","followers_url":"https://api.github.com/users/nerzhul/followers","following_url":"https://api.github.com/users/nerzhul/following{/other_user}","gists_url":"https://api.github.com/users/nerzhul/gists{/gist_id}","starred_url":"https://api.github.com/users/nerzhul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nerzhul/subscriptions","organizations_url":"https://api.github.com/users/nerzhul/orgs","repos_url":"https://api.github.com/users/nerzhul/repos","events_url":"https://api.github.com/users/nerzhul/events{/privacy}","received_events_url":"https://api.github.com/users/nerzhul/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":33,"state":"open","created_at":"2016-05-22T07:53:33Z","updated_at":"2016-10-25T18:39:39Z","due_on":"2016-12-21T00:00:00Z","closed_at":null},"comments":10,"created_at":"2016-10-09T17:52:39Z","updated_at":"2016-10-25T18:46:41Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/minetest/minetest/pulls/4612","html_url":"https://github.com/minetest/minetest/pull/4612","diff_url":"https://github.com/minetest/minetest/pull/4612.diff","patch_url":"https://github.com/minetest/minetest/pull/4612.patch"},"body":"Many attributes are SAO attributes, not really player object attribute (server side)\r\nRemotePlayer is a pseudo session & player object, but SAO is the real ingame object. \r\nIt make sense to migrate attributes from Player base class to PlayerSAO (server) & LocalPlayer (client)\r\nAs RemotePlayer is never removed from server, it also permit to reduce memory usage from server when player was disconnected because PlayerSAO is properly cleaned.\r\n\r\nThis change require to change some old parts to permit cross usage of PlayerSAO & RemotePlayer objects server side. I don't know if this PR will really move all attributes to PlayerSAO but i don't think i will have time to do everything, but we can do it in multiple parts.\r\n\r\nWith this PR PlayerSAO is inited in two phases because of the cross dep between RemotePlayer & PlayerSAO."},"comment":{"url":"https://api.github.com/repos/minetest/minetest/issues/comments/256136141","html_url":"https://github.com/minetest/minetest/pull/4612#issuecomment-256136141","issue_url":"https://api.github.com/repos/minetest/minetest/issues/4612","id":256136141,"user":{"login":"nerzhul","id":119752,"avatar_url":"https://avatars.githubusercontent.com/u/119752?v=3","gravatar_id":"","url":"https://api.github.com/users/nerzhul","html_url":"https://github.com/nerzhul","followers_url":"https://api.github.com/users/nerzhul/followers","following_url":"https://api.github.com/users/nerzhul/following{/other_user}","gists_url":"https://api.github.com/users/nerzhul/gists{/gist_id}","starred_url":"https://api.github.com/users/nerzhul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nerzhul/subscriptions","organizations_url":"https://api.github.com/users/nerzhul/orgs","repos_url":"https://api.github.com/users/nerzhul/repos","events_url":"https://api.github.com/users/nerzhul/events{/privacy}","received_events_url":"https://api.github.com/users/nerzhul/received_events","type":"User","site_admin":false},"created_at":"2016-10-25T18:46:41Z","updated_at":"2016-10-25T18:46:41Z","body":"@est31 i agree with you sometimes subtile bugs can happens. Here i'm waiting for a good review, but in reality i backported a one year old change from my own server without seeing any problem. This cleanup doesn't have functional change. I hope @est31 you will be part of the reviewers and tester as this change is needed to have a better SAO hierarchy essentially if we want to implement mobs coreside, as it's requested by many users to have a decent performance with mobs."}}
{"actor":{"display_login":"nerzhul"}}