{"action":"closed","number":2363,"pull_request":{"url":"https://api.github.com/repos/SpigotMC/BungeeCord/pulls/2363","id":171217262,"html_url":"https://github.com/SpigotMC/BungeeCord/pull/2363","diff_url":"https://github.com/SpigotMC/BungeeCord/pull/2363.diff","patch_url":"https://github.com/SpigotMC/BungeeCord/pull/2363.patch","issue_url":"https://api.github.com/repos/SpigotMC/BungeeCord/issues/2363","number":2363,"state":"closed","locked":false,"title":"Chat Component API Improvements","user":{"login":"Mystiflow","id":10323494,"avatar_url":"https://avatars2.githubusercontent.com/u/10323494?v=4","gravatar_id":"","url":"https://api.github.com/users/Mystiflow","html_url":"https://github.com/Mystiflow","followers_url":"https://api.github.com/users/Mystiflow/followers","following_url":"https://api.github.com/users/Mystiflow/following{/other_user}","gists_url":"https://api.github.com/users/Mystiflow/gists{/gist_id}","starred_url":"https://api.github.com/users/Mystiflow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mystiflow/subscriptions","organizations_url":"https://api.github.com/users/Mystiflow/orgs","repos_url":"https://api.github.com/users/Mystiflow/repos","events_url":"https://api.github.com/users/Mystiflow/events{/privacy}","received_events_url":"https://api.github.com/users/Mystiflow/received_events","type":"User","site_admin":false},"body":"- Deprecated ```duplicateWithoutFormatting```. It was a lazy workaround in one of my previous PRs and this PR removes the need for the method. It now includes the ```extra``` part of a BaseComponent to prevent inconsistencies and BaseComponent implementations don't have to override anymore.\r\n\r\n- Updated the ```copyFormatting``` API:\r\n  - Since ```ComponentBuilder``` supports ```BaseComponent``` appends, if an already formatted (ex. colours) component is appended, the formatting of the previous component would copy over. This was updated to only do so if the formatting wasn't set.\r\n  - ```copyFormatting``` isn't supposed to copy ```extra```.\r\n- Support appending a single ```BaseComponent``` without having to create a single element array.\r\n- Copied retain API into ```BaseComponent``` to easily remove formatting or events.","created_at":"2018-02-25T07:19:13Z","updated_at":"2018-03-05T07:24:27Z","closed_at":"2018-03-05T07:24:27Z","merged_at":null,"merge_commit_sha":"cca1882fa7c79c6375abe0a9fc0ea3823605c66c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/SpigotMC/BungeeCord/pulls/2363/commits","review_comments_url":"https://api.github.com/repos/SpigotMC/BungeeCord/pulls/2363/comments","review_comment_url":"https://api.github.com/repos/SpigotMC/BungeeCord/pulls/comments{/number}","comments_url":"https://api.github.com/repos/SpigotMC/BungeeCord/issues/2363/comments","statuses_url":"https://api.github.com/repos/SpigotMC/BungeeCord/statuses/f9063a6ce19b975a300f829d79c13e5d3c985139","head":{"label":"Mystiflow:chat-component-api","ref":"chat-component-api","sha":"f9063a6ce19b975a300f829d79c13e5d3c985139","user":{"login":"Mystiflow","id":10323494,"avatar_url":"https://avatars2.githubusercontent.com/u/10323494?v=4","gravatar_id":"","url":"https://api.github.com/users/Mystiflow","html_url":"https://github.com/Mystiflow","followers_url":"https://api.github.com/users/Mystiflow/followers","following_url":"https://api.github.com/users/Mystiflow/following{/other_user}","gists_url":"https://api.github.com/users/Mystiflow/gists{/gist_id}","starred_url":"https://api.github.com/users/Mystiflow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mystiflow/subscriptions","organizations_url":"https://api.github.com/users/Mystiflow/orgs","repos_url":"https://api.github.com/users/Mystiflow/repos","events_url":"https://api.github.com/users/Mystiflow/events{/privacy}","received_events_url":"https://api.github.com/users/Mystiflow/received_events","type":"User","site_admin":false},"repo":{"id":122794235,"name":"BungeeCord","full_name":"Mystiflow/BungeeCord","owner":{"login":"Mystiflow","id":10323494,"avatar_url":"https://avatars2.githubusercontent.com/u/10323494?v=4","gravatar_id":"","url":"https://api.github.com/users/Mystiflow","html_url":"https://github.com/Mystiflow","followers_url":"https://api.github.com/users/Mystiflow/followers","following_url":"https://api.github.com/users/Mystiflow/following{/other_user}","gists_url":"https://api.github.com/users/Mystiflow/gists{/gist_id}","starred_url":"https://api.github.com/users/Mystiflow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mystiflow/subscriptions","organizations_url":"https://api.github.com/users/Mystiflow/orgs","repos_url":"https://api.github.com/users/Mystiflow/repos","events_url":"https://api.github.com/users/Mystiflow/events{/privacy}","received_events_url":"https://api.github.com/users/Mystiflow/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Mystiflow/BungeeCord","description":"BungeeCord, the 6th in a generation of server portal suites. Efficiently proxies and maintains connections and transport between multiple Minecraft servers.","fork":true,"url":"https://api.github.com/repos/Mystiflow/BungeeCord","forks_url":"https://api.github.com/repos/Mystiflow/BungeeCord/forks","keys_url":"https://api.github.com/repos/Mystiflow/BungeeCord/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Mystiflow/BungeeCord/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Mystiflow/BungeeCord/teams","hooks_url":"https://api.github.com/repos/Mystiflow/BungeeCord/hooks","issue_events_url":"https://api.github.com/repos/Mystiflow/BungeeCord/issues/events{/number}","events_url":"https://api.github.com/repos/Mystiflow/BungeeCord/events","assignees_url":"https://api.github.com/repos/Mystiflow/BungeeCord/assignees{/user}","branches_url":"https://api.github.com/repos/Mystiflow/BungeeCord/branches{/branch}","tags_url":"https://api.github.com/repos/Mystiflow/BungeeCord/tags","blobs_url":"https://api.github.com/repos/Mystiflow/BungeeCord/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Mystiflow/BungeeCord/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Mystiflow/BungeeCord/git/refs{/sha}","trees_url":"https://api.github.com/repos/Mystiflow/BungeeCord/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Mystiflow/BungeeCord/statuses/{sha}","languages_url":"https://api.github.com/repos/Mystiflow/BungeeCord/languages","stargazers_url":"https://api.github.com/repos/Mystiflow/BungeeCord/stargazers","contributors_url":"https://api.github.com/repos/Mystiflow/BungeeCord/contributors","subscribers_url":"https://api.github.com/repos/Mystiflow/BungeeCord/subscribers","subscription_url":"https://api.github.com/repos/Mystiflow/BungeeCord/subscription","commits_url":"https://api.github.com/repos/Mystiflow/BungeeCord/commits{/sha}","git_commits_url":"https://api.github.com/repos/Mystiflow/BungeeCord/git/commits{/sha}","comments_url":"https://api.github.com/repos/Mystiflow/BungeeCord/comments{/number}","issue_comment_url":"https://api.github.com/repos/Mystiflow/BungeeCord/issues/comments{/number}","contents_url":"https://api.github.com/repos/Mystiflow/BungeeCord/contents/{+path}","compare_url":"https://api.github.com/repos/Mystiflow/BungeeCord/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Mystiflow/BungeeCord/merges","archive_url":"https://api.github.com/repos/Mystiflow/BungeeCord/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Mystiflow/BungeeCord/downloads","issues_url":"https://api.github.com/repos/Mystiflow/BungeeCord/issues{/number}","pulls_url":"https://api.github.com/repos/Mystiflow/BungeeCord/pulls{/number}","milestones_url":"https://api.github.com/repos/Mystiflow/BungeeCord/milestones{/number}","notifications_url":"https://api.github.com/repos/Mystiflow/BungeeCord/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Mystiflow/BungeeCord/labels{/name}","releases_url":"https://api.github.com/repos/Mystiflow/BungeeCord/releases{/id}","deployments_url":"https://api.github.com/repos/Mystiflow/BungeeCord/deployments","created_at":"2018-02-25T01:04:26Z","updated_at":"2018-02-25T01:04:29Z","pushed_at":"2018-03-04T20:34:26Z","git_url":"git://github.com/Mystiflow/BungeeCord.git","ssh_url":"git@github.com:Mystiflow/BungeeCord.git","clone_url":"https://github.com/Mystiflow/BungeeCord.git","svn_url":"https://github.com/Mystiflow/BungeeCord","homepage":"https://www.spigotmc.org/go/bungeecord","size":3113,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"SpigotMC:master","ref":"master","sha":"74e077e0fb78a178ea9f2c4dfea2e7fdeeab8a8e","user":{"login":"SpigotMC","id":4350249,"avatar_url":"https://avatars3.githubusercontent.com/u/4350249?v=4","gravatar_id":"","url":"https://api.github.com/users/SpigotMC","html_url":"https://github.com/SpigotMC","followers_url":"https://api.github.com/users/SpigotMC/followers","following_url":"https://api.github.com/users/SpigotMC/following{/other_user}","gists_url":"https://api.github.com/users/SpigotMC/gists{/gist_id}","starred_url":"https://api.github.com/users/SpigotMC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpigotMC/subscriptions","organizations_url":"https://api.github.com/users/SpigotMC/orgs","repos_url":"https://api.github.com/users/SpigotMC/repos","events_url":"https://api.github.com/users/SpigotMC/events{/privacy}","received_events_url":"https://api.github.com/users/SpigotMC/received_events","type":"Organization","site_admin":false},"repo":{"id":6084210,"name":"BungeeCord","full_name":"SpigotMC/BungeeCord","owner":{"login":"SpigotMC","id":4350249,"avatar_url":"https://avatars3.githubusercontent.com/u/4350249?v=4","gravatar_id":"","url":"https://api.github.com/users/SpigotMC","html_url":"https://github.com/SpigotMC","followers_url":"https://api.github.com/users/SpigotMC/followers","following_url":"https://api.github.com/users/SpigotMC/following{/other_user}","gists_url":"https://api.github.com/users/SpigotMC/gists{/gist_id}","starred_url":"https://api.github.com/users/SpigotMC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpigotMC/subscriptions","organizations_url":"https://api.github.com/users/SpigotMC/orgs","repos_url":"https://api.github.com/users/SpigotMC/repos","events_url":"https://api.github.com/users/SpigotMC/events{/privacy}","received_events_url":"https://api.github.com/users/SpigotMC/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SpigotMC/BungeeCord","description":"BungeeCord, the 6th in a generation of server portal suites. Efficiently proxies and maintains connections and transport between multiple Minecraft servers.","fork":false,"url":"https://api.github.com/repos/SpigotMC/BungeeCord","forks_url":"https://api.github.com/repos/SpigotMC/BungeeCord/forks","keys_url":"https://api.github.com/repos/SpigotMC/BungeeCord/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SpigotMC/BungeeCord/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SpigotMC/BungeeCord/teams","hooks_url":"https://api.github.com/repos/SpigotMC/BungeeCord/hooks","issue_events_url":"https://api.github.com/repos/SpigotMC/BungeeCord/issues/events{/number}","events_url":"https://api.github.com/repos/SpigotMC/BungeeCord/events","assignees_url":"https://api.github.com/repos/SpigotMC/BungeeCord/assignees{/user}","branches_url":"https://api.github.com/repos/SpigotMC/BungeeCord/branches{/branch}","tags_url":"https://api.github.com/repos/SpigotMC/BungeeCord/tags","blobs_url":"https://api.github.com/repos/SpigotMC/BungeeCord/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SpigotMC/BungeeCord/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SpigotMC/BungeeCord/git/refs{/sha}","trees_url":"https://api.github.com/repos/SpigotMC/BungeeCord/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SpigotMC/BungeeCord/statuses/{sha}","languages_url":"https://api.github.com/repos/SpigotMC/BungeeCord/languages","stargazers_url":"https://api.github.com/repos/SpigotMC/BungeeCord/stargazers","contributors_url":"https://api.github.com/repos/SpigotMC/BungeeCord/contributors","subscribers_url":"https://api.github.com/repos/SpigotMC/BungeeCord/subscribers","subscription_url":"https://api.github.com/repos/SpigotMC/BungeeCord/subscription","commits_url":"https://api.github.com/repos/SpigotMC/BungeeCord/commits{/sha}","git_commits_url":"https://api.github.com/repos/SpigotMC/BungeeCord/git/commits{/sha}","comments_url":"https://api.github.com/repos/SpigotMC/BungeeCord/comments{/number}","issue_comment_url":"https://api.github.com/repos/SpigotMC/BungeeCord/issues/comments{/number}","contents_url":"https://api.github.com/repos/SpigotMC/BungeeCord/contents/{+path}","compare_url":"https://api.github.com/repos/SpigotMC/BungeeCord/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SpigotMC/BungeeCord/merges","archive_url":"https://api.github.com/repos/SpigotMC/BungeeCord/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SpigotMC/BungeeCord/downloads","issues_url":"https://api.github.com/repos/SpigotMC/BungeeCord/issues{/number}","pulls_url":"https://api.github.com/repos/SpigotMC/BungeeCord/pulls{/number}","milestones_url":"https://api.github.com/repos/SpigotMC/BungeeCord/milestones{/number}","notifications_url":"https://api.github.com/repos/SpigotMC/BungeeCord/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SpigotMC/BungeeCord/labels{/name}","releases_url":"https://api.github.com/repos/SpigotMC/BungeeCord/releases{/id}","deployments_url":"https://api.github.com/repos/SpigotMC/BungeeCord/deployments","created_at":"2012-10-05T01:01:56Z","updated_at":"2018-02-27T20:13:47Z","pushed_at":"2018-03-04T20:34:27Z","git_url":"git://github.com/SpigotMC/BungeeCord.git","ssh_url":"git@github.com:SpigotMC/BungeeCord.git","clone_url":"https://github.com/SpigotMC/BungeeCord.git","svn_url":"https://github.com/SpigotMC/BungeeCord","homepage":"https://www.spigotmc.org/go/bungeecord","size":3088,"stargazers_count":602,"watchers_count":602,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":754,"mirror_url":null,"archived":false,"open_issues_count":101,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":754,"open_issues":101,"watchers":602,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/SpigotMC/BungeeCord/pulls/2363"},"html":{"href":"https://github.com/SpigotMC/BungeeCord/pull/2363"},"issue":{"href":"https://api.github.com/repos/SpigotMC/BungeeCord/issues/2363"},"comments":{"href":"https://api.github.com/repos/SpigotMC/BungeeCord/issues/2363/comments"},"review_comments":{"href":"https://api.github.com/repos/SpigotMC/BungeeCord/pulls/2363/comments"},"review_comment":{"href":"https://api.github.com/repos/SpigotMC/BungeeCord/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/SpigotMC/BungeeCord/pulls/2363/commits"},"statuses":{"href":"https://api.github.com/repos/SpigotMC/BungeeCord/statuses/f9063a6ce19b975a300f829d79c13e5d3c985139"}},"author_association":"CONTRIBUTOR","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"clean","merged_by":null,"comments":9,"review_comments":2,"maintainer_can_modify":false,"commits":11,"additions":224,"deletions":84,"changed_files":9}}
{"actor":{"display_login":"md-5"}}