{"id":16377336,"url":"https://github.com/electroid/intake","last_synced_at":"2025-07-02T09:35:10.689Z","repository":{"id":47495984,"uuid":"145256500","full_name":"Electroid/intake","owner":"Electroid","description":"Easy-to-use framework for creating commands, especially in Minecraft","archived":false,"fork":false,"pushed_at":"2022-10-11T22:22:03.000Z","size":366,"stargazers_count":40,"open_issues_count":4,"forks_count":12,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-10-12T03:42:57.550Z","etag":null,"topics":["bukkit","command-line","java","minecraft"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Electroid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2018-08-18T22:24:18.000Z","updated_at":"2023-09-29T02:24:15.000Z","dependencies_parsed_at":"2023-01-19T19:40:20.195Z","dependency_job_id":null,"html_url":"https://github.com/Electroid/intake","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Electroid/intake","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Electroid%2Fintake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Electroid%2Fintake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Electroid%2Fintake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Electroid%2Fintake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Electroid","download_url":"https://codeload.github.com/Electroid/intake/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Electroid%2Fintake/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263112200,"owners_count":23415565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bukkit","command-line","java","minecraft"],"created_at":"2024-10-11T03:42:56.383Z","updated_at":"2025-07-02T09:35:10.662Z","avatar_url":"https://github.com/Electroid.png","language":"Java","readme":"# Intake\n\nIntake is a command parsing library that can be implemented along various platforms, such as Minecraft.\n\nWhen a user inputs a command:\n\n```\n/sum 1 2\n```\n\nYou can easily handle that request with only a couple lines of code.\n\n```java\npublic class Commands {\n   @Command(\n       aliases = \"sum\",\n       desc = \"Adds two numbers and returns their result\",\n       perms = \"math.sum\",\n       usage = \"[number] [number]\"\n   )\n   public void sum(CommandSender user, int a, int b) {\n       user.sendMessage(a + b);\n   }\n}\n```\n\nIntake allows you to define custom providers for your own classes and handle errors with ease. Check out the [detailed breakdown](core/README.md) of the project for more details.\n\n## Example\n\nTo see how easy it is to implement Intake, take a look at the [Bukkit](bukkit/src/main/java/app/ashcon/intake/bukkit) module. For game developers that want to extend that module specifically, all you need to do is add this to your `JavaPlugin` class:\n```java\n@Override\npublic void onLoad() {\n   BasicBukkitCommandGraph cmdGraph = new BasicBukkitCommandGraph();\n   cmdGraph.getRootDispatcherNode().registerCommands(new Commands());\n   new BukkitIntake(this, cmdGraph).register();\n}\n```\n\nAn example `Bukkit` plugin is provided for your convenience [here](examples/bukkit/src/main/java/app/ashcon/intake/example/).\n\n## Installation\n\nRelease and snapshot artifacts are automatically deployed to my Nexus repo. Include the following snippet in your `pom.xml` to start using Intake.\n\n```xml\n\u003crepositories\u003e\n  \u003crepository\u003e\n    \u003cid\u003eashcon.app\u003c/id\u003e\n    \u003curl\u003ehttps://repo.ashcon.app/nexus/content/repositories/snapshots/\u003c/url\u003e\n  \u003c/repository\u003e\n\u003c/repositories\u003e\n\u003cdependencies\u003e\n  \u003cdependency\u003e\n    \u003cgroupId\u003eapp.ashcon.intake\u003c/groupId\u003e\n    \u003c!-- Use \"intake-core\" if you don't want Minecraft --\u003e\n    \u003cartifactId\u003eintake-bukkit\u003c/artifactId\u003e\n    \u003cversion\u003e1.3-SNAPSHOT\u003c/version\u003e\n  \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n## Compiling\n\nUse Maven to compile Intake.\n\n```\nmvn clean install\n```\n\n## Attributions\n\nIntake was adapted from [sk89q's abandoned fork](https://github.com/EngineHub/Intake), but heavily modified and abstracted. Therefore, it is available under the GNU Lesser General Public License.\n\nI happily accept contributions, especially through pull requests on GitHub!","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectroid%2Fintake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felectroid%2Fintake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectroid%2Fintake/lists"}