{"action":"opened","number":1961,"pull_request":{"url":"https://api.github.com/repos/MovingBlocks/Terasology/pulls/1961","id":46860943,"html_url":"https://github.com/MovingBlocks/Terasology/pull/1961","diff_url":"https://github.com/MovingBlocks/Terasology/pull/1961.diff","patch_url":"https://github.com/MovingBlocks/Terasology/pull/1961.patch","issue_url":"https://api.github.com/repos/MovingBlocks/Terasology/issues/1961","number":1961,"state":"open","locked":false,"title":"Avoid blank player names","user":{"login":"Josharias","id":5922109,"avatar_url":"https://avatars.githubusercontent.com/u/5922109?v=3","gravatar_id":"","url":"https://api.github.com/users/Josharias","html_url":"https://github.com/Josharias","followers_url":"https://api.github.com/users/Josharias/followers","following_url":"https://api.github.com/users/Josharias/following{/other_user}","gists_url":"https://api.github.com/users/Josharias/gists{/gist_id}","starred_url":"https://api.github.com/users/Josharias/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Josharias/subscriptions","organizations_url":"https://api.github.com/users/Josharias/orgs","repos_url":"https://api.github.com/users/Josharias/repos","events_url":"https://api.github.com/users/Josharias/events{/privacy}","received_events_url":"https://api.github.com/users/Josharias/received_events","type":"User","site_admin":false},"body":"Resolves #1957\r\n\r\n- Adds a OK/Cancel button to the player settings screen,  only committing the changes if OK is pressed.\r\n- Adds validation to the player name to not allow blank names.\r\n- Allows buttons to show tooltips even if disabled (so that the validation message could be shown)\r\n- Shows the validation message when hovering over the OK button or player name text box.\r\n- Uses the translation system for the validation message.\r\n\r\n![image](https://cloud.githubusercontent.com/assets/5922109/10299939/339b4e68-6ba5-11e5-89e9-1b9f6177ca21.png)\r\n![image](https://cloud.githubusercontent.com/assets/5922109/10299953/4a5c1efc-6ba5-11e5-91a7-88bd6337a7b6.png)\r\n![image](https://cloud.githubusercontent.com/assets/5922109/10299954/4cdaecee-6ba5-11e5-83ce-e30f2bd08573.png)\r\n\r\nControversial things, please comment on:\r\n- Using tooltips for validation messages\r\n- There is no validation message if the mouse is not over the OK button or name text box.\r\n- Tooltips on both text box and button?  or just one?  or none?\r\n","created_at":"2015-10-06T04:11:40Z","updated_at":"2015-10-06T04:11:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/MovingBlocks/Terasology/pulls/1961/commits","review_comments_url":"https://api.github.com/repos/MovingBlocks/Terasology/pulls/1961/comments","review_comment_url":"https://api.github.com/repos/MovingBlocks/Terasology/pulls/comments{/number}","comments_url":"https://api.github.com/repos/MovingBlocks/Terasology/issues/1961/comments","statuses_url":"https://api.github.com/repos/MovingBlocks/Terasology/statuses/f3e4619cff217bf48e43e0a02cbf537ece719acd","head":{"label":"Josharias:AvoidBlankPlayerNames","ref":"AvoidBlankPlayerNames","sha":"f3e4619cff217bf48e43e0a02cbf537ece719acd","user":{"login":"Josharias","id":5922109,"avatar_url":"https://avatars.githubusercontent.com/u/5922109?v=3","gravatar_id":"","url":"https://api.github.com/users/Josharias","html_url":"https://github.com/Josharias","followers_url":"https://api.github.com/users/Josharias/followers","following_url":"https://api.github.com/users/Josharias/following{/other_user}","gists_url":"https://api.github.com/users/Josharias/gists{/gist_id}","starred_url":"https://api.github.com/users/Josharias/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Josharias/subscriptions","organizations_url":"https://api.github.com/users/Josharias/orgs","repos_url":"https://api.github.com/users/Josharias/repos","events_url":"https://api.github.com/users/Josharias/events{/privacy}","received_events_url":"https://api.github.com/users/Josharias/received_events","type":"User","site_admin":false},"repo":{"id":14342114,"name":"Terasology","full_name":"Josharias/Terasology","owner":{"login":"Josharias","id":5922109,"avatar_url":"https://avatars.githubusercontent.com/u/5922109?v=3","gravatar_id":"","url":"https://api.github.com/users/Josharias","html_url":"https://github.com/Josharias","followers_url":"https://api.github.com/users/Josharias/followers","following_url":"https://api.github.com/users/Josharias/following{/other_user}","gists_url":"https://api.github.com/users/Josharias/gists{/gist_id}","starred_url":"https://api.github.com/users/Josharias/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Josharias/subscriptions","organizations_url":"https://api.github.com/users/Josharias/orgs","repos_url":"https://api.github.com/users/Josharias/repos","events_url":"https://api.github.com/users/Josharias/events{/privacy}","received_events_url":"https://api.github.com/users/Josharias/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Josharias/Terasology","description":"Terasology is an open source project started by Benjamin \"begla\" Glatzel to research procedural terrain generation and efficient rendering techniques in Java using the LWJGL. The engine uses a block-based voxel-like approach as seen in Minecraft.  After proving itself as a solid tech demo begla was joined at first by Anton \"small-jeeper\" Kireev and Rasmus \"Cervator\" Praestholm and a full-fledged game concept was born. Our goal is a game that pays ample tribute to Minecraft in initial look and origin, but stakes out its own niche by adopting the NPC-helper and caretaker feel from such games as Dwarf Fortress and Dungeon Keeper, while striving for added depth and sophistication in the foundation systems akin to DF.","fork":true,"url":"https://api.github.com/repos/Josharias/Terasology","forks_url":"https://api.github.com/repos/Josharias/Terasology/forks","keys_url":"https://api.github.com/repos/Josharias/Terasology/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Josharias/Terasology/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Josharias/Terasology/teams","hooks_url":"https://api.github.com/repos/Josharias/Terasology/hooks","issue_events_url":"https://api.github.com/repos/Josharias/Terasology/issues/events{/number}","events_url":"https://api.github.com/repos/Josharias/Terasology/events","assignees_url":"https://api.github.com/repos/Josharias/Terasology/assignees{/user}","branches_url":"https://api.github.com/repos/Josharias/Terasology/branches{/branch}","tags_url":"https://api.github.com/repos/Josharias/Terasology/tags","blobs_url":"https://api.github.com/repos/Josharias/Terasology/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Josharias/Terasology/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Josharias/Terasology/git/refs{/sha}","trees_url":"https://api.github.com/repos/Josharias/Terasology/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Josharias/Terasology/statuses/{sha}","languages_url":"https://api.github.com/repos/Josharias/Terasology/languages","stargazers_url":"https://api.github.com/repos/Josharias/Terasology/stargazers","contributors_url":"https://api.github.com/repos/Josharias/Terasology/contributors","subscribers_url":"https://api.github.com/repos/Josharias/Terasology/subscribers","subscription_url":"https://api.github.com/repos/Josharias/Terasology/subscription","commits_url":"https://api.github.com/repos/Josharias/Terasology/commits{/sha}","git_commits_url":"https://api.github.com/repos/Josharias/Terasology/git/commits{/sha}","comments_url":"https://api.github.com/repos/Josharias/Terasology/comments{/number}","issue_comment_url":"https://api.github.com/repos/Josharias/Terasology/issues/comments{/number}","contents_url":"https://api.github.com/repos/Josharias/Terasology/contents/{+path}","compare_url":"https://api.github.com/repos/Josharias/Terasology/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Josharias/Terasology/merges","archive_url":"https://api.github.com/repos/Josharias/Terasology/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Josharias/Terasology/downloads","issues_url":"https://api.github.com/repos/Josharias/Terasology/issues{/number}","pulls_url":"https://api.github.com/repos/Josharias/Terasology/pulls{/number}","milestones_url":"https://api.github.com/repos/Josharias/Terasology/milestones{/number}","notifications_url":"https://api.github.com/repos/Josharias/Terasology/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Josharias/Terasology/labels{/name}","releases_url":"https://api.github.com/repos/Josharias/Terasology/releases{/id}","created_at":"2013-11-12T19:03:12Z","updated_at":"2014-07-02T15:03:53Z","pushed_at":"2015-10-06T04:03:55Z","git_url":"git://github.com/Josharias/Terasology.git","ssh_url":"git@github.com:Josharias/Terasology.git","clone_url":"https://github.com/Josharias/Terasology.git","svn_url":"https://github.com/Josharias/Terasology","homepage":"http://terasology.org/","size":201777,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":5,"forks":0,"open_issues":5,"watchers":0,"default_branch":"develop"}},"base":{"label":"MovingBlocks:develop","ref":"develop","sha":"904c56bfbab12ac478e7045d565c7d42aed9753f","user":{"login":"MovingBlocks","id":1292442,"avatar_url":"https://avatars.githubusercontent.com/u/1292442?v=3","gravatar_id":"","url":"https://api.github.com/users/MovingBlocks","html_url":"https://github.com/MovingBlocks","followers_url":"https://api.github.com/users/MovingBlocks/followers","following_url":"https://api.github.com/users/MovingBlocks/following{/other_user}","gists_url":"https://api.github.com/users/MovingBlocks/gists{/gist_id}","starred_url":"https://api.github.com/users/MovingBlocks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MovingBlocks/subscriptions","organizations_url":"https://api.github.com/users/MovingBlocks/orgs","repos_url":"https://api.github.com/users/MovingBlocks/repos","events_url":"https://api.github.com/users/MovingBlocks/events{/privacy}","received_events_url":"https://api.github.com/users/MovingBlocks/received_events","type":"Organization","site_admin":false},"repo":{"id":1438007,"name":"Terasology","full_name":"MovingBlocks/Terasology","owner":{"login":"MovingBlocks","id":1292442,"avatar_url":"https://avatars.githubusercontent.com/u/1292442?v=3","gravatar_id":"","url":"https://api.github.com/users/MovingBlocks","html_url":"https://github.com/MovingBlocks","followers_url":"https://api.github.com/users/MovingBlocks/followers","following_url":"https://api.github.com/users/MovingBlocks/following{/other_user}","gists_url":"https://api.github.com/users/MovingBlocks/gists{/gist_id}","starred_url":"https://api.github.com/users/MovingBlocks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MovingBlocks/subscriptions","organizations_url":"https://api.github.com/users/MovingBlocks/orgs","repos_url":"https://api.github.com/users/MovingBlocks/repos","events_url":"https://api.github.com/users/MovingBlocks/events{/privacy}","received_events_url":"https://api.github.com/users/MovingBlocks/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/MovingBlocks/Terasology","description":"Terasology is an open source project started by Benjamin \"begla\" Glatzel to research procedural terrain generation and efficient rendering techniques in Java using the LWJGL. The engine uses a block-based voxel-like approach as seen in Minecraft.  After proving itself as a solid tech demo begla was joined at first by Anton \"small-jeeper\" Kireev and Rasmus \"Cervator\" Praestholm and a full-fledged game concept was born. Our goal is a game that pays ample tribute to Minecraft in initial look and origin, but stakes out its own niche by adopting the NPC-helper and caretaker feel from such games as Dwarf Fortress and Dungeon Keeper, while striving for added depth and sophistication in the foundation systems akin to DF.","fork":false,"url":"https://api.github.com/repos/MovingBlocks/Terasology","forks_url":"https://api.github.com/repos/MovingBlocks/Terasology/forks","keys_url":"https://api.github.com/repos/MovingBlocks/Terasology/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MovingBlocks/Terasology/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MovingBlocks/Terasology/teams","hooks_url":"https://api.github.com/repos/MovingBlocks/Terasology/hooks","issue_events_url":"https://api.github.com/repos/MovingBlocks/Terasology/issues/events{/number}","events_url":"https://api.github.com/repos/MovingBlocks/Terasology/events","assignees_url":"https://api.github.com/repos/MovingBlocks/Terasology/assignees{/user}","branches_url":"https://api.github.com/repos/MovingBlocks/Terasology/branches{/branch}","tags_url":"https://api.github.com/repos/MovingBlocks/Terasology/tags","blobs_url":"https://api.github.com/repos/MovingBlocks/Terasology/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MovingBlocks/Terasology/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MovingBlocks/Terasology/git/refs{/sha}","trees_url":"https://api.github.com/repos/MovingBlocks/Terasology/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MovingBlocks/Terasology/statuses/{sha}","languages_url":"https://api.github.com/repos/MovingBlocks/Terasology/languages","stargazers_url":"https://api.github.com/repos/MovingBlocks/Terasology/stargazers","contributors_url":"https://api.github.com/repos/MovingBlocks/Terasology/contributors","subscribers_url":"https://api.github.com/repos/MovingBlocks/Terasology/subscribers","subscription_url":"https://api.github.com/repos/MovingBlocks/Terasology/subscription","commits_url":"https://api.github.com/repos/MovingBlocks/Terasology/commits{/sha}","git_commits_url":"https://api.github.com/repos/MovingBlocks/Terasology/git/commits{/sha}","comments_url":"https://api.github.com/repos/MovingBlocks/Terasology/comments{/number}","issue_comment_url":"https://api.github.com/repos/MovingBlocks/Terasology/issues/comments{/number}","contents_url":"https://api.github.com/repos/MovingBlocks/Terasology/contents/{+path}","compare_url":"https://api.github.com/repos/MovingBlocks/Terasology/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MovingBlocks/Terasology/merges","archive_url":"https://api.github.com/repos/MovingBlocks/Terasology/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MovingBlocks/Terasology/downloads","issues_url":"https://api.github.com/repos/MovingBlocks/Terasology/issues{/number}","pulls_url":"https://api.github.com/repos/MovingBlocks/Terasology/pulls{/number}","milestones_url":"https://api.github.com/repos/MovingBlocks/Terasology/milestones{/number}","notifications_url":"https://api.github.com/repos/MovingBlocks/Terasology/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MovingBlocks/Terasology/labels{/name}","releases_url":"https://api.github.com/repos/MovingBlocks/Terasology/releases{/id}","created_at":"2011-03-04T03:49:19Z","updated_at":"2015-10-06T01:47:19Z","pushed_at":"2015-10-04T20:50:31Z","git_url":"git://github.com/MovingBlocks/Terasology.git","ssh_url":"git@github.com:MovingBlocks/Terasology.git","clone_url":"https://github.com/MovingBlocks/Terasology.git","svn_url":"https://github.com/MovingBlocks/Terasology","homepage":"http://terasology.org/","size":330357,"stargazers_count":1148,"watchers_count":1148,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":456,"mirror_url":null,"open_issues_count":305,"forks":456,"open_issues":305,"watchers":1148,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/MovingBlocks/Terasology/pulls/1961"},"html":{"href":"https://github.com/MovingBlocks/Terasology/pull/1961"},"issue":{"href":"https://api.github.com/repos/MovingBlocks/Terasology/issues/1961"},"comments":{"href":"https://api.github.com/repos/MovingBlocks/Terasology/issues/1961/comments"},"review_comments":{"href":"https://api.github.com/repos/MovingBlocks/Terasology/pulls/1961/comments"},"review_comment":{"href":"https://api.github.com/repos/MovingBlocks/Terasology/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/MovingBlocks/Terasology/pulls/1961/commits"},"statuses":{"href":"https://api.github.com/repos/MovingBlocks/Terasology/statuses/f3e4619cff217bf48e43e0a02cbf537ece719acd"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":2,"additions":109,"deletions":35,"changed_files":5}}