{"id":26062010,"url":"https://github.com/okaeripoland/okaeri-platform","last_synced_at":"2025-04-11T10:58:15.320Z","repository":{"id":39567041,"uuid":"354151572","full_name":"OkaeriPoland/okaeri-platform","owner":"OkaeriPoland","description":"Whole ecosystems built on top of the best okaeri packages","archived":false,"fork":false,"pushed_at":"2025-04-02T22:11:35.000Z","size":1042,"stargazers_count":26,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T22:27:22.995Z","etag":null,"topics":["bukkit","bungeecord","cli","java","javalin","minecraft","paper","spigot","web"],"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/OkaeriPoland.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":"2021-04-02T22:54:17.000Z","updated_at":"2025-04-02T22:11:38.000Z","dependencies_parsed_at":"2024-06-08T16:54:32.258Z","dependency_job_id":"28bb333a-36cb-4132-b8c7-f3aadc3a789c","html_url":"https://github.com/OkaeriPoland/okaeri-platform","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/OkaeriPoland%2Fokaeri-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OkaeriPoland%2Fokaeri-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OkaeriPoland%2Fokaeri-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OkaeriPoland%2Fokaeri-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OkaeriPoland","download_url":"https://codeload.github.com/OkaeriPoland/okaeri-platform/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248381643,"owners_count":21094524,"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","bungeecord","cli","java","javalin","minecraft","paper","spigot","web"],"created_at":"2025-03-08T15:49:03.013Z","updated_at":"2025-04-11T10:58:15.299Z","avatar_url":"https://github.com/OkaeriPoland.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Okaeri Platform (WIP)\n\n![License](https://img.shields.io/github/license/OkaeriPoland/okaeri-platform)\n![Total lines](https://img.shields.io/tokei/lines/github/OkaeriPoland/okaeri-platform)\n![Repo size](https://img.shields.io/github/repo-size/OkaeriPoland/okaeri-platform)\n![Contributors](https://img.shields.io/github/contributors/OkaeriPoland/okaeri-platform)\n[![Discord](https://img.shields.io/discord/589089838200913930)](https://discord.gg/hASN5eX)\n\nWhole ecosystems built on top of the best okaeri packages.\n\n- Based on dependency injection/beans/components schema:\n  - `@Component` registration with `@Register` or `@Scan`\n  - automatic field/constructor injection and bean creation\n\n- Lots of platform specific utilities:\n  - register platform specific services as components\n  - use commons for the most boring tasks and cleaner code\n\n## Real-life use cases\n- [okaeri-poly](https://github.com/OkaeriPoland/okaeri-poly): Minecraft scripting plugin with the support for Groovy, JavaScript, and Python — a great addition to traditional plugins and a rapid prototyping tool\n- [okaeri-minecraft](https://github.com/OkaeriPoland/okaeri-minecraft): Minecraft plugins built for various [okaeri services](https://www.okaeri.eu), based around integrating Minecraft servers with the WEB APIs\n\n## Supported platforms\n```shell\n# platform\n─ core\n  └─ minecraft\n     ├─ bukkit\n     ├─ velocity\n     └─ bungee\n  └─ standalone\n     ├─ web\n     └─ cli\n# extensions\n─ ext-scheduler-quartz\n```\n- **Minecraft**\n  - [bukkit](https://github.com/OkaeriPoland/okaeri-platform/tree/master/bukkit): your platform of choice for best Spigot/Paper development experience (*beta - possible breaking changes*)\n  - [velocity](https://github.com/OkaeriPoland/okaeri-platform/tree/master/velocity): your platform of choice for unified Velocity development experience (*alpha - missing features, possible breaking changes*)\n  - [bungee](https://github.com/OkaeriPoland/okaeri-platform/tree/master/bungee): your platform of choice for best BungeeCord development experience (*beta - possible breaking changes*)\n- **Standalone**\n  - [web](https://github.com/OkaeriPoland/okaeri-platform/tree/master/web): best used as web side of other platforms but can be used fully standalone (*beta - basic features, possible breaking changes*)\n  - [cli](https://github.com/OkaeriPoland/okaeri-platform/tree/master/cli): allows access to platform features with minimal fuss, useful for bots or other standalone tools (*beta - possible breaking changes*)\n\n## Documentation\nOkaeri Platform is a private use first project, not a public benefit project, and should be treated as such, the documentation might be non-existing or lacking.\nFeel free to explore README files of supported platforms for some basic guidance and [Real-life use cases](https://github.com/OkaeriPoland/okaeri-platform?tab=readme-ov-file#real-life-use-cases) projects.\nYou can search for or make any okaeri-platform related questions in [discussions](https://github.com/OkaeriPoland/okaeri-platform/discussions).\n\n## Recommendations\nIt is highly recommended to use `-parameters` compiler flag for better overall feature support.\n\n### Maven (Java)\n```xml\n\u003cbuild\u003e\n  \u003cplugins\u003e\n    \u003cplugin\u003e\n      \u003cgroupId\u003eorg.apache.maven.plugins\u003c/groupId\u003e\n      \u003cartifactId\u003emaven-compiler-plugin\u003c/artifactId\u003e\n      \u003cversion\u003e3.8.1\u003c/version\u003e\n      \u003cconfiguration\u003e\n        \u003ccompilerArgs\u003e\n          \u003carg\u003e-parameters\u003c/arg\u003e\n        \u003c/compilerArgs\u003e\n      \u003c/configuration\u003e\n    \u003c/plugin\u003e\n  \u003c/plugins\u003e\n\u003c/build\u003e\n```\n### Maven (Kotlin)\n```xml\n \u003cbuild\u003e\n  \u003cplugins\u003e\n    \u003cplugin\u003e\n      \u003cgroupId\u003eorg.jetbrains.kotlin\u003c/groupId\u003e\n      \u003cartifactId\u003ekotlin-maven-plugin\u003c/artifactId\u003e\n      \u003cversion\u003e${kotlin.version}\u003c/version\u003e\n      \u003c!-- ... --\u003e\n      \u003cconfiguration\u003e\n        \u003c!-- ... --\u003e\n        \u003cargs\u003e\n          \u003carg\u003e-java-parameters\u003c/arg\u003e\n        \u003c/args\u003e\n      \u003c/configuration\u003e\n    \u003c/plugin\u003e\n  \u003c/plugins\u003e\n\u003c/build\u003e\n```\n\n### Gradle (Java)\n```groovy\ncompileJava {\n    options.compilerArgs \u003c\u003c '-parameters' \n}\n```\n### Gradle (Kotlin)\n```groovy\ncompileKotlin {\n    kotlinOptions {\n        javaParameters = true\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokaeripoland%2Fokaeri-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokaeripoland%2Fokaeri-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokaeripoland%2Fokaeri-platform/lists"}