{"id":15281429,"url":"https://github.com/lennertsoffers/plugininitializerlib","last_synced_at":"2026-01-05T06:15:10.230Z","repository":{"id":38817160,"uuid":"498453436","full_name":"lennertsoffers/PluginInitializerLib","owner":"lennertsoffers","description":"A library that provides annotations to easily and quickly register events and commands to your Spigot Plugin","archived":false,"fork":false,"pushed_at":"2023-02-23T10:33:41.000Z","size":1017,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T17:16:28.246Z","etag":null,"topics":["java","minecraft","minecraft-plugin","spigot","spigot-api","spigot-library"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lennertsoffers.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-31T18:31:12.000Z","updated_at":"2023-07-28T10:59:34.000Z","dependencies_parsed_at":"2024-11-30T06:42:25.009Z","dependency_job_id":"79f13fce-9e1a-44fa-b914-8b58a9223f0c","html_url":"https://github.com/lennertsoffers/PluginInitializerLib","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lennertsoffers%2FPluginInitializerLib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lennertsoffers%2FPluginInitializerLib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lennertsoffers%2FPluginInitializerLib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lennertsoffers%2FPluginInitializerLib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lennertsoffers","download_url":"https://codeload.github.com/lennertsoffers/PluginInitializerLib/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245090871,"owners_count":20559296,"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":["java","minecraft","minecraft-plugin","spigot","spigot-api","spigot-library"],"created_at":"2024-09-30T13:07:52.668Z","updated_at":"2026-01-05T06:15:10.190Z","avatar_url":"https://github.com/lennertsoffers.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/lennertsoffers/PluginInitializerLib\"\u003e\n    \u003cimg src=\"https://lennertsoffers.be/hosting/PluginInitializerLib.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003ePluginInitializerLib\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A Spigot library that provides annotations to easily and quickly register events, commands and runnables to your Spigot Plugin\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/lennertsoffers/PluginInitializerLib/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/lennertsoffers/PluginInitializerLib/issues\"\u003eRequest Feature\u003c/a\u003e\n    .\n    \u003ca href=\"https://www.spigotmc.org/resources/plugininitializerlib.102391/\"\u003eView on Spigot\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n## About The Project\nPluginInitializerLib is a Spigot library that helps you with the development of Spigot plugins.\nIt is mainly used to speed up the process of registering events, commands and other tedious tasks.\n\nThis functionality is achieved with simply adding an annotation to the class to indicate which type of plugin class it is.\nThe rest is all handled by the library. So to register a new event, you only have to add the `@EventListener` above the class.\n\nCurrently, this library is in active development to add new features to make the life of Spigot developers easier.\n\n\n## Get Started\nTo use this library you have two options:\n\n### Use Maven Dependency\nIf you have a Maven project, just add the dependency to your pom.xml\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.github.lennertsoffers\u003c/groupId\u003e\n    \u003cartifactId\u003ePluginInitializerLib\u003c/artifactId\u003e\n    \u003cversion\u003e1.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Download On Spigot\nThe project is also published as a Spigot resource, so you can download it on their website if you wish.\n\n[Download on Spigot](https://www.spigotmc.org/resources/plugininitializerlib.102391/)\n\n\n## Usage\n\n### Initialization\n\nInitialize the plugin in the `onEnable()` method of your plugin\n```java\n@Override\npublic void onEnable() {\n    PluginInitializerLib.init(this, \"me.example\");\n}\n```\nWhere `this` is your Plugin instance and `\"me.example\"` your groupId.\n\nNow you can make use of the provided annotations\n\n### Registering Events\n\nEach Listener class annotated with `@EventListener` will be automatically be registered, no matter in which folder you put it. (As long it is in your project of course😃)\n\n```java\n@EventListener\npublic class ExampleListener implements Listener {\n    @EventHandler\n    public void onExample(ExampleEvent event) {}\n}\n```\n\n### Registering Commands\n\nThe `@NamedCommandExecutor` annotation registers all commandExecutors to the server. The name the commandExecutor will be registered to is the name you provide as a parameter in the annotation.\n\n```java\n@NamedCommandExecutor(commandName = \"example\")\npublic class ExampleCommand implements CommandExecutor {\n    @Override\n    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {}\n}\n```\n\n### Auto Running BukkitRunnables\n\nWith the `@ScheduledBukkitRunnable` annotation, you can run BukkitRunnables in the initialisation step of your plugin.\nIt provides the same functionalities as invoking this runnable directly, except there won't be such a mess of code in your plugin main class.\n\n```java\n@ScheduledBukkitRunnable(runMethod = RunMethod.RUN_TIMER, async = true, delay = 1, period = 40)\npublic class ExampleRunnable extends BukkitRunnable {\n    @Override\n    public void run() {}\n}\n```\n\n## Contributing\n\nIf you have any suggestions, reports or other requests, please let us know via an issue.\n\nContributions are greatly appreciated and everyone is free to do them.\nPlease fork this repo and create a new pull request.\n\n## License\n\nDistributed under the GPL-3.0 license, See [LICENSE.txt](https://github.com/lennertsoffers/PluginInitializerLib/blob/main/LICENSE) for more information\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flennertsoffers%2Fplugininitializerlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flennertsoffers%2Fplugininitializerlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flennertsoffers%2Fplugininitializerlib/lists"}