{"action":"created","comment":{"url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/comments/128892532","pull_request_review_id":51618639,"id":128892532,"diff_hunk":"@@ -0,0 +1,1275 @@\n+package com.minecolonies.api.colony.requestsystem;\n+\n+import com.google.common.collect.BiMap;\n+import com.google.common.collect.HashBiMap;\n+import com.google.common.collect.ImmutableCollection;\n+import com.google.common.collect.ImmutableList;\n+import com.google.common.reflect.TypeToken;\n+import com.minecolonies.api.colony.IColony;\n+import com.minecolonies.api.colony.requestsystem.factory.IFactoryController;\n+import com.minecolonies.api.colony.requestsystem.request.IRequest;\n+import com.minecolonies.api.colony.requestsystem.requester.IRequester;\n+import com.minecolonies.api.colony.requestsystem.resolver.IRequestResolver;\n+import com.minecolonies.api.colony.requestsystem.resolver.IRequestResolverProvider;\n+import com.minecolonies.api.colony.requestsystem.token.IToken;\n+import com.minecolonies.api.colony.requestsystem.token.StandardToken;\n+import com.minecolonies.api.util.Log;\n+import net.minecraft.nbt.NBTTagCompound;\n+import org.jetbrains.annotations.NotNull;\n+import org.jetbrains.annotations.Nullable;\n+\n+import java.util.*;\n+import java.util.stream.Collectors;\n+\n+/**\n+ * Main class of the request system.\n+ * Default implementation of the IRequestManager interface.\n+ * <p>\n+ * Uses\n+ */\n+@SuppressWarnings(\"squid:S2972\")\n+/**\n+ * We have this class the way it is for a reason.\n+ */\n+public class StandardRequestManager implements IRequestManager\n+{\n+\n+    /**\n+     * BiMap that holds unique token to provider lookup.\n+     */\n+    @NotNull\n+    private final BiMap<IToken, IRequestResolverProvider> providerBiMap = HashBiMap.create();\n+\n+    /**\n+     * BiMap that holds unique token to resolver lookup.\n+     */\n+    @NotNull\n+    private final BiMap<IToken, IRequestResolver> resolverBiMap = HashBiMap.create();\n+\n+    /**\n+     * BiMap that holds unique token to request lookup.\n+     */\n+    @NotNull\n+    private final BiMap<IToken, IRequest> requestBiMap = HashBiMap.create();\n+\n+    /**\n+     * Map that holds the resolvers that are linked to a given provider.\n+     */\n+    @NotNull\n+    private final Map<IToken, ImmutableCollection<IToken>> providerResolverMap = new HashMap<>();\n+\n+    /**\n+     * Map that holds the requests that are linked to a given resolver.\n+     */\n+    @NotNull\n+    private final Map<IToken, Collection<IToken>> resolverRequestMap = new HashMap<>();\n+\n+    /**\n+     * Map that holds the resolver that is linked to a given request.\n+     */\n+    @NotNull\n+    private final Map<IToken, IToken> requestResolverMap = new HashMap<>();\n+\n+    /**\n+     * Map that holds the class that resolver can resolve. Used during lookup.\n+     */\n+    @NotNull\n+    private final Map<Class, Collection<IRequestResolver>> requestClassResolverMap = new HashMap<>();\n+    /**\n+     * The fallback resolver used to resolve directly to the player.\n+     * TODO: Assign resolver once implemented.\n+     */\n+    @NotNull\n+    private final static IRequestResolver                             playerResolver          = null;\n+    /**\n+     * Colony of the manager.\n+     */\n+    @NotNull\n+    private final IColony colony;\n+\n+    public StandardRequestManager(@NotNull final IColony colony)\n+    {\n+        this.colony = colony;\n+    }\n+\n+    /**\n+     * The colony this manager manages the requests for.\n+     *\n+     * @return The colony this manager manages the requests for.\n+     */\n+    @NotNull\n+    @Override\n+    public IColony getColony()\n+    {\n+        return colony;\n+    }\n+\n+    /**\n+     * Method used to serialize the current request system to NBT.\n+     *\n+     * @return The NBTData that describes the current request system\n+     */\n+    @Override\n+    public NBTTagCompound serializeNBT()\n+    {\n+        return null;\n+    }\n+\n+    /**\n+     * Class used to handle the inner workings of the request system with regards to providers.\n+     */\n+    private final static class ProviderHandler\n+    {\n+\n+        /**\n+         * Method used to get the registered resolvers for a given provider.\n+         *\n+         * @param manager  The manager to pull the data from.\n+         * @param provider The provider you are requesting the resolvers for.\n+         * @return The registered resolvers that belong to the given provider.\n+         *\n+         * @throws IllegalArgumentException when the token is not belonging to a registered provider.\n+         */\n+        private static ImmutableCollection<IToken> getRegisteredResolvers(final StandardRequestManager manager, final IRequestResolverProvider provider)\n+          throws IllegalArgumentException\n+        {\n+            //Check if the token is registered.\n+            getProvider(manager, provider.getToken());\n+\n+            return manager.providerResolverMap.get(provider.getToken());\n+        }\n+\n+        /**\n+         * Method used to get a provider from a token.\n+         *\n+         * @param token The token to get the provider form.\n+         * @return The provider that corresponds to the given token\n+         *\n+         * @throws IllegalArgumentException when no provider is not registered with the given token.\n+         */\n+        private static IRequestResolverProvider getProvider(final StandardRequestManager manager, final IToken token) throws IllegalArgumentException\n+        {\n+            if (!manager.providerBiMap.containsKey(token))\n+            {\n+                throw new IllegalArgumentException(\"The given token for a provider is not registered\");\n+            }\n+\n+            return manager.providerBiMap.get(token);\n+        }\n+\n+        /**\n+         * Method used to register a provider to a given manager.\n+         *\n+         * @param manager  The manager to register them to.\n+         * @param provider The provider that provides the resolvers.\n+         * @throws IllegalArgumentException is thrown when a provider is already registered.\n+         */\n+        private static void registerProvider(final StandardRequestManager manager, final IRequestResolverProvider provider) throws IllegalArgumentException\n+        {\n+            if (manager.providerBiMap.containsKey(provider.getToken()) ||\n+                  manager.providerBiMap.containsValue(provider))\n+            {\n+                throw new IllegalArgumentException(\"The given provider is already registered\");\n+            }\n+\n+            manager.providerBiMap.put(provider.getToken(), provider);\n+\n+            final ImmutableList.Builder<IToken> resolverListBuilder = new ImmutableList.Builder<>();\n+            resolverListBuilder.addAll(ResolverHandler.registerResolvers(manager, provider.getResolvers()));\n+\n+            manager.providerResolverMap.put(provider.getToken(), resolverListBuilder.build());\n+        }\n+\n+        private static void removeProvider(final StandardRequestManager manager, final IToken token) throws IllegalArgumentException\n+        {\n+            removeProviderInternal(manager, token);\n+        }\n+\n+        /**\n+         * Internal method that handles the reassignment\n+         *\n+         * @param manager The manager that is being modified.\n+         * @param token   The token of the provider that is being removed.\n+         * @throws IllegalArgumentException is thrown when the token is not registered to a provider, or when the data stored in the manager is in conflict.\n+         */\n+        @SuppressWarnings(\"unchecked\")","path":"src/api/java/com/minecolonies/api/colony/requestsystem/StandardRequestManager.java","position":195,"original_position":195,"commit_id":"26412cef89a61b1bef26dcb359e8d747ea5df0d9","original_commit_id":"26412cef89a61b1bef26dcb359e8d747ea5df0d9","user":{"login":"codacy-bot","id":19940114,"avatar_url":"https://avatars1.githubusercontent.com/u/19940114?v=4","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"body":"![Codacy](https://www.codacy.com/assets/images/favicon.png) Issue found: [The String literal \"unchecked\" appears 8 times in this file; the first occurrence is on line 191](https://www.codacy.com/app/Minecolonies/minecolonies/pullRequest?prid=787777)","created_at":"2017-07-22T08:27:04Z","updated_at":"2017-07-22T08:27:04Z","html_url":"https://github.com/Minecolonies/minecolonies/pull/1305#discussion_r128892532","pull_request_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1305","_links":{"self":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/comments/128892532"},"html":{"href":"https://github.com/Minecolonies/minecolonies/pull/1305#discussion_r128892532"},"pull_request":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1305"}}},"pull_request":{"url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1305","id":131714700,"html_url":"https://github.com/Minecolonies/minecolonies/pull/1305","diff_url":"https://github.com/Minecolonies/minecolonies/pull/1305.diff","patch_url":"https://github.com/Minecolonies/minecolonies/pull/1305.patch","issue_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/1305","number":1305,"state":"open","locked":false,"title":"[Clean Up] Initial parts of the Request system.","user":{"login":"OrionDevelopment","id":5585406,"avatar_url":"https://avatars2.githubusercontent.com/u/5585406?v=4","gravatar_id":"","url":"https://api.github.com/users/OrionDevelopment","html_url":"https://github.com/OrionDevelopment","followers_url":"https://api.github.com/users/OrionDevelopment/followers","following_url":"https://api.github.com/users/OrionDevelopment/following{/other_user}","gists_url":"https://api.github.com/users/OrionDevelopment/gists{/gist_id}","starred_url":"https://api.github.com/users/OrionDevelopment/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OrionDevelopment/subscriptions","organizations_url":"https://api.github.com/users/OrionDevelopment/orgs","repos_url":"https://api.github.com/users/OrionDevelopment/repos","events_url":"https://api.github.com/users/OrionDevelopment/events{/privacy}","received_events_url":"https://api.github.com/users/OrionDevelopment/received_events","type":"User","site_admin":false},"body":"# Clean Up -PR\r\nI have exams coming up and as such I have less time to write and clean up my code. As i have a bunch of highly interesting stuff on my harddrive (this included) we decided to give for example @Asherslab the possibility to clean up my work and make it ready for release, anybody is welcome to contact me and help clean up those Major reworks. So here is the first one: The initial part of the request System:\r\n\r\n--------------------------------------------------------------------------------------------------------------------\r\n\r\nAs requested by @Raycoms I started pulling out some of the classes that are related to the Requestsystem.\r\nSo here we go:\r\n\r\n### This PR contains:\r\n * A fully working but not tested StandardRequestManager\r\n * Requests for several different Types and their Factories\r\n * A initial working Resolver for several types. However as I have not done any functional tests I have no idea if these work as intended or if i have to cover some additional cornercases.\r\n * A hotfix for the SFC to fix the Problems that @Raycoms was having.\r\n\r\n### What the request system should be able todo:\r\n  * Primarily let the colony determine on its own if it needs the Player to supply an Item, or if it can supply it itself (known as resolving a request).\r\n  * Process requests that might take time until they are completed (delayed resolving)\r\n  * Process requests that consist out of one or more child requests.\r\n  * Have a single Point of interaction (IRequestManager)\r\n  * Have a properly defined API\r\n\r\n### What are the important classes in this PR:\r\n  * The implementation of the IRequestManager Interface. The StandardRequestManager. It is the heart and soul of the request sytem. As reviewers i would like you find weakspots in its implementation, did I miss something? Could something be implemented faster? Could something be implemented better?\r\n  * The StandardFactoryController it will be the new heart for Ser, Deser and Objectcreation. It already comes with Unittests that verifiy its functionality and integrity.\r\n\r\n### What needs to be done to make it complete:\r\n * Implement a Resolver for Player based request resolving.\r\n * Add a Postbox to each Building to allow for drop-off detection by the Player.\r\n * Add resolvers for different types of requests.\r\n\r\nReview please\r\n","created_at":"2017-07-21T07:36:41Z","updated_at":"2017-07-22T08:27:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d53041648dc3ab1fd2685d391cdf40b7c693144c","assignee":{"login":"OrionDevelopment","id":5585406,"avatar_url":"https://avatars2.githubusercontent.com/u/5585406?v=4","gravatar_id":"","url":"https://api.github.com/users/OrionDevelopment","html_url":"https://github.com/OrionDevelopment","followers_url":"https://api.github.com/users/OrionDevelopment/followers","following_url":"https://api.github.com/users/OrionDevelopment/following{/other_user}","gists_url":"https://api.github.com/users/OrionDevelopment/gists{/gist_id}","starred_url":"https://api.github.com/users/OrionDevelopment/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OrionDevelopment/subscriptions","organizations_url":"https://api.github.com/users/OrionDevelopment/orgs","repos_url":"https://api.github.com/users/OrionDevelopment/repos","events_url":"https://api.github.com/users/OrionDevelopment/events{/privacy}","received_events_url":"https://api.github.com/users/OrionDevelopment/received_events","type":"User","site_admin":false},"assignees":[{"login":"OrionDevelopment","id":5585406,"avatar_url":"https://avatars2.githubusercontent.com/u/5585406?v=4","gravatar_id":"","url":"https://api.github.com/users/OrionDevelopment","html_url":"https://github.com/OrionDevelopment","followers_url":"https://api.github.com/users/OrionDevelopment/followers","following_url":"https://api.github.com/users/OrionDevelopment/following{/other_user}","gists_url":"https://api.github.com/users/OrionDevelopment/gists{/gist_id}","starred_url":"https://api.github.com/users/OrionDevelopment/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OrionDevelopment/subscriptions","organizations_url":"https://api.github.com/users/OrionDevelopment/orgs","repos_url":"https://api.github.com/users/OrionDevelopment/repos","events_url":"https://api.github.com/users/OrionDevelopment/events{/privacy}","received_events_url":"https://api.github.com/users/OrionDevelopment/received_events","type":"User","site_admin":false},{"login":"Asherslab","id":28527281,"avatar_url":"https://avatars1.githubusercontent.com/u/28527281?v=4","gravatar_id":"","url":"https://api.github.com/users/Asherslab","html_url":"https://github.com/Asherslab","followers_url":"https://api.github.com/users/Asherslab/followers","following_url":"https://api.github.com/users/Asherslab/following{/other_user}","gists_url":"https://api.github.com/users/Asherslab/gists{/gist_id}","starred_url":"https://api.github.com/users/Asherslab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Asherslab/subscriptions","organizations_url":"https://api.github.com/users/Asherslab/orgs","repos_url":"https://api.github.com/users/Asherslab/repos","events_url":"https://api.github.com/users/Asherslab/events{/privacy}","received_events_url":"https://api.github.com/users/Asherslab/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"Kostronor","id":644950,"avatar_url":"https://avatars2.githubusercontent.com/u/644950?v=4","gravatar_id":"","url":"https://api.github.com/users/Kostronor","html_url":"https://github.com/Kostronor","followers_url":"https://api.github.com/users/Kostronor/followers","following_url":"https://api.github.com/users/Kostronor/following{/other_user}","gists_url":"https://api.github.com/users/Kostronor/gists{/gist_id}","starred_url":"https://api.github.com/users/Kostronor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kostronor/subscriptions","organizations_url":"https://api.github.com/users/Kostronor/orgs","repos_url":"https://api.github.com/users/Kostronor/repos","events_url":"https://api.github.com/users/Kostronor/events{/privacy}","received_events_url":"https://api.github.com/users/Kostronor/received_events","type":"User","site_admin":false},{"login":"xavierh","id":2778556,"avatar_url":"https://avatars3.githubusercontent.com/u/2778556?v=4","gravatar_id":"","url":"https://api.github.com/users/xavierh","html_url":"https://github.com/xavierh","followers_url":"https://api.github.com/users/xavierh/followers","following_url":"https://api.github.com/users/xavierh/following{/other_user}","gists_url":"https://api.github.com/users/xavierh/gists{/gist_id}","starred_url":"https://api.github.com/users/xavierh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xavierh/subscriptions","organizations_url":"https://api.github.com/users/xavierh/orgs","repos_url":"https://api.github.com/users/xavierh/repos","events_url":"https://api.github.com/users/xavierh/events{/privacy}","received_events_url":"https://api.github.com/users/xavierh/received_events","type":"User","site_admin":false},{"login":"Raycoms","id":6438347,"avatar_url":"https://avatars1.githubusercontent.com/u/6438347?v=4","gravatar_id":"","url":"https://api.github.com/users/Raycoms","html_url":"https://github.com/Raycoms","followers_url":"https://api.github.com/users/Raycoms/followers","following_url":"https://api.github.com/users/Raycoms/following{/other_user}","gists_url":"https://api.github.com/users/Raycoms/gists{/gist_id}","starred_url":"https://api.github.com/users/Raycoms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Raycoms/subscriptions","organizations_url":"https://api.github.com/users/Raycoms/orgs","repos_url":"https://api.github.com/users/Raycoms/repos","events_url":"https://api.github.com/users/Raycoms/events{/privacy}","received_events_url":"https://api.github.com/users/Raycoms/received_events","type":"User","site_admin":false},{"login":"Asherslab","id":28527281,"avatar_url":"https://avatars1.githubusercontent.com/u/28527281?v=4","gravatar_id":"","url":"https://api.github.com/users/Asherslab","html_url":"https://github.com/Asherslab","followers_url":"https://api.github.com/users/Asherslab/followers","following_url":"https://api.github.com/users/Asherslab/following{/other_user}","gists_url":"https://api.github.com/users/Asherslab/gists{/gist_id}","starred_url":"https://api.github.com/users/Asherslab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Asherslab/subscriptions","organizations_url":"https://api.github.com/users/Asherslab/orgs","repos_url":"https://api.github.com/users/Asherslab/repos","events_url":"https://api.github.com/users/Asherslab/events{/privacy}","received_events_url":"https://api.github.com/users/Asherslab/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/Minecolonies/minecolonies/milestones/1","html_url":"https://github.com/Minecolonies/minecolonies/milestone/1","labels_url":"https://api.github.com/repos/Minecolonies/minecolonies/milestones/1/labels","id":1940358,"number":1,"title":"Material Handling","description":"","creator":{"login":"Kostronor","id":644950,"avatar_url":"https://avatars2.githubusercontent.com/u/644950?v=4","gravatar_id":"","url":"https://api.github.com/users/Kostronor","html_url":"https://github.com/Kostronor","followers_url":"https://api.github.com/users/Kostronor/followers","following_url":"https://api.github.com/users/Kostronor/following{/other_user}","gists_url":"https://api.github.com/users/Kostronor/gists{/gist_id}","starred_url":"https://api.github.com/users/Kostronor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kostronor/subscriptions","organizations_url":"https://api.github.com/users/Kostronor/orgs","repos_url":"https://api.github.com/users/Kostronor/repos","events_url":"https://api.github.com/users/Kostronor/events{/privacy}","received_events_url":"https://api.github.com/users/Kostronor/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":11,"state":"open","created_at":"2016-08-13T17:38:27Z","updated_at":"2017-07-21T07:36:41Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1305/commits","review_comments_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1305/comments","review_comment_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/1305/comments","statuses_url":"https://api.github.com/repos/Minecolonies/minecolonies/statuses/26412cef89a61b1bef26dcb359e8d747ea5df0d9","head":{"label":"Minecolonies:clean-up/request-system","ref":"clean-up/request-system","sha":"26412cef89a61b1bef26dcb359e8d747ea5df0d9","user":{"login":"Minecolonies","id":5167336,"avatar_url":"https://avatars3.githubusercontent.com/u/5167336?v=4","gravatar_id":"","url":"https://api.github.com/users/Minecolonies","html_url":"https://github.com/Minecolonies","followers_url":"https://api.github.com/users/Minecolonies/followers","following_url":"https://api.github.com/users/Minecolonies/following{/other_user}","gists_url":"https://api.github.com/users/Minecolonies/gists{/gist_id}","starred_url":"https://api.github.com/users/Minecolonies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Minecolonies/subscriptions","organizations_url":"https://api.github.com/users/Minecolonies/orgs","repos_url":"https://api.github.com/users/Minecolonies/repos","events_url":"https://api.github.com/users/Minecolonies/events{/privacy}","received_events_url":"https://api.github.com/users/Minecolonies/received_events","type":"Organization","site_admin":false},"repo":{"id":65616760,"name":"minecolonies","full_name":"Minecolonies/minecolonies","owner":{"login":"Minecolonies","id":5167336,"avatar_url":"https://avatars3.githubusercontent.com/u/5167336?v=4","gravatar_id":"","url":"https://api.github.com/users/Minecolonies","html_url":"https://github.com/Minecolonies","followers_url":"https://api.github.com/users/Minecolonies/followers","following_url":"https://api.github.com/users/Minecolonies/following{/other_user}","gists_url":"https://api.github.com/users/Minecolonies/gists{/gist_id}","starred_url":"https://api.github.com/users/Minecolonies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Minecolonies/subscriptions","organizations_url":"https://api.github.com/users/Minecolonies/orgs","repos_url":"https://api.github.com/users/Minecolonies/repos","events_url":"https://api.github.com/users/Minecolonies/events{/privacy}","received_events_url":"https://api.github.com/users/Minecolonies/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Minecolonies/minecolonies","description":"Minecolonies minecraft mod","fork":false,"url":"https://api.github.com/repos/Minecolonies/minecolonies","forks_url":"https://api.github.com/repos/Minecolonies/minecolonies/forks","keys_url":"https://api.github.com/repos/Minecolonies/minecolonies/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Minecolonies/minecolonies/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Minecolonies/minecolonies/teams","hooks_url":"https://api.github.com/repos/Minecolonies/minecolonies/hooks","issue_events_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/events{/number}","events_url":"https://api.github.com/repos/Minecolonies/minecolonies/events","assignees_url":"https://api.github.com/repos/Minecolonies/minecolonies/assignees{/user}","branches_url":"https://api.github.com/repos/Minecolonies/minecolonies/branches{/branch}","tags_url":"https://api.github.com/repos/Minecolonies/minecolonies/tags","blobs_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/refs{/sha}","trees_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Minecolonies/minecolonies/statuses/{sha}","languages_url":"https://api.github.com/repos/Minecolonies/minecolonies/languages","stargazers_url":"https://api.github.com/repos/Minecolonies/minecolonies/stargazers","contributors_url":"https://api.github.com/repos/Minecolonies/minecolonies/contributors","subscribers_url":"https://api.github.com/repos/Minecolonies/minecolonies/subscribers","subscription_url":"https://api.github.com/repos/Minecolonies/minecolonies/subscription","commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/commits{/sha}","git_commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/commits{/sha}","comments_url":"https://api.github.com/repos/Minecolonies/minecolonies/comments{/number}","issue_comment_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/comments{/number}","contents_url":"https://api.github.com/repos/Minecolonies/minecolonies/contents/{+path}","compare_url":"https://api.github.com/repos/Minecolonies/minecolonies/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Minecolonies/minecolonies/merges","archive_url":"https://api.github.com/repos/Minecolonies/minecolonies/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Minecolonies/minecolonies/downloads","issues_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues{/number}","pulls_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls{/number}","milestones_url":"https://api.github.com/repos/Minecolonies/minecolonies/milestones{/number}","notifications_url":"https://api.github.com/repos/Minecolonies/minecolonies/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Minecolonies/minecolonies/labels{/name}","releases_url":"https://api.github.com/repos/Minecolonies/minecolonies/releases{/id}","deployments_url":"https://api.github.com/repos/Minecolonies/minecolonies/deployments","created_at":"2016-08-13T12:45:38Z","updated_at":"2017-07-16T21:49:33Z","pushed_at":"2017-07-22T08:24:40Z","git_url":"git://github.com/Minecolonies/minecolonies.git","ssh_url":"git@github.com:Minecolonies/minecolonies.git","clone_url":"https://github.com/Minecolonies/minecolonies.git","svn_url":"https://github.com/Minecolonies/minecolonies","homepage":"http://minecolonies.com/","size":23265,"stargazers_count":48,"watchers_count":48,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":39,"mirror_url":null,"open_issues_count":137,"forks":39,"open_issues":137,"watchers":48,"default_branch":"version/1.11"}},"base":{"label":"Minecolonies:version/1.11","ref":"version/1.11","sha":"934c26841bfb43f0188722f72f5cabf7264b205e","user":{"login":"Minecolonies","id":5167336,"avatar_url":"https://avatars3.githubusercontent.com/u/5167336?v=4","gravatar_id":"","url":"https://api.github.com/users/Minecolonies","html_url":"https://github.com/Minecolonies","followers_url":"https://api.github.com/users/Minecolonies/followers","following_url":"https://api.github.com/users/Minecolonies/following{/other_user}","gists_url":"https://api.github.com/users/Minecolonies/gists{/gist_id}","starred_url":"https://api.github.com/users/Minecolonies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Minecolonies/subscriptions","organizations_url":"https://api.github.com/users/Minecolonies/orgs","repos_url":"https://api.github.com/users/Minecolonies/repos","events_url":"https://api.github.com/users/Minecolonies/events{/privacy}","received_events_url":"https://api.github.com/users/Minecolonies/received_events","type":"Organization","site_admin":false},"repo":{"id":65616760,"name":"minecolonies","full_name":"Minecolonies/minecolonies","owner":{"login":"Minecolonies","id":5167336,"avatar_url":"https://avatars3.githubusercontent.com/u/5167336?v=4","gravatar_id":"","url":"https://api.github.com/users/Minecolonies","html_url":"https://github.com/Minecolonies","followers_url":"https://api.github.com/users/Minecolonies/followers","following_url":"https://api.github.com/users/Minecolonies/following{/other_user}","gists_url":"https://api.github.com/users/Minecolonies/gists{/gist_id}","starred_url":"https://api.github.com/users/Minecolonies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Minecolonies/subscriptions","organizations_url":"https://api.github.com/users/Minecolonies/orgs","repos_url":"https://api.github.com/users/Minecolonies/repos","events_url":"https://api.github.com/users/Minecolonies/events{/privacy}","received_events_url":"https://api.github.com/users/Minecolonies/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Minecolonies/minecolonies","description":"Minecolonies minecraft mod","fork":false,"url":"https://api.github.com/repos/Minecolonies/minecolonies","forks_url":"https://api.github.com/repos/Minecolonies/minecolonies/forks","keys_url":"https://api.github.com/repos/Minecolonies/minecolonies/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Minecolonies/minecolonies/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Minecolonies/minecolonies/teams","hooks_url":"https://api.github.com/repos/Minecolonies/minecolonies/hooks","issue_events_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/events{/number}","events_url":"https://api.github.com/repos/Minecolonies/minecolonies/events","assignees_url":"https://api.github.com/repos/Minecolonies/minecolonies/assignees{/user}","branches_url":"https://api.github.com/repos/Minecolonies/minecolonies/branches{/branch}","tags_url":"https://api.github.com/repos/Minecolonies/minecolonies/tags","blobs_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/refs{/sha}","trees_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Minecolonies/minecolonies/statuses/{sha}","languages_url":"https://api.github.com/repos/Minecolonies/minecolonies/languages","stargazers_url":"https://api.github.com/repos/Minecolonies/minecolonies/stargazers","contributors_url":"https://api.github.com/repos/Minecolonies/minecolonies/contributors","subscribers_url":"https://api.github.com/repos/Minecolonies/minecolonies/subscribers","subscription_url":"https://api.github.com/repos/Minecolonies/minecolonies/subscription","commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/commits{/sha}","git_commits_url":"https://api.github.com/repos/Minecolonies/minecolonies/git/commits{/sha}","comments_url":"https://api.github.com/repos/Minecolonies/minecolonies/comments{/number}","issue_comment_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues/comments{/number}","contents_url":"https://api.github.com/repos/Minecolonies/minecolonies/contents/{+path}","compare_url":"https://api.github.com/repos/Minecolonies/minecolonies/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Minecolonies/minecolonies/merges","archive_url":"https://api.github.com/repos/Minecolonies/minecolonies/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Minecolonies/minecolonies/downloads","issues_url":"https://api.github.com/repos/Minecolonies/minecolonies/issues{/number}","pulls_url":"https://api.github.com/repos/Minecolonies/minecolonies/pulls{/number}","milestones_url":"https://api.github.com/repos/Minecolonies/minecolonies/milestones{/number}","notifications_url":"https://api.github.com/repos/Minecolonies/minecolonies/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Minecolonies/minecolonies/labels{/name}","releases_url":"https://api.github.com/repos/Minecolonies/minecolonies/releases{/id}","deployments_url":"https://api.github.com/repos/Minecolonies/minecolonies/deployments","created_at":"2016-08-13T12:45:38Z","updated_at":"2017-07-16T21:49:33Z","pushed_at":"2017-07-22T08:24:40Z","git_url":"git://github.com/Minecolonies/minecolonies.git","ssh_url":"git@github.com:Minecolonies/minecolonies.git","clone_url":"https://github.com/Minecolonies/minecolonies.git","svn_url":"https://github.com/Minecolonies/minecolonies","homepage":"http://minecolonies.com/","size":23265,"stargazers_count":48,"watchers_count":48,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":39,"mirror_url":null,"open_issues_count":137,"forks":39,"open_issues":137,"watchers":48,"default_branch":"version/1.11"}},"_links":{"self":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1305"},"html":{"href":"https://github.com/Minecolonies/minecolonies/pull/1305"},"issue":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/issues/1305"},"comments":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/issues/1305/comments"},"review_comments":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1305/comments"},"review_comment":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/pulls/1305/commits"},"statuses":{"href":"https://api.github.com/repos/Minecolonies/minecolonies/statuses/26412cef89a61b1bef26dcb359e8d747ea5df0d9"}}}}
{"actor":{"display_login":"codacy-bot"}}