{"action":"created","comment":{"url":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/comments/27344140","id":27344140,"diff_hunk":"@@ -0,0 +1,399 @@\n+/*\n+ * This file is part of Sponge, licensed under the MIT License (MIT).\n+ *\n+ * Copyright (c) SpongePowered.org <http://www.spongepowered.org>\n+ * Copyright (c) contributors\n+ *\n+ * Permission is hereby granted, free of charge, to any person obtaining a copy\n+ * of this software and associated documentation files (the \"Software\"), to deal\n+ * in the Software without restriction, including without limitation the rights\n+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n+ * copies of the Software, and to permit persons to whom the Software is\n+ * furnished to do so, subject to the following conditions:\n+ *\n+ * The above copyright notice and this permission notice shall be included in\n+ * all copies or substantial portions of the Software.\n+ *\n+ * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n+ * THE SOFTWARE.\n+ */\n+\n+package org.spongepowered.api.world.storage;\n+\n+import com.flowpowered.math.vector.Vector3i;\n+import com.google.common.base.Optional;\n+import org.spongepowered.api.entity.Entity;\n+import org.spongepowered.api.entity.player.gamemode.GameMode;\n+import org.spongepowered.api.service.persistence.DataSerializable;\n+import org.spongepowered.api.service.persistence.data.DataContainer;\n+import org.spongepowered.api.service.persistence.data.DataQuery;\n+import org.spongepowered.api.service.persistence.data.DataView;\n+import org.spongepowered.api.world.DimensionType;\n+import org.spongepowered.api.world.GeneratorType;\n+import org.spongepowered.api.world.WorldBorder;\n+import org.spongepowered.api.world.difficulty.Difficulty;\n+\n+import java.util.Map;\n+import java.util.UUID;\n+\n+/**\n+ * Represents the WorldProperties which are persisted across runtime instances.\n+ */\n+public interface WorldProperties extends DataSerializable {\n+\n+    /**\n+     * Gets whether this world is enabled. If a world is enabled then it will be\n+     * loaded automatically when the server starts.\n+     * \n+     * <p>Additionally a world which is enabled but unloaded may be loaded\n+     * automatically if an attempt is made to transfer an entity to the world\n+     * using\n+     * {@link Entity#transferToWorld(String, com.flowpowered.math.vector.Vector3d)}\n+     * .</p>\n+     * \n+     * @return Is enabled\n+     */\n+    boolean isEnabled();\n+\n+    /**\n+     * Gets the name of this world.\n+     * \n+     * @return The name\n+     */\n+    String getWorldName();\n+\n+    /**\n+     * Sets the name of this world.\n+     * \n+     * @param name The name\n+     */\n+    void setWorldName(String name);\n+    \n+    /**\n+     * Gets the UUID of the world.\n+     * \n+     * @return The UUID\n+     */\n+    UUID getUUID();\n+\n+    /**\n+     * Sets this world as enabled. If a world is enabled then it will be loaded\n+     * automatically when the server starts.\n+     * \n+     * <p>Additionally a world which is enabled but unloaded may be loaded\n+     * automatically if an attempt is made to transfer an entity to the world\n+     * using\n+     * {@link Entity#transferToWorld(String, com.flowpowered.math.vector.Vector3d)}\n+     * .</p>\n+     * \n+     * @param state The new state\n+     */\n+    void setEnabled(boolean state);\n+\n+    /**\n+     * Gets the default spawn position of this world.\n+     * \n+     * @return The spawn position\n+     */\n+    Vector3i getSpawnPosition();\n+\n+    /**\n+     * Sets the default spawn position of this world.\n+     * \n+     * @param position The spawn position\n+     */\n+    void setSpawnPosition(Vector3i position);\n+\n+    /**\n+     * Gets the type of the generator for this world.\n+     * \n+     * @return The type\n+     */\n+    GeneratorType getType();\n+\n+    /**\n+     * Sets the type of this world.\n+     * \n+     * @param type The type\n+     */\n+    void setType(GeneratorType type);\n+\n+    /**\n+     * Gets the seed of this world.\n+     * \n+     * @return The seed\n+     */\n+    long getSeed();\n+\n+    /**\n+     * Sets the seed of this world.\n+     * \n+     * @param seed The seed\n+     */\n+    void setSeed(long seed);\n+\n+    /**\n+     * Gets the number of ticks which have occurred since the world was created.\n+     * \n+     * @return The total time in ticks\n+     */\n+    long getTotalTime();\n+\n+    /**\n+     * Gets the time of day, in ticks. The total number of ticks in a day is\n+     * 24000, however this value does not reset to zero at the start of each day\n+     * but rather keeps counting passed 24000.\n+     * \n+     * @return The time of day\n+     */\n+    long getWorldTime();\n+\n+    /**\n+     * Sets the time of day, in ticks. The total number of ticks in a day is\n+     * 24000, however this value does not reset to zero at the start of each day\n+     * but rather keeps counting passed 24000.\n+     * \n+     * @param time The time of day\n+     */\n+    void setWorldTime(long time);\n+\n+    /*\n+     * TODO pending decision on handling client only API\n+     * \n+     * Gets the Unix time stamp of when this world was last played on.\n+     * \n+     * @return The time this world was last loaded\n+     */\n+    //long getLastTimePlayed();\n+\n+    /**\n+     * Gets the {@link DimensionType} of this world.\n+     * \n+     * @return The dimension type\n+     */\n+    DimensionType getDimensionType();\n+\n+    /**\n+     * Sets the {@link DimensionType} of this world.\n+     * \n+     * @param type The dimension type\n+     */\n+    void setDimensionType(DimensionType type);\n+\n+    /**\n+     * Gets whether this world is currently experiencing rain/snow/cloud-cover\n+     * (depending on the biome of a specific location).\n+     * \n+     * @return Is raining\n+     */\n+    boolean isRaining();\n+\n+    /**\n+     * Sets whether this world is currently experiencing rain/snow/cloud-cover\n+     * (depending on the biome of a specific location).\n+     * \n+     * @param state Is raining\n+     */\n+    void setRaining(boolean state);\n+\n+    /**\n+     * Gets the number of ticks until the weather is next toggled to a new\n+     * random value.\n+     * \n+     * @return The time until the weather changes\n+     */\n+    int getRainTime();\n+\n+    /**\n+     * Sets the number of ticks until the weather is next toggled to a new\n+     * random value.\n+     * \n+     * @param time The time until the weather changes\n+     */\n+    void setRainTime(int time);\n+\n+    /**\n+     * Gets whether this world is currently experiencing a lightning storm.\n+     * \n+     * @return Is thundering\n+     */\n+    boolean isThundering();\n+\n+    /**\n+     * Sets whether this world is currently experiencing a lightning storm.\n+     * \n+     * @param state Is thundering\n+     */\n+    void setThundering(boolean state);\n+\n+    /**\n+     * Gets the number of ticks until the {@link #isThundering()} state is\n+     * toggled to a new random value.\n+     * \n+     * @return The time until the thundering state changes\n+     */\n+    int getThunderTime();\n+\n+    /**\n+     * Sets the number of ticks until the {@link #isThundering()} state is\n+     * toggled to a new random value.\n+     * \n+     * @param time The time until the thundering state changes\n+     */\n+    void setThunderTime(int time);\n+\n+    /**\n+     * Gets the default {@link GameMode} of this world.\n+     * \n+     * @return The game mode\n+     */\n+    GameMode getGameMode();\n+\n+    /**\n+     * Sets the default {@link GameMode} of this world.\n+     * \n+     * @param gamemode The game mode\n+     */\n+    void setGameMode(GameMode gamemode);\n+\n+    /**\n+     * Gets whether this world will generate map features such as villages and\n+     * strongholds.\n+     * \n+     * @return Whether map features enabled\n+     */\n+    boolean usesMapFeatures();\n+\n+    /**\n+     * Sets whether this world will generate map features such as villages and\n+     * strongholds.\n+     * \n+     * @param state Whether map features enabled\n+     */\n+    void setMapFeaturesEnabled(boolean state);\n+\n+    /**\n+     * Gets whether this world is set to hardcore mode.\n+     * \n+     * @return Is hardcore\n+     */\n+    boolean isHardcore();\n+\n+    /**\n+     * Sets whether this world is set to hardcore mode.\n+     * \n+     * @param state Is hardcore\n+     */\n+    void setHardcore(boolean state);\n+\n+    /**\n+     * Gets whether commands are allowed within this world. May not be respected\n+     * when not in single player.\n+     * \n+     * @return Whether commands are allowed\n+     */\n+    boolean areCommandsAllowed();\n+\n+    /**\n+     * Sets whether commands are allowed within this world. May not be respected\n+     * when not in single player.\n+     * \n+     * @param state Whether commands are allowed\n+     */\n+    void areCommandsAllowed(boolean state);\n+\n+    /**\n+     * Gets whether this world has been initialized.\n+     * \n+     * @return Is initialized\n+     */\n+    boolean isInitialized();\n+\n+    /**\n+     * Gets the difficulty of this world.\n+     * \n+     * @return The difficulty\n+     */\n+    Difficulty getDifficulty();\n+\n+    /**\n+     * Sets the difficulty of this world.\n+     * \n+     * @param difficulty The difficulty\n+     */\n+    void setDifficulty(Difficulty difficulty);\n+\n+    /**\n+     * Gets the {@link WorldBorder} of this world.\n+     * \n+     * @return The world border\n+     */\n+    WorldBorder getWorldBorder();","path":"src/main/java/org/spongepowered/api/world/storage/WorldProperties.java","position":336,"original_position":336,"commit_id":"8885ed5754bc396ecc02d592c06c88ba06735590","original_commit_id":"4a34bff8b739426860ad605d67040f6fb024802a","user":{"login":"Deamon5550","id":1249030,"avatar_url":"https://avatars.githubusercontent.com/u/1249030?v=3","gravatar_id":"","url":"https://api.github.com/users/Deamon5550","html_url":"https://github.com/Deamon5550","followers_url":"https://api.github.com/users/Deamon5550/followers","following_url":"https://api.github.com/users/Deamon5550/following{/other_user}","gists_url":"https://api.github.com/users/Deamon5550/gists{/gist_id}","starred_url":"https://api.github.com/users/Deamon5550/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Deamon5550/subscriptions","organizations_url":"https://api.github.com/users/Deamon5550/orgs","repos_url":"https://api.github.com/users/Deamon5550/repos","events_url":"https://api.github.com/users/Deamon5550/events{/privacy}","received_events_url":"https://api.github.com/users/Deamon5550/received_events","type":"User","site_admin":false},"body":"WorldBorder is mutable, why are you wanting to set it? Setting the world border is not something you've ever been able to do to a world, nor should you.","created_at":"2015-03-28T10:52:07Z","updated_at":"2015-03-28T10:52:07Z","html_url":"https://github.com/SpongePowered/SpongeAPI/pull/515#discussion_r27344140","pull_request_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/515","_links":{"self":{"href":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/comments/27344140"},"html":{"href":"https://github.com/SpongePowered/SpongeAPI/pull/515#discussion_r27344140"},"pull_request":{"href":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/515"}}},"pull_request":{"url":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/515","id":31866845,"html_url":"https://github.com/SpongePowered/SpongeAPI/pull/515","diff_url":"https://github.com/SpongePowered/SpongeAPI/pull/515.diff","patch_url":"https://github.com/SpongePowered/SpongeAPI/pull/515.patch","issue_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/515","number":515,"state":"open","locked":false,"title":"Expand World creation process + Add WorldProperties","user":{"login":"Deamon5550","id":1249030,"avatar_url":"https://avatars.githubusercontent.com/u/1249030?v=3","gravatar_id":"","url":"https://api.github.com/users/Deamon5550","html_url":"https://github.com/Deamon5550","followers_url":"https://api.github.com/users/Deamon5550/followers","following_url":"https://api.github.com/users/Deamon5550/following{/other_user}","gists_url":"https://api.github.com/users/Deamon5550/gists{/gist_id}","starred_url":"https://api.github.com/users/Deamon5550/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Deamon5550/subscriptions","organizations_url":"https://api.github.com/users/Deamon5550/orgs","repos_url":"https://api.github.com/users/Deamon5550/repos","events_url":"https://api.github.com/users/Deamon5550/events{/privacy}","received_events_url":"https://api.github.com/users/Deamon5550/received_events","type":"User","site_admin":false},"body":"This PR expands the process for creating worlds.\r\n\r\nNotable new classes:\r\n- `WorldBuilder` This is a builder which can produce instances of `WorldCreationSettings` or `World`s directly.\r\n- `WorldCreationSettings` Holds information which is used to define a new world for creation.\r\n- `WorldProperties` defines numerous properties about the world (essentially a representation of the data with the `level.dat` file).\r\n- `GeneratorType` This is a representation of what you may also think of as a world type, it holds a generator and some settings. Examples are flatland or amplified.","created_at":"2015-03-24T20:31:44Z","updated_at":"2015-03-28T10:52:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ad7ad6855b98a03270a414af094dcd9e05da91ca","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/515/commits","review_comments_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/515/comments","review_comment_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/comments{/number}","comments_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/515/comments","statuses_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/statuses/8885ed5754bc396ecc02d592c06c88ba06735590","head":{"label":"SpongePowered:feature/world-creation","ref":"feature/world-creation","sha":"8885ed5754bc396ecc02d592c06c88ba06735590","user":{"login":"SpongePowered","id":8683473,"avatar_url":"https://avatars.githubusercontent.com/u/8683473?v=3","gravatar_id":"","url":"https://api.github.com/users/SpongePowered","html_url":"https://github.com/SpongePowered","followers_url":"https://api.github.com/users/SpongePowered/followers","following_url":"https://api.github.com/users/SpongePowered/following{/other_user}","gists_url":"https://api.github.com/users/SpongePowered/gists{/gist_id}","starred_url":"https://api.github.com/users/SpongePowered/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpongePowered/subscriptions","organizations_url":"https://api.github.com/users/SpongePowered/orgs","repos_url":"https://api.github.com/users/SpongePowered/repos","events_url":"https://api.github.com/users/SpongePowered/events{/privacy}","received_events_url":"https://api.github.com/users/SpongePowered/received_events","type":"Organization","site_admin":false},"repo":{"id":23770421,"name":"SpongeAPI","full_name":"SpongePowered/SpongeAPI","owner":{"login":"SpongePowered","id":8683473,"avatar_url":"https://avatars.githubusercontent.com/u/8683473?v=3","gravatar_id":"","url":"https://api.github.com/users/SpongePowered","html_url":"https://github.com/SpongePowered","followers_url":"https://api.github.com/users/SpongePowered/followers","following_url":"https://api.github.com/users/SpongePowered/following{/other_user}","gists_url":"https://api.github.com/users/SpongePowered/gists{/gist_id}","starred_url":"https://api.github.com/users/SpongePowered/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpongePowered/subscriptions","organizations_url":"https://api.github.com/users/SpongePowered/orgs","repos_url":"https://api.github.com/users/SpongePowered/repos","events_url":"https://api.github.com/users/SpongePowered/events{/privacy}","received_events_url":"https://api.github.com/users/SpongePowered/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SpongePowered/SpongeAPI","description":"A Minecraft plugin API","fork":false,"url":"https://api.github.com/repos/SpongePowered/SpongeAPI","forks_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/forks","keys_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/teams","hooks_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/hooks","issue_events_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/events{/number}","events_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/events","assignees_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/assignees{/user}","branches_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/branches{/branch}","tags_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/tags","blobs_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/git/refs{/sha}","trees_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/statuses/{sha}","languages_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/languages","stargazers_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/stargazers","contributors_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/contributors","subscribers_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/subscribers","subscription_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/subscription","commits_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/commits{/sha}","git_commits_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/git/commits{/sha}","comments_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/comments{/number}","issue_comment_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/comments{/number}","contents_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/contents/{+path}","compare_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/merges","archive_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/downloads","issues_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues{/number}","pulls_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls{/number}","milestones_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/milestones{/number}","notifications_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/labels{/name}","releases_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/releases{/id}","created_at":"2014-09-07T20:39:25Z","updated_at":"2015-03-28T01:48:05Z","pushed_at":"2015-03-28T10:48:21Z","git_url":"git://github.com/SpongePowered/SpongeAPI.git","ssh_url":"git@github.com:SpongePowered/SpongeAPI.git","clone_url":"https://github.com/SpongePowered/SpongeAPI.git","svn_url":"https://github.com/SpongePowered/SpongeAPI","homepage":"http://www.spongepowered.org/","size":18223,"stargazers_count":752,"watchers_count":752,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":338,"mirror_url":null,"open_issues_count":50,"forks":338,"open_issues":50,"watchers":752,"default_branch":"master"}},"base":{"label":"SpongePowered:master","ref":"master","sha":"e8caa2707f1c44c7f69081039aec6a13907921cb","user":{"login":"SpongePowered","id":8683473,"avatar_url":"https://avatars.githubusercontent.com/u/8683473?v=3","gravatar_id":"","url":"https://api.github.com/users/SpongePowered","html_url":"https://github.com/SpongePowered","followers_url":"https://api.github.com/users/SpongePowered/followers","following_url":"https://api.github.com/users/SpongePowered/following{/other_user}","gists_url":"https://api.github.com/users/SpongePowered/gists{/gist_id}","starred_url":"https://api.github.com/users/SpongePowered/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpongePowered/subscriptions","organizations_url":"https://api.github.com/users/SpongePowered/orgs","repos_url":"https://api.github.com/users/SpongePowered/repos","events_url":"https://api.github.com/users/SpongePowered/events{/privacy}","received_events_url":"https://api.github.com/users/SpongePowered/received_events","type":"Organization","site_admin":false},"repo":{"id":23770421,"name":"SpongeAPI","full_name":"SpongePowered/SpongeAPI","owner":{"login":"SpongePowered","id":8683473,"avatar_url":"https://avatars.githubusercontent.com/u/8683473?v=3","gravatar_id":"","url":"https://api.github.com/users/SpongePowered","html_url":"https://github.com/SpongePowered","followers_url":"https://api.github.com/users/SpongePowered/followers","following_url":"https://api.github.com/users/SpongePowered/following{/other_user}","gists_url":"https://api.github.com/users/SpongePowered/gists{/gist_id}","starred_url":"https://api.github.com/users/SpongePowered/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SpongePowered/subscriptions","organizations_url":"https://api.github.com/users/SpongePowered/orgs","repos_url":"https://api.github.com/users/SpongePowered/repos","events_url":"https://api.github.com/users/SpongePowered/events{/privacy}","received_events_url":"https://api.github.com/users/SpongePowered/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/SpongePowered/SpongeAPI","description":"A Minecraft plugin API","fork":false,"url":"https://api.github.com/repos/SpongePowered/SpongeAPI","forks_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/forks","keys_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/teams","hooks_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/hooks","issue_events_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/events{/number}","events_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/events","assignees_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/assignees{/user}","branches_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/branches{/branch}","tags_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/tags","blobs_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/git/refs{/sha}","trees_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/statuses/{sha}","languages_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/languages","stargazers_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/stargazers","contributors_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/contributors","subscribers_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/subscribers","subscription_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/subscription","commits_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/commits{/sha}","git_commits_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/git/commits{/sha}","comments_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/comments{/number}","issue_comment_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/comments{/number}","contents_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/contents/{+path}","compare_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/merges","archive_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/downloads","issues_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues{/number}","pulls_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls{/number}","milestones_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/milestones{/number}","notifications_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/labels{/name}","releases_url":"https://api.github.com/repos/SpongePowered/SpongeAPI/releases{/id}","created_at":"2014-09-07T20:39:25Z","updated_at":"2015-03-28T01:48:05Z","pushed_at":"2015-03-28T10:48:21Z","git_url":"git://github.com/SpongePowered/SpongeAPI.git","ssh_url":"git@github.com:SpongePowered/SpongeAPI.git","clone_url":"https://github.com/SpongePowered/SpongeAPI.git","svn_url":"https://github.com/SpongePowered/SpongeAPI","homepage":"http://www.spongepowered.org/","size":18223,"stargazers_count":752,"watchers_count":752,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":338,"mirror_url":null,"open_issues_count":50,"forks":338,"open_issues":50,"watchers":752,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/515"},"html":{"href":"https://github.com/SpongePowered/SpongeAPI/pull/515"},"issue":{"href":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/515"},"comments":{"href":"https://api.github.com/repos/SpongePowered/SpongeAPI/issues/515/comments"},"review_comments":{"href":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/515/comments"},"review_comment":{"href":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/SpongePowered/SpongeAPI/pulls/515/commits"},"statuses":{"href":"https://api.github.com/repos/SpongePowered/SpongeAPI/statuses/8885ed5754bc396ecc02d592c06c88ba06735590"}}}}