{"id":13408008,"url":"https://github.com/lucko/helper","last_synced_at":"2025-05-16T15:07:17.571Z","repository":{"id":40918813,"uuid":"79050314","full_name":"lucko/helper","owner":"lucko","description":"A collection of utilities and extended APIs to support the rapid and easy development of Bukkit plugins.","archived":false,"fork":false,"pushed_at":"2024-06-21T15:07:04.000Z","size":2044,"stargazers_count":460,"open_issues_count":23,"forks_count":89,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-12T11:58:35.322Z","etag":null,"topics":["bukkit","bukkit-plugin","spigot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-01-15T18:15:14.000Z","updated_at":"2025-04-10T13:23:37.000Z","dependencies_parsed_at":"2023-01-22T20:46:10.916Z","dependency_job_id":"b8ac0990-7919-4336-8e24-94bf21a13b61","html_url":"https://github.com/lucko/helper","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/lucko%2Fhelper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucko%2Fhelper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucko%2Fhelper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucko%2Fhelper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucko","download_url":"https://codeload.github.com/lucko/helper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553959,"owners_count":22090417,"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","bukkit-plugin","spigot"],"created_at":"2024-07-30T20:00:50.144Z","updated_at":"2025-05-16T15:07:17.540Z","avatar_url":"https://github.com/lucko.png","language":"Java","funding_links":[],"categories":["Projects","Utilities"],"sub_categories":["Multi Purpose"],"readme":"![](https://i.imgur.com/zllxTFp.png \"Banner\")\n# helper [![Build Status](https://ci.lucko.me/job/helper/badge/icon)](https://ci.lucko.me/job/helper/) [![Discord](https://img.shields.io/badge/chat-on%20discord-blue.svg)](https://discord.gg/Rnbpc7s)\n\nhelper is a development toolkit / library for Bukkit plugin developers. It provides a number of utilities and extended APIs which help to reduce boilerplate code and offer alternative paradigms for creating content.\n\n#### History\n\n💡 helper started off as a library to experiment with an alternative paradigm for creating [event listeners](https://github.com/lucko/helper/wiki/helper:-Events). Over time, more functionality has been added, usually as a response to a specific development need as I completed freelance work.\n\n🌍 I don't use helper in any of my public projects - it's quite a big library, and I don't like to add bloat unnecessarily!\n\n✅ However, it has been used extensively in a number of private server projects, most notably, in most custom plugins on servers operated by [Voldex Games](https://voldex.net/) (TheArchon, PrimeMC, etc). I'm also aware of a number of other developers / development teams who still actively use helper, which is awesome!\n\n#### Status\n\nI'm no longer actively working on further API additions, but the project is still being used frequently by various development teams, and I accept pull requests!\n\n### Links\n\n* [**Download**](https://ci.lucko.me/job/helper/) (download links for the standalone helper plugins)\n* [**Wiki**](https://github.com/lucko/helper/wiki/) (*almost-fully-complete* documentation for helper)\n\n\n### Modules\n##### [`helper`](https://github.com/lucko/helper/tree/master/helper): The main helper project\n[![Artifact](https://img.shields.io/badge/build-artifact-brightgreen.svg)](https://ci.lucko.me/job/helper/lastSuccessfulBuild/artifact/helper/target/helper.jar) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper/badge.svg)](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper) [![Javadocs](https://javadoc.io/badge/me.lucko/helper.svg)](https://javadoc.io/doc/me.lucko/helper)\n\n##### [`helper-sql`](https://github.com/lucko/helper/tree/master/helper-sql): Provides SQL datasources using HikariCP.\n[![Artifact](https://img.shields.io/badge/build-artifact-brightgreen.svg)](https://ci.lucko.me/job/helper/lastSuccessfulBuild/artifact/helper-sql/target/helper-sql.jar) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-sql/badge.svg)](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-sql) [![Javadocs](https://javadoc.io/badge/me.lucko/helper-sql.svg)](https://javadoc.io/doc/me.lucko/helper-sql)\n\n##### [`helper-redis`](https://github.com/lucko/helper/tree/master/helper-redis): Provides Redis clients and implements the helper Messaging system using Jedis.\n[![Artifact](https://img.shields.io/badge/build-artifact-brightgreen.svg)](https://ci.lucko.me/job/helper/lastSuccessfulBuild/artifact/helper-redis/target/helper-redis.jar) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-redis/badge.svg)](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-redis) [![Javadocs](https://javadoc.io/badge/me.lucko/helper-redis.svg)](https://javadoc.io/doc/me.lucko/helper-redis)\n\n##### [`helper-mongo`](https://github.com/lucko/helper/tree/master/helper-mongo): Provides MongoDB datasources.\n[![Artifact](https://img.shields.io/badge/build-artifact-brightgreen.svg)](https://ci.lucko.me/job/helper/lastSuccessfulBuild/artifact/helper-mongo/target/helper-mongo.jar) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-mongo/badge.svg)](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-mongo) [![Javadocs](https://javadoc.io/badge/me.lucko/helper-mongo.svg)](https://javadoc.io/doc/me.lucko/helper-mongo)\n\n##### [`helper-lilypad`](https://github.com/lucko/helper/tree/master/helper-lilypad): Implements the helper Messaging system using LilyPad.\n[![Artifact](https://img.shields.io/badge/build-artifact-brightgreen.svg)](https://ci.lucko.me/job/helper/lastSuccessfulBuild/artifact/helper-lilypad/target/helper-lilypad.jar) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-lilypad/badge.svg)](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-lilypad) [![Javadocs](https://javadoc.io/badge/me.lucko/helper-lilypad.svg)](https://javadoc.io/doc/me.lucko/helper-lilypad)\n\n##### [`helper-profiles`](https://github.com/lucko/helper/tree/master/helper-profiles): Provides a cached lookup service for player profiles.\n[![Artifact](https://img.shields.io/badge/build-artifact-brightgreen.svg)](https://ci.lucko.me/job/helper/lastSuccessfulBuild/artifact/helper-profiles/target/helper-profiles.jar) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-profiles/badge.svg)](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-profiles) [![Javadocs](https://javadoc.io/badge/me.lucko/helper-profiles.svg)](https://javadoc.io/doc/me.lucko/helper-profiles)\n\n##### [`helper-js`](https://github.com/lucko/helper/tree/master/helper-js): JavaScript plugins using Nashorn.\n[![Artifact](https://img.shields.io/badge/build-artifact-brightgreen.svg)](https://ci.lucko.me/job/helper/lastSuccessfulBuild/artifact/helper-js/target/helper-js.jar) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-js/badge.svg)](https://maven-badges.herokuapp.com/maven-central/me.lucko/helper-js) [![Javadocs](https://javadoc.io/badge/me.lucko/helper-js.svg)](https://javadoc.io/doc/me.lucko/helper-js)\n\n## Feature Overview\n\n* [`Events`](https://github.com/lucko/helper/wiki/helper:-Events) - functional event handling and flexible listener registration\n* [`Scheduler`](https://github.com/lucko/helper/wiki/helper:-Scheduler) - easy access to the Bukkit scheduler\n* [`Promise`](https://github.com/lucko/helper/wiki/helper:-Promise) - a chain of operations (Futures) executing between both sync and async threads\n* [`Metadata`](https://github.com/lucko/helper/wiki/helper:-Metadata) - metadata with generic types, automatically expiring values and more\n* [`Messenger`](https://github.com/lucko/helper/wiki/helper:-Messenger) - message channel abstraction\n* [`Commands`](https://github.com/lucko/helper/wiki/helper:-Commands) - create commands using the builder pattern\n* [`Scoreboard`](https://github.com/lucko/helper/wiki/helper:-Scoreboard) - asynchronous scoreboard using ProtocolLib\n* [`GUI`](https://github.com/lucko/helper/wiki/helper:-GUI) - lightweight by highly adaptable and flexible menu abstraction\n* [`Menu Scheming`](https://github.com/lucko/helper/wiki/helper:-Menu-Scheming) - easily design menu layouts without having to worry about slot ids\n* [`Random`](https://github.com/lucko/helper/wiki/helper:-Random) - make random selections from collections of weighted elements\n* [`Bucket`](https://github.com/lucko/helper/wiki/helper:-Bucket) - sets of distributed and uniformly partitioned elements\n* [`Profiles`](https://github.com/lucko/helper/wiki/helper:-Profiles) - a lookup repository and cache for player uuid \u0026 name profiles\n* [`Plugin Annotations`](https://github.com/lucko/helper/wiki/helper:-Plugin-Annotations) - automatically create plugin.yml files for your projects using annotations\n* [`Maven Annotations`](https://github.com/lucko/helper/wiki/helper:-Maven-Annotations) - download \u0026 install maven dependencies at runtime\n* [`Terminables`](https://github.com/lucko/helper/wiki/helper:-Terminables) - a family of interfaces to help easily manipulate objects which can be unregistered, stopped, or gracefully halted\n* [`Serialization`](https://github.com/lucko/helper/wiki/helper:-Serialization) - immutable and GSON compatible alternatives for common Bukkit objects\n* [`Bungee Messaging`](https://github.com/lucko/helper/wiki/helper:-Bungee-Messaging) - wrapper for BungeeCord's plugin messaging API\n* [`JavaScript Plugins`](https://github.com/lucko/helper/wiki/helper-js:-Introduction) - javascript plugins using helper-js and Nashorn\n\n[`... and much more!`](https://github.com/lucko/helper/wiki/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucko%2Fhelper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucko%2Fhelper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucko%2Fhelper/lists"}