{"action":"created","issue":{"url":"https://api.github.com/repos/PrismarineJS/node-minecraft-protocol/issues/331","labels_url":"https://api.github.com/repos/PrismarineJS/node-minecraft-protocol/issues/331/labels{/name}","comments_url":"https://api.github.com/repos/PrismarineJS/node-minecraft-protocol/issues/331/comments","events_url":"https://api.github.com/repos/PrismarineJS/node-minecraft-protocol/issues/331/events","html_url":"https://github.com/PrismarineJS/node-minecraft-protocol/pull/331","id":128449312,"number":331,"title":"[WIP] Add dynamic cross-protocol support","user":{"login":"deathcap","id":5897956,"avatar_url":"https://avatars.githubusercontent.com/u/5897956?v=3","gravatar_id":"","url":"https://api.github.com/users/deathcap","html_url":"https://github.com/deathcap","followers_url":"https://api.github.com/users/deathcap/followers","following_url":"https://api.github.com/users/deathcap/following{/other_user}","gists_url":"https://api.github.com/users/deathcap/gists{/gist_id}","starred_url":"https://api.github.com/users/deathcap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deathcap/subscriptions","organizations_url":"https://api.github.com/users/deathcap/orgs","repos_url":"https://api.github.com/users/deathcap/repos","events_url":"https://api.github.com/users/deathcap/events{/privacy}","received_events_url":"https://api.github.com/users/deathcap/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2016-01-25T02:57:16Z","updated_at":"2016-01-31T19:39:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/PrismarineJS/node-minecraft-protocol/pulls/331","html_url":"https://github.com/PrismarineJS/node-minecraft-protocol/pull/331","diff_url":"https://github.com/PrismarineJS/node-minecraft-protocol/pull/331.diff","patch_url":"https://github.com/PrismarineJS/node-minecraft-protocol/pull/331.patch"},"body":"Implements the dynamic part of https://github.com/PrismarineJS/node-minecraft-protocol/issues/234 Cross version support\r\n\r\nPorted from https://github.com/deathcap/node-minecraft-protocol-auto (which I can deprecate if this is merged)\r\n\r\nTo do:\r\n\r\n* [x] Enhance createClient() to allow waiting/pausing so it can be reconfigured before connect -- src/client/setProtocol.js? (installs client.on('connect') listener)\r\n* [x] Change the protocol negotiation to be supported with a createClient()-compatible API (vs createClientAsync)\r\n* [x] Update to use minecraft-data protocolVersions\r\n* [ ] Move into src/client/ to act as plugin/middleware"},"comment":{"url":"https://api.github.com/repos/PrismarineJS/node-minecraft-protocol/issues/comments/177595548","html_url":"https://github.com/PrismarineJS/node-minecraft-protocol/pull/331#issuecomment-177595548","issue_url":"https://api.github.com/repos/PrismarineJS/node-minecraft-protocol/issues/331","id":177595548,"user":{"login":"deathcap","id":5897956,"avatar_url":"https://avatars.githubusercontent.com/u/5897956?v=3","gravatar_id":"","url":"https://api.github.com/users/deathcap","html_url":"https://github.com/deathcap","followers_url":"https://api.github.com/users/deathcap/followers","following_url":"https://api.github.com/users/deathcap/following{/other_user}","gists_url":"https://api.github.com/users/deathcap/gists{/gist_id}","starred_url":"https://api.github.com/users/deathcap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deathcap/subscriptions","organizations_url":"https://api.github.com/users/deathcap/orgs","repos_url":"https://api.github.com/users/deathcap/repos","events_url":"https://api.github.com/users/deathcap/events{/privacy}","received_events_url":"https://api.github.com/users/deathcap/received_events","type":"User","site_admin":false},"created_at":"2016-01-31T19:39:17Z","updated_at":"2016-01-31T19:39:17Z","body":"Looks like the ping connection is somehow interfering with the subsequent normal connection. `connected` is logged right after \"pinging localhost\", when receiving the client `connect` event, but not for the re-connect with the new version. The program ends because the client receives the `end` event."}}