{"action":"created","comment":{"url":"https://api.github.com/repos/infectnet/infectnet-server/pulls/comments/90329701","pull_request_review_id":10850705,"id":90329701,"diff_hunk":"@@ -0,0 +1,298 @@\n+package io.infectnet.server.engine.core.world.strategy;\n+\n+import io.infectnet.server.engine.core.world.Position;\n+import io.infectnet.server.engine.core.world.Tile;\n+import io.infectnet.server.engine.core.world.World;\n+\n+import java.util.ArrayList;\n+import java.util.LinkedList;\n+import java.util.List;\n+\n+import static io.infectnet.server.engine.core.world.TileType.CAVE;\n+\n+/**\n+ * Class for Path finding in the world between two Positions, using the A* algorithm.\n+ */\n+public class AStarPathFinderStrategy implements PathFinderStrategy{\n+\n+    /**\n+     * A heuristic to use with value calculating.\n+     */\n+    private final Heuristic heuristic;\n+\n+    /**\n+     * The world, in which we want to find the path.\n+     */\n+    private World world;","path":"server-core/engine/src/main/java/io/infectnet/server/engine/core/world/strategy/AStarPathFinderStrategy.java","position":26,"original_position":26,"commit_id":"5e132aa4f3d00be1c70fa11f6efb778c933e52ed","original_commit_id":"5e132aa4f3d00be1c70fa11f6efb778c933e52ed","user":{"login":"battila7","id":11032092,"avatar_url":"https://avatars.githubusercontent.com/u/11032092?v=3","gravatar_id":"","url":"https://api.github.com/users/battila7","html_url":"https://github.com/battila7","followers_url":"https://api.github.com/users/battila7/followers","following_url":"https://api.github.com/users/battila7/following{/other_user}","gists_url":"https://api.github.com/users/battila7/gists{/gist_id}","starred_url":"https://api.github.com/users/battila7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/battila7/subscriptions","organizations_url":"https://api.github.com/users/battila7/orgs","repos_url":"https://api.github.com/users/battila7/repos","events_url":"https://api.github.com/users/battila7/events{/privacy}","received_events_url":"https://api.github.com/users/battila7/received_events","type":"User","site_admin":false},"body":"All fields except the `heuristic` should be removed because they do not permit the usage of the strategy in a multi-threaded environment. Although it's highly unlikely to operate on multiple `World` instances, even that field should be removed too.","created_at":"2016-11-30T21:16:05Z","updated_at":"2016-11-30T21:16:05Z","html_url":"https://github.com/infectnet/infectnet-server/pull/87#discussion_r90329701","pull_request_url":"https://api.github.com/repos/infectnet/infectnet-server/pulls/87","_links":{"self":{"href":"https://api.github.com/repos/infectnet/infectnet-server/pulls/comments/90329701"},"html":{"href":"https://github.com/infectnet/infectnet-server/pull/87#discussion_r90329701"},"pull_request":{"href":"https://api.github.com/repos/infectnet/infectnet-server/pulls/87"}}},"pull_request":{"url":"https://api.github.com/repos/infectnet/infectnet-server/pulls/87","id":95943131,"html_url":"https://github.com/infectnet/infectnet-server/pull/87","diff_url":"https://github.com/infectnet/infectnet-server/pull/87.diff","patch_url":"https://github.com/infectnet/infectnet-server/pull/87.patch","issue_url":"https://api.github.com/repos/infectnet/infectnet-server/issues/87","number":87,"state":"open","locked":false,"title":"Implement entity pathfinding - closes #68","user":{"login":"szabom5","id":11292259,"avatar_url":"https://avatars.githubusercontent.com/u/11292259?v=3","gravatar_id":"","url":"https://api.github.com/users/szabom5","html_url":"https://github.com/szabom5","followers_url":"https://api.github.com/users/szabom5/followers","following_url":"https://api.github.com/users/szabom5/following{/other_user}","gists_url":"https://api.github.com/users/szabom5/gists{/gist_id}","starred_url":"https://api.github.com/users/szabom5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/szabom5/subscriptions","organizations_url":"https://api.github.com/users/szabom5/orgs","repos_url":"https://api.github.com/users/szabom5/repos","events_url":"https://api.github.com/users/szabom5/events{/privacy}","received_events_url":"https://api.github.com/users/szabom5/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-11-30T18:03:36Z","updated_at":"2016-11-30T21:29:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5d196ca321b018e0f77ef7ef994457944fc8949d","assignee":{"login":"szabom5","id":11292259,"avatar_url":"https://avatars.githubusercontent.com/u/11292259?v=3","gravatar_id":"","url":"https://api.github.com/users/szabom5","html_url":"https://github.com/szabom5","followers_url":"https://api.github.com/users/szabom5/followers","following_url":"https://api.github.com/users/szabom5/following{/other_user}","gists_url":"https://api.github.com/users/szabom5/gists{/gist_id}","starred_url":"https://api.github.com/users/szabom5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/szabom5/subscriptions","organizations_url":"https://api.github.com/users/szabom5/orgs","repos_url":"https://api.github.com/users/szabom5/repos","events_url":"https://api.github.com/users/szabom5/events{/privacy}","received_events_url":"https://api.github.com/users/szabom5/received_events","type":"User","site_admin":false},"assignees":[{"login":"szabom5","id":11292259,"avatar_url":"https://avatars.githubusercontent.com/u/11292259?v=3","gravatar_id":"","url":"https://api.github.com/users/szabom5","html_url":"https://github.com/szabom5","followers_url":"https://api.github.com/users/szabom5/followers","following_url":"https://api.github.com/users/szabom5/following{/other_user}","gists_url":"https://api.github.com/users/szabom5/gists{/gist_id}","starred_url":"https://api.github.com/users/szabom5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/szabom5/subscriptions","organizations_url":"https://api.github.com/users/szabom5/orgs","repos_url":"https://api.github.com/users/szabom5/repos","events_url":"https://api.github.com/users/szabom5/events{/privacy}","received_events_url":"https://api.github.com/users/szabom5/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/infectnet/infectnet-server/milestones/1","html_url":"https://github.com/infectnet/infectnet-server/milestones/Alpha%20Version","labels_url":"https://api.github.com/repos/infectnet/infectnet-server/milestones/1/labels","id":2029227,"number":1,"title":"Alpha Version","description":"The alpha version consists of the following features:\r\n\r\n * Login/Register/Continue\r\n * Working game loop\r\n * Proof of Concept DSL\r\n * One working worker (pun intended)","creator":{"login":"battila7","id":11032092,"avatar_url":"https://avatars.githubusercontent.com/u/11032092?v=3","gravatar_id":"","url":"https://api.github.com/users/battila7","html_url":"https://github.com/battila7","followers_url":"https://api.github.com/users/battila7/followers","following_url":"https://api.github.com/users/battila7/following{/other_user}","gists_url":"https://api.github.com/users/battila7/gists{/gist_id}","starred_url":"https://api.github.com/users/battila7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/battila7/subscriptions","organizations_url":"https://api.github.com/users/battila7/orgs","repos_url":"https://api.github.com/users/battila7/repos","events_url":"https://api.github.com/users/battila7/events{/privacy}","received_events_url":"https://api.github.com/users/battila7/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":72,"state":"open","created_at":"2016-09-26T15:39:58Z","updated_at":"2016-11-30T18:03:36Z","due_on":"2016-12-20T00:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/infectnet/infectnet-server/pulls/87/commits","review_comments_url":"https://api.github.com/repos/infectnet/infectnet-server/pulls/87/comments","review_comment_url":"https://api.github.com/repos/infectnet/infectnet-server/pulls/comments{/number}","comments_url":"https://api.github.com/repos/infectnet/infectnet-server/issues/87/comments","statuses_url":"https://api.github.com/repos/infectnet/infectnet-server/statuses/5e132aa4f3d00be1c70fa11f6efb778c933e52ed","head":{"label":"infectnet:implement-entity-pathfinding-#68","ref":"implement-entity-pathfinding-#68","sha":"5e132aa4f3d00be1c70fa11f6efb778c933e52ed","user":{"login":"infectnet","id":22404572,"avatar_url":"https://avatars.githubusercontent.com/u/22404572?v=3","gravatar_id":"","url":"https://api.github.com/users/infectnet","html_url":"https://github.com/infectnet","followers_url":"https://api.github.com/users/infectnet/followers","following_url":"https://api.github.com/users/infectnet/following{/other_user}","gists_url":"https://api.github.com/users/infectnet/gists{/gist_id}","starred_url":"https://api.github.com/users/infectnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infectnet/subscriptions","organizations_url":"https://api.github.com/users/infectnet/orgs","repos_url":"https://api.github.com/users/infectnet/repos","events_url":"https://api.github.com/users/infectnet/events{/privacy}","received_events_url":"https://api.github.com/users/infectnet/received_events","type":"Organization","site_admin":false},"repo":{"id":69064135,"name":"infectnet-server","full_name":"infectnet/infectnet-server","owner":{"login":"infectnet","id":22404572,"avatar_url":"https://avatars.githubusercontent.com/u/22404572?v=3","gravatar_id":"","url":"https://api.github.com/users/infectnet","html_url":"https://github.com/infectnet","followers_url":"https://api.github.com/users/infectnet/followers","following_url":"https://api.github.com/users/infectnet/following{/other_user}","gists_url":"https://api.github.com/users/infectnet/gists{/gist_id}","starred_url":"https://api.github.com/users/infectnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infectnet/subscriptions","organizations_url":"https://api.github.com/users/infectnet/orgs","repos_url":"https://api.github.com/users/infectnet/repos","events_url":"https://api.github.com/users/infectnet/events{/privacy}","received_events_url":"https://api.github.com/users/infectnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/infectnet/infectnet-server","description":"The game server of InfectNet.","fork":false,"url":"https://api.github.com/repos/infectnet/infectnet-server","forks_url":"https://api.github.com/repos/infectnet/infectnet-server/forks","keys_url":"https://api.github.com/repos/infectnet/infectnet-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/infectnet/infectnet-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/infectnet/infectnet-server/teams","hooks_url":"https://api.github.com/repos/infectnet/infectnet-server/hooks","issue_events_url":"https://api.github.com/repos/infectnet/infectnet-server/issues/events{/number}","events_url":"https://api.github.com/repos/infectnet/infectnet-server/events","assignees_url":"https://api.github.com/repos/infectnet/infectnet-server/assignees{/user}","branches_url":"https://api.github.com/repos/infectnet/infectnet-server/branches{/branch}","tags_url":"https://api.github.com/repos/infectnet/infectnet-server/tags","blobs_url":"https://api.github.com/repos/infectnet/infectnet-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/infectnet/infectnet-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/infectnet/infectnet-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/infectnet/infectnet-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/infectnet/infectnet-server/statuses/{sha}","languages_url":"https://api.github.com/repos/infectnet/infectnet-server/languages","stargazers_url":"https://api.github.com/repos/infectnet/infectnet-server/stargazers","contributors_url":"https://api.github.com/repos/infectnet/infectnet-server/contributors","subscribers_url":"https://api.github.com/repos/infectnet/infectnet-server/subscribers","subscription_url":"https://api.github.com/repos/infectnet/infectnet-server/subscription","commits_url":"https://api.github.com/repos/infectnet/infectnet-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/infectnet/infectnet-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/infectnet/infectnet-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/infectnet/infectnet-server/issues/comments{/number}","contents_url":"https://api.github.com/repos/infectnet/infectnet-server/contents/{+path}","compare_url":"https://api.github.com/repos/infectnet/infectnet-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/infectnet/infectnet-server/merges","archive_url":"https://api.github.com/repos/infectnet/infectnet-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/infectnet/infectnet-server/downloads","issues_url":"https://api.github.com/repos/infectnet/infectnet-server/issues{/number}","pulls_url":"https://api.github.com/repos/infectnet/infectnet-server/pulls{/number}","milestones_url":"https://api.github.com/repos/infectnet/infectnet-server/milestones{/number}","notifications_url":"https://api.github.com/repos/infectnet/infectnet-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/infectnet/infectnet-server/labels{/name}","releases_url":"https://api.github.com/repos/infectnet/infectnet-server/releases{/id}","deployments_url":"https://api.github.com/repos/infectnet/infectnet-server/deployments","created_at":"2016-09-23T22:13:08Z","updated_at":"2016-10-27T13:01:34Z","pushed_at":"2016-11-30T20:53:07Z","git_url":"git://github.com/infectnet/infectnet-server.git","ssh_url":"git@github.com:infectnet/infectnet-server.git","clone_url":"https://github.com/infectnet/infectnet-server.git","svn_url":"https://github.com/infectnet/infectnet-server","homepage":"","size":523,"stargazers_count":4,"watchers_count":4,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":11,"forks":0,"open_issues":11,"watchers":4,"default_branch":"master"}},"base":{"label":"infectnet:develop","ref":"develop","sha":"d52d8c2a05c7666946584c645508cb09a0325ef2","user":{"login":"infectnet","id":22404572,"avatar_url":"https://avatars.githubusercontent.com/u/22404572?v=3","gravatar_id":"","url":"https://api.github.com/users/infectnet","html_url":"https://github.com/infectnet","followers_url":"https://api.github.com/users/infectnet/followers","following_url":"https://api.github.com/users/infectnet/following{/other_user}","gists_url":"https://api.github.com/users/infectnet/gists{/gist_id}","starred_url":"https://api.github.com/users/infectnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infectnet/subscriptions","organizations_url":"https://api.github.com/users/infectnet/orgs","repos_url":"https://api.github.com/users/infectnet/repos","events_url":"https://api.github.com/users/infectnet/events{/privacy}","received_events_url":"https://api.github.com/users/infectnet/received_events","type":"Organization","site_admin":false},"repo":{"id":69064135,"name":"infectnet-server","full_name":"infectnet/infectnet-server","owner":{"login":"infectnet","id":22404572,"avatar_url":"https://avatars.githubusercontent.com/u/22404572?v=3","gravatar_id":"","url":"https://api.github.com/users/infectnet","html_url":"https://github.com/infectnet","followers_url":"https://api.github.com/users/infectnet/followers","following_url":"https://api.github.com/users/infectnet/following{/other_user}","gists_url":"https://api.github.com/users/infectnet/gists{/gist_id}","starred_url":"https://api.github.com/users/infectnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/infectnet/subscriptions","organizations_url":"https://api.github.com/users/infectnet/orgs","repos_url":"https://api.github.com/users/infectnet/repos","events_url":"https://api.github.com/users/infectnet/events{/privacy}","received_events_url":"https://api.github.com/users/infectnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/infectnet/infectnet-server","description":"The game server of InfectNet.","fork":false,"url":"https://api.github.com/repos/infectnet/infectnet-server","forks_url":"https://api.github.com/repos/infectnet/infectnet-server/forks","keys_url":"https://api.github.com/repos/infectnet/infectnet-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/infectnet/infectnet-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/infectnet/infectnet-server/teams","hooks_url":"https://api.github.com/repos/infectnet/infectnet-server/hooks","issue_events_url":"https://api.github.com/repos/infectnet/infectnet-server/issues/events{/number}","events_url":"https://api.github.com/repos/infectnet/infectnet-server/events","assignees_url":"https://api.github.com/repos/infectnet/infectnet-server/assignees{/user}","branches_url":"https://api.github.com/repos/infectnet/infectnet-server/branches{/branch}","tags_url":"https://api.github.com/repos/infectnet/infectnet-server/tags","blobs_url":"https://api.github.com/repos/infectnet/infectnet-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/infectnet/infectnet-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/infectnet/infectnet-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/infectnet/infectnet-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/infectnet/infectnet-server/statuses/{sha}","languages_url":"https://api.github.com/repos/infectnet/infectnet-server/languages","stargazers_url":"https://api.github.com/repos/infectnet/infectnet-server/stargazers","contributors_url":"https://api.github.com/repos/infectnet/infectnet-server/contributors","subscribers_url":"https://api.github.com/repos/infectnet/infectnet-server/subscribers","subscription_url":"https://api.github.com/repos/infectnet/infectnet-server/subscription","commits_url":"https://api.github.com/repos/infectnet/infectnet-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/infectnet/infectnet-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/infectnet/infectnet-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/infectnet/infectnet-server/issues/comments{/number}","contents_url":"https://api.github.com/repos/infectnet/infectnet-server/contents/{+path}","compare_url":"https://api.github.com/repos/infectnet/infectnet-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/infectnet/infectnet-server/merges","archive_url":"https://api.github.com/repos/infectnet/infectnet-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/infectnet/infectnet-server/downloads","issues_url":"https://api.github.com/repos/infectnet/infectnet-server/issues{/number}","pulls_url":"https://api.github.com/repos/infectnet/infectnet-server/pulls{/number}","milestones_url":"https://api.github.com/repos/infectnet/infectnet-server/milestones{/number}","notifications_url":"https://api.github.com/repos/infectnet/infectnet-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/infectnet/infectnet-server/labels{/name}","releases_url":"https://api.github.com/repos/infectnet/infectnet-server/releases{/id}","deployments_url":"https://api.github.com/repos/infectnet/infectnet-server/deployments","created_at":"2016-09-23T22:13:08Z","updated_at":"2016-10-27T13:01:34Z","pushed_at":"2016-11-30T20:53:07Z","git_url":"git://github.com/infectnet/infectnet-server.git","ssh_url":"git@github.com:infectnet/infectnet-server.git","clone_url":"https://github.com/infectnet/infectnet-server.git","svn_url":"https://github.com/infectnet/infectnet-server","homepage":"","size":523,"stargazers_count":4,"watchers_count":4,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":11,"forks":0,"open_issues":11,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/infectnet/infectnet-server/pulls/87"},"html":{"href":"https://github.com/infectnet/infectnet-server/pull/87"},"issue":{"href":"https://api.github.com/repos/infectnet/infectnet-server/issues/87"},"comments":{"href":"https://api.github.com/repos/infectnet/infectnet-server/issues/87/comments"},"review_comments":{"href":"https://api.github.com/repos/infectnet/infectnet-server/pulls/87/comments"},"review_comment":{"href":"https://api.github.com/repos/infectnet/infectnet-server/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/infectnet/infectnet-server/pulls/87/commits"},"statuses":{"href":"https://api.github.com/repos/infectnet/infectnet-server/statuses/5e132aa4f3d00be1c70fa11f6efb778c933e52ed"}}}}
{"actor":{"display_login":"battila7"}}