{"id":16924506,"url":"https://github.com/ollymonger/os-clans","last_synced_at":"2026-05-17T02:42:17.717Z","repository":{"id":101110192,"uuid":"523692708","full_name":"ollymonger/os-clans","owner":"ollymonger","description":"Open source clans plugin for Spigot/Bukkit/Paper","archived":false,"fork":false,"pushed_at":"2022-08-23T20:40:21.000Z","size":33,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T01:29:58.711Z","etag":null,"topics":["bukkit","java","javaplugin","minecraft","paper","paper-plugin","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ollymonger.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-08-11T11:13:22.000Z","updated_at":"2022-08-25T06:28:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"5a8985e6-76b7-4c8b-97af-2fe0286ed114","html_url":"https://github.com/ollymonger/os-clans","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"cca30580372f6169cb420abd5216639b328c83fe"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ollymonger/os-clans","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollymonger%2Fos-clans","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollymonger%2Fos-clans/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollymonger%2Fos-clans/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollymonger%2Fos-clans/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ollymonger","download_url":"https://codeload.github.com/ollymonger/os-clans/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollymonger%2Fos-clans/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016284,"owners_count":26085828,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","java","javaplugin","minecraft","paper","paper-plugin","plugin","spigot"],"created_at":"2024-10-13T20:05:20.928Z","updated_at":"2025-10-13T17:34:02.818Z","avatar_url":"https://github.com/ollymonger.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## os-clans\n#### The open source alternative to adding Clans to your server.\n\n- The aim of this project is to create an open source plugin of which you can either commit your requesteed changes/improvements or create a new fork and create your own plugin. Just reference this project in your fork to credit the work from here.\n\n## Features\n- Class based command creation\n- BoostedYaml for Yaml processing\n- Creating clans, creating individual clan config files for easy editing,\n- TODO: saving all clan files, save individual clan file changes, maybe function to update specific section?\n\n## FAQ\n#### How do I make a new command (no args)?\n - Ensure you have branched off from the master branch using: ```git checkout -b branchname``` and ensure that all your changes are being pushed to this branch to open up a pull request.\n - To begin adding a new command, add the command to the plugin.yml located in: ```src/main/resources```. Following the same format as either /clan or /helloworld\n - Then create a new file following the format: ```CommandnameCmd.java``` which extends the class ```GenericCmd```.\n - Within this file, add a constructor (See HelloWorld.java example) and update the command name, description and usage here.\n - Add an @Override for: boolean onCommand event, and begin coding your command here.\n - Inside the constructor in: ```src/main/java/cc/yllo/events/OnCommand.java``` add your command to the list 'cmds', as this is where cmds are loaded from. Without this, your command will fail.\n\n#### How do arguments work?\n - All arguments are completely optional. You do not need any arguments to work with this.\n - First arguments are referenced as GenericTopic.\n - Second arguments are referenced as GenericPost.\n - Additional arguments are handled by the GenericPost.\n - For example: /clan ```topic:```kick ```post:``` playername ```post:```args[2]\n\n##### How can I create an argument (no additional args)\n - Please use this guide, to create a command with only one argument such as: /clan disband. See below for creating additional args.\n - Please have created a command, before completing the steps below for full understanding of how the system works.\n - Inside the folder: /topics/ create a Java file for your topic.\n - Extend : ```GenericTopic``` and create constructor for this class, edit the variable: ```arg``` to match your argument name.\n - Add an @Override for: boolean executeArgument, and provide the code to execute your argument here. See topics/HelloWorld.java for reference.\n - In your created command class, within your constructor, add your 'Topic' class to the argsList extended from the GenericCmd class. ``argsList.add(new ClassCmd())```\n - Done. You should be able to use your command, and this one argument successfully.\n\n#### How can I process additional arguments?\n - Ensure you've read the above steps on setting up your first argument, then proceed.\n - Within the folder: ```/topics/posts/ ``` create a class for your Post arg.\n - Remember, this file will be the file processing any additional arguments, player name, ect...\n - Extend: ```GenericPost```, create your constructor, edit the title (\u0026 optionally the body) strings. The title here is used as the args[1].\n - Add an @Overrid method for: boolean executePost\n - In your first Topic argument, under the constructor, add your created Post class to the post list.\n\n#### Committing for the first time?\n - Please ensure you: \n    - pulled master branch before working,\n    - have ran ```git checkout -b branchname``` to checkout a new branch, to create a pull request.\n    - have left a detailed git commit message\n    - ensured that only the files that are changed are uploaded.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Follymonger%2Fos-clans","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Follymonger%2Fos-clans","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Follymonger%2Fos-clans/lists"}