{"action":"created","comment":{"url":"https://api.github.com/repos/sk89q/CommandHelper/pulls/comments/29112004","id":29112004,"diff_hunk":"@@ -0,0 +1,127 @@\n+package com.laytonsmith.PureUtilities;\n+\n+/**\n+ * Represents a point in 3D space.\n+ *\n+ */\n+public class Point3D {\n+\n+\t/**\n+\t * A Point3D located at [0, 0, 0] (zero)\n+\t */\n+\tpublic static Point3D ZERO = new Point3D();\n+\n+    protected double x;","path":"src/main/java/com/laytonsmith/PureUtilities/Point3D.java","position":14,"original_position":14,"commit_id":"4dfea94a655ca9015dd8b042f5a0282e710004db","original_commit_id":"4dfea94a655ca9015dd8b042f5a0282e710004db","user":{"login":"LadyCailin","id":647786,"avatar_url":"https://avatars.githubusercontent.com/u/647786?v=3","gravatar_id":"","url":"https://api.github.com/users/LadyCailin","html_url":"https://github.com/LadyCailin","followers_url":"https://api.github.com/users/LadyCailin/followers","following_url":"https://api.github.com/users/LadyCailin/following{/other_user}","gists_url":"https://api.github.com/users/LadyCailin/gists{/gist_id}","starred_url":"https://api.github.com/users/LadyCailin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LadyCailin/subscriptions","organizations_url":"https://api.github.com/users/LadyCailin/orgs","repos_url":"https://api.github.com/users/LadyCailin/repos","events_url":"https://api.github.com/users/LadyCailin/events{/privacy}","received_events_url":"https://api.github.com/users/LadyCailin/received_events","type":"User","site_admin":false},"body":"Since these are immutable, you should make these properties final, so they can't be changed.","created_at":"2015-04-26T17:46:05Z","updated_at":"2015-04-26T17:46:05Z","html_url":"https://github.com/sk89q/CommandHelper/pull/299#discussion_r29112004","pull_request_url":"https://api.github.com/repos/sk89q/CommandHelper/pulls/299","_links":{"self":{"href":"https://api.github.com/repos/sk89q/CommandHelper/pulls/comments/29112004"},"html":{"href":"https://github.com/sk89q/CommandHelper/pull/299#discussion_r29112004"},"pull_request":{"href":"https://api.github.com/repos/sk89q/CommandHelper/pulls/299"}}},"pull_request":{"url":"https://api.github.com/repos/sk89q/CommandHelper/pulls/299","id":33920914,"html_url":"https://github.com/sk89q/CommandHelper/pull/299","diff_url":"https://github.com/sk89q/CommandHelper/pull/299.diff","patch_url":"https://github.com/sk89q/CommandHelper/pull/299.patch","issue_url":"https://api.github.com/repos/sk89q/CommandHelper/issues/299","number":299,"state":"open","locked":false,"title":"Multiple updates, fixes, and optimizations to Vector3D, Point3D, and refactors to all classes using them.","user":{"login":"theoctopod","id":4042962,"avatar_url":"https://avatars.githubusercontent.com/u/4042962?v=3","gravatar_id":"","url":"https://api.github.com/users/theoctopod","html_url":"https://github.com/theoctopod","followers_url":"https://api.github.com/users/theoctopod/followers","following_url":"https://api.github.com/users/theoctopod/following{/other_user}","gists_url":"https://api.github.com/users/theoctopod/gists{/gist_id}","starred_url":"https://api.github.com/users/theoctopod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theoctopod/subscriptions","organizations_url":"https://api.github.com/users/theoctopod/orgs","repos_url":"https://api.github.com/users/theoctopod/repos","events_url":"https://api.github.com/users/theoctopod/events{/privacy}","received_events_url":"https://api.github.com/users/theoctopod/received_events","type":"User","site_admin":false},"body":"Basically, the entire point of this PR is to set up for the point/vector functions I plan to make.\r\n\r\n- `Point3D`, previously located in the `PureUtilities.Geometry` class has been moved up into the `PureUtilities` package, with all references updated.\r\n  - `Point3D` is now immutable. All methods are fixed to return new objects instead of modifying the current object's variables.\r\n  - Deprecated the zero constructor. Use `Point3D.ZERO` instead.\r\n  - Added a copy constructor and 2D constructor.\r\n  - Added `translate()` which will translate the current point along the values of another point.\r\n  - Split up `distance()` into `distance()` and `distanceSquared()`.\r\n  - All methods and constructors now have documentation.\r\n- `MVector3D`, previously located in the `abstraction` package is now called `Vector3D` located in the `PureUtilities` package, with all references updated.\r\n  - `Vector3D` is now immutable. All methods will return new objects instead of modifying the current object's variables.\r\n  - `Vector3D` is now subclass of `Point3D`. All point-related methods have been moved to `Point3D`.\r\n  - Deprecated the zero constructor. Use `Vector3D.ZERO` instead.\r\n  - Added a copy constructor and 2D constructor.\r\n  - Added `divide()`, which seemed fitting seeing as there's an `add()`, `substract()`, and `multiply()`\r\n  - Added `dot()` and `cross()`, which will return the dot and cross products of the vector.\r\n  - All methods and constructors now have documentation.\r\n- `PureUtilities.Geometry` has been deleted.\r\n- Added/Rewrote the `vector()` conversion methods. Vectors can be formatted as `array(1, 2, 3)` or `array(x: 1, y: 2, z: 3)` in MethodScript according to these methods.\r\n  - `CArray vector(Vector3D, Target t)` has been deprecated as there's no need for a Target in this conversion. (the location conversion method didn't have it) `CArray vector(Vector3D)` is recommended instead.\r\n  - added `Vector3D vector(CArray, Target t)` conversion method.\r\n","created_at":"2015-04-23T03:12:29Z","updated_at":"2015-04-26T17:46:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2ef9265471700f2293a4ab88fc35bd3f6b7d7f47","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/sk89q/CommandHelper/pulls/299/commits","review_comments_url":"https://api.github.com/repos/sk89q/CommandHelper/pulls/299/comments","review_comment_url":"https://api.github.com/repos/sk89q/CommandHelper/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sk89q/CommandHelper/issues/299/comments","statuses_url":"https://api.github.com/repos/sk89q/CommandHelper/statuses/4dfea94a655ca9015dd8b042f5a0282e710004db","head":{"label":"theoctopod:master","ref":"master","sha":"4dfea94a655ca9015dd8b042f5a0282e710004db","user":{"login":"theoctopod","id":4042962,"avatar_url":"https://avatars.githubusercontent.com/u/4042962?v=3","gravatar_id":"","url":"https://api.github.com/users/theoctopod","html_url":"https://github.com/theoctopod","followers_url":"https://api.github.com/users/theoctopod/followers","following_url":"https://api.github.com/users/theoctopod/following{/other_user}","gists_url":"https://api.github.com/users/theoctopod/gists{/gist_id}","starred_url":"https://api.github.com/users/theoctopod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theoctopod/subscriptions","organizations_url":"https://api.github.com/users/theoctopod/orgs","repos_url":"https://api.github.com/users/theoctopod/repos","events_url":"https://api.github.com/users/theoctopod/events{/privacy}","received_events_url":"https://api.github.com/users/theoctopod/received_events","type":"User","site_admin":false},"repo":{"id":15670551,"name":"commandhelper","full_name":"theoctopod/commandhelper","owner":{"login":"theoctopod","id":4042962,"avatar_url":"https://avatars.githubusercontent.com/u/4042962?v=3","gravatar_id":"","url":"https://api.github.com/users/theoctopod","html_url":"https://github.com/theoctopod","followers_url":"https://api.github.com/users/theoctopod/followers","following_url":"https://api.github.com/users/theoctopod/following{/other_user}","gists_url":"https://api.github.com/users/theoctopod/gists{/gist_id}","starred_url":"https://api.github.com/users/theoctopod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theoctopod/subscriptions","organizations_url":"https://api.github.com/users/theoctopod/orgs","repos_url":"https://api.github.com/users/theoctopod/repos","events_url":"https://api.github.com/users/theoctopod/events{/privacy}","received_events_url":"https://api.github.com/users/theoctopod/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/theoctopod/commandhelper","description":"Rapid scripting and command aliasees for Minecraft owners","fork":true,"url":"https://api.github.com/repos/theoctopod/commandhelper","forks_url":"https://api.github.com/repos/theoctopod/commandhelper/forks","keys_url":"https://api.github.com/repos/theoctopod/commandhelper/keys{/key_id}","collaborators_url":"https://api.github.com/repos/theoctopod/commandhelper/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/theoctopod/commandhelper/teams","hooks_url":"https://api.github.com/repos/theoctopod/commandhelper/hooks","issue_events_url":"https://api.github.com/repos/theoctopod/commandhelper/issues/events{/number}","events_url":"https://api.github.com/repos/theoctopod/commandhelper/events","assignees_url":"https://api.github.com/repos/theoctopod/commandhelper/assignees{/user}","branches_url":"https://api.github.com/repos/theoctopod/commandhelper/branches{/branch}","tags_url":"https://api.github.com/repos/theoctopod/commandhelper/tags","blobs_url":"https://api.github.com/repos/theoctopod/commandhelper/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/theoctopod/commandhelper/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/theoctopod/commandhelper/git/refs{/sha}","trees_url":"https://api.github.com/repos/theoctopod/commandhelper/git/trees{/sha}","statuses_url":"https://api.github.com/repos/theoctopod/commandhelper/statuses/{sha}","languages_url":"https://api.github.com/repos/theoctopod/commandhelper/languages","stargazers_url":"https://api.github.com/repos/theoctopod/commandhelper/stargazers","contributors_url":"https://api.github.com/repos/theoctopod/commandhelper/contributors","subscribers_url":"https://api.github.com/repos/theoctopod/commandhelper/subscribers","subscription_url":"https://api.github.com/repos/theoctopod/commandhelper/subscription","commits_url":"https://api.github.com/repos/theoctopod/commandhelper/commits{/sha}","git_commits_url":"https://api.github.com/repos/theoctopod/commandhelper/git/commits{/sha}","comments_url":"https://api.github.com/repos/theoctopod/commandhelper/comments{/number}","issue_comment_url":"https://api.github.com/repos/theoctopod/commandhelper/issues/comments{/number}","contents_url":"https://api.github.com/repos/theoctopod/commandhelper/contents/{+path}","compare_url":"https://api.github.com/repos/theoctopod/commandhelper/compare/{base}...{head}","merges_url":"https://api.github.com/repos/theoctopod/commandhelper/merges","archive_url":"https://api.github.com/repos/theoctopod/commandhelper/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/theoctopod/commandhelper/downloads","issues_url":"https://api.github.com/repos/theoctopod/commandhelper/issues{/number}","pulls_url":"https://api.github.com/repos/theoctopod/commandhelper/pulls{/number}","milestones_url":"https://api.github.com/repos/theoctopod/commandhelper/milestones{/number}","notifications_url":"https://api.github.com/repos/theoctopod/commandhelper/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/theoctopod/commandhelper/labels{/name}","releases_url":"https://api.github.com/repos/theoctopod/commandhelper/releases{/id}","created_at":"2014-01-06T09:46:57Z","updated_at":"2015-04-23T03:19:27Z","pushed_at":"2015-04-23T03:19:27Z","git_url":"git://github.com/theoctopod/commandhelper.git","ssh_url":"git@github.com:theoctopod/commandhelper.git","clone_url":"https://github.com/theoctopod/commandhelper.git","svn_url":"https://github.com/theoctopod/commandhelper","homepage":"http://wiki.sk89q.com/wiki/CommandHelper","size":17751,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"sk89q:master","ref":"master","sha":"51e82f477d119d63071f162e5c9ba4fc3fc04365","user":{"login":"sk89q","id":38949,"avatar_url":"https://avatars.githubusercontent.com/u/38949?v=3","gravatar_id":"","url":"https://api.github.com/users/sk89q","html_url":"https://github.com/sk89q","followers_url":"https://api.github.com/users/sk89q/followers","following_url":"https://api.github.com/users/sk89q/following{/other_user}","gists_url":"https://api.github.com/users/sk89q/gists{/gist_id}","starred_url":"https://api.github.com/users/sk89q/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sk89q/subscriptions","organizations_url":"https://api.github.com/users/sk89q/orgs","repos_url":"https://api.github.com/users/sk89q/repos","events_url":"https://api.github.com/users/sk89q/events{/privacy}","received_events_url":"https://api.github.com/users/sk89q/received_events","type":"User","site_admin":false},"repo":{"id":1377178,"name":"CommandHelper","full_name":"sk89q/CommandHelper","owner":{"login":"sk89q","id":38949,"avatar_url":"https://avatars.githubusercontent.com/u/38949?v=3","gravatar_id":"","url":"https://api.github.com/users/sk89q","html_url":"https://github.com/sk89q","followers_url":"https://api.github.com/users/sk89q/followers","following_url":"https://api.github.com/users/sk89q/following{/other_user}","gists_url":"https://api.github.com/users/sk89q/gists{/gist_id}","starred_url":"https://api.github.com/users/sk89q/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sk89q/subscriptions","organizations_url":"https://api.github.com/users/sk89q/orgs","repos_url":"https://api.github.com/users/sk89q/repos","events_url":"https://api.github.com/users/sk89q/events{/privacy}","received_events_url":"https://api.github.com/users/sk89q/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sk89q/CommandHelper","description":"Rapid scripting and command aliasees for Minecraft owners","fork":false,"url":"https://api.github.com/repos/sk89q/CommandHelper","forks_url":"https://api.github.com/repos/sk89q/CommandHelper/forks","keys_url":"https://api.github.com/repos/sk89q/CommandHelper/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sk89q/CommandHelper/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sk89q/CommandHelper/teams","hooks_url":"https://api.github.com/repos/sk89q/CommandHelper/hooks","issue_events_url":"https://api.github.com/repos/sk89q/CommandHelper/issues/events{/number}","events_url":"https://api.github.com/repos/sk89q/CommandHelper/events","assignees_url":"https://api.github.com/repos/sk89q/CommandHelper/assignees{/user}","branches_url":"https://api.github.com/repos/sk89q/CommandHelper/branches{/branch}","tags_url":"https://api.github.com/repos/sk89q/CommandHelper/tags","blobs_url":"https://api.github.com/repos/sk89q/CommandHelper/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sk89q/CommandHelper/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sk89q/CommandHelper/git/refs{/sha}","trees_url":"https://api.github.com/repos/sk89q/CommandHelper/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sk89q/CommandHelper/statuses/{sha}","languages_url":"https://api.github.com/repos/sk89q/CommandHelper/languages","stargazers_url":"https://api.github.com/repos/sk89q/CommandHelper/stargazers","contributors_url":"https://api.github.com/repos/sk89q/CommandHelper/contributors","subscribers_url":"https://api.github.com/repos/sk89q/CommandHelper/subscribers","subscription_url":"https://api.github.com/repos/sk89q/CommandHelper/subscription","commits_url":"https://api.github.com/repos/sk89q/CommandHelper/commits{/sha}","git_commits_url":"https://api.github.com/repos/sk89q/CommandHelper/git/commits{/sha}","comments_url":"https://api.github.com/repos/sk89q/CommandHelper/comments{/number}","issue_comment_url":"https://api.github.com/repos/sk89q/CommandHelper/issues/comments{/number}","contents_url":"https://api.github.com/repos/sk89q/CommandHelper/contents/{+path}","compare_url":"https://api.github.com/repos/sk89q/CommandHelper/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sk89q/CommandHelper/merges","archive_url":"https://api.github.com/repos/sk89q/CommandHelper/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sk89q/CommandHelper/downloads","issues_url":"https://api.github.com/repos/sk89q/CommandHelper/issues{/number}","pulls_url":"https://api.github.com/repos/sk89q/CommandHelper/pulls{/number}","milestones_url":"https://api.github.com/repos/sk89q/CommandHelper/milestones{/number}","notifications_url":"https://api.github.com/repos/sk89q/CommandHelper/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sk89q/CommandHelper/labels{/name}","releases_url":"https://api.github.com/repos/sk89q/CommandHelper/releases{/id}","created_at":"2011-02-17T06:02:18Z","updated_at":"2015-04-26T17:41:29Z","pushed_at":"2015-04-26T17:45:16Z","git_url":"git://github.com/sk89q/CommandHelper.git","ssh_url":"git@github.com:sk89q/CommandHelper.git","clone_url":"https://github.com/sk89q/CommandHelper.git","svn_url":"https://github.com/sk89q/CommandHelper","homepage":"http://wiki.sk89q.com/wiki/CommandHelper","size":24025,"stargazers_count":60,"watchers_count":60,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":59,"mirror_url":null,"open_issues_count":8,"forks":59,"open_issues":8,"watchers":60,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/sk89q/CommandHelper/pulls/299"},"html":{"href":"https://github.com/sk89q/CommandHelper/pull/299"},"issue":{"href":"https://api.github.com/repos/sk89q/CommandHelper/issues/299"},"comments":{"href":"https://api.github.com/repos/sk89q/CommandHelper/issues/299/comments"},"review_comments":{"href":"https://api.github.com/repos/sk89q/CommandHelper/pulls/299/comments"},"review_comment":{"href":"https://api.github.com/repos/sk89q/CommandHelper/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sk89q/CommandHelper/pulls/299/commits"},"statuses":{"href":"https://api.github.com/repos/sk89q/CommandHelper/statuses/4dfea94a655ca9015dd8b042f5a0282e710004db"}}}}