{"id":14969539,"url":"https://github.com/kangarko/foundation","last_synced_at":"2025-05-15T20:03:35.717Z","repository":{"id":37414553,"uuid":"192657738","full_name":"kangarko/Foundation","owner":"kangarko","description":"Foundation™ helps you create highly customized Minecraft plugins (based on Spigot/Paper API) that support multiple MC versions.","archived":false,"fork":false,"pushed_at":"2025-05-10T19:36:02.000Z","size":6567,"stargazers_count":374,"open_issues_count":0,"forks_count":66,"subscribers_count":20,"default_branch":"v6","last_synced_at":"2025-05-15T20:03:29.372Z","etag":null,"topics":["library","minecraft","minecraft-library","minecraft-plugin","plugin","plugin-library","spigot","spigot-plugin","spigotmc"],"latest_commit_sha":null,"homepage":"https://mineacademy.org","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/kangarko.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,"zenodo":null}},"created_at":"2019-06-19T04:22:02.000Z","updated_at":"2025-05-10T19:36:05.000Z","dependencies_parsed_at":"2022-07-12T16:17:54.032Z","dependency_job_id":"9cd51bde-e55f-4254-9bba-eb0797eee1fe","html_url":"https://github.com/kangarko/Foundation","commit_stats":{"total_commits":2092,"total_committers":39,"mean_commits":53.64102564102564,"dds":0.124282982791587,"last_synced_commit":"72824aefc211dd46881da01754d594ae4b4ff50f"},"previous_names":[],"tags_count":229,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kangarko%2FFoundation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kangarko%2FFoundation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kangarko%2FFoundation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kangarko%2FFoundation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kangarko","download_url":"https://codeload.github.com/kangarko/Foundation/tar.gz/refs/heads/v6","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414493,"owners_count":22067271,"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":["library","minecraft","minecraft-library","minecraft-plugin","plugin","plugin-library","spigot","spigot-plugin","spigotmc"],"created_at":"2024-09-24T13:42:00.730Z","updated_at":"2025-05-15T20:03:33.103Z","avatar_url":"https://github.com/kangarko.png","language":"Java","readme":"\u003ca href=\"https://bit.ly/3GHdIQI\"\u003e\r\n  \u003cimg src=\"https://i.imgur.com/AeprAug.jpg\" /\u003e\r\n\u003c/a\u003e\r\n\r\n[![](https://jitpack.io/v/kangarko/Foundation.svg)](https://jitpack.io/#kangarko/Foundation)\r\n\r\n\r\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/kangarko/Foundation)\r\n\r\nMake Minecraft plugins faster, save boilerplate code to focus on putting your ideas out there instead of dealing with limited Spigot/Bukkit/Paper APIs.\r\n\r\nSome features include:\r\n\r\n- Folia, Bukkit/Spigot/Paper support (1.2.5 - 1.21.x) - automatic version wrappers (i.e. call one method to send title/animation packets on all Minecraft versions)\r\n- GUI menu APIs\r\n- Advanced commands without using plugin.yml\r\n- Auto-updating configuration with comments support\r\n- Automatic libraries support: Packets, Discord, Citizens, Towny, etc.\r\n- Time-saving wrappers: Databases (flatfile SQL, HikariCP, MySQL), holograms API, custom items and skulls API, and so much more! \r\n\r\nThousands of servers are running on Foundation since 2013. It has been battle tested and proven in plugins ChatControl, Boss, CoreArena, Confiscate, AutoPlay, Puncher, Winter, AnimeX and others.\r\n\r\n## PLEASE READ THE QUICKSTART IN FULL - THERE IS AN EXTRA STEP THAT IF YOU MISS THE PLUGIN WILL BREAK\r\n\r\n# Quick Start\r\n\r\n**New**: Check out this video tutorial on installing Foundation: https://www.youtube.com/watch?v=gXbZnKYE7ww \r\n\r\n1. Import Foundation using Maven/Gradle (see the Importing section).\r\n2. **IMPORTANT - DO NOT MISS**: Configure shading to only include Foundation and the libraries you need otherwise all of our dependencies will be shaded to your jar! [See this link](https://github.com/kangarko/PluginTemplate/blob/master/pom.xml#L130) for sample usage.\r\n3. Change \"**extends JavaPlugin**\" to \"**extends SimplePlugin**\" (we need that to register things and listeners on our end automatically)\r\n4. Change **onEnable()** to **onPluginStart()** and **onDisable()** to **onPluginStop()** (we occupy these methods to perform logic)\r\n5. If you use a **static getInstance()** method in your main plugin's class, change it to return **(T) SimplePlugin.getInstance()** where T is your plugin instead. Delete the instance of your plugin from your class if you use it (if you have myPlugin = this anywhere, remove it).\r\n\r\nFor a sample plugin, see [PluginTemplate](https://github.com/kangarko/plugintemplate).\r\n\r\nA complete tutorial on how to use this library is a part of our Project Orion training available [here](https://mineacademy.org/project-orion)\r\n\r\nIf you just want a quick start into Minecraft plugin development, [check out this guick gist](https://gist.github.com/kangarko/456d9cfce52dc971b93dbbd12a95f43c).\r\n\r\n## Importing\r\n\r\nWe use JitPack to automatically compile and host the latest release of Foundation for you. To install Foundation with Maven, open your pom.xml, locate the `\u003crepositories\u003e` section and place this repository within it:\r\n\r\n```xml\r\n\u003crepository\u003e\r\n    \u003cid\u003ejitpack.io\u003c/id\u003e\r\n    \u003curl\u003ehttps://jitpack.io\u003c/url\u003e\r\n\u003c/repository\u003e\r\n```\r\n\r\nThen locate the `\u003cdependencies\u003e` section of your pom.xml and place the following inside of it. Replace the \"REPLACE_WITH_LATEST_VERSION\" string with the latest version from: https://github.com/kangarko/Foundation/releases\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n    \u003cgroupId\u003ecom.github.kangarko\u003c/groupId\u003e\r\n    \u003cartifactId\u003eFoundation\u003c/artifactId\u003e\r\n    \u003cversion\u003eREPLACE_WITH_LATEST_VERSION\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\n## Shading (important!)\r\n\r\nSee step 2 from the Quick Start guide above first.\r\n\r\nFoundation comes with some plugins available for you such as WorldEdit, etc. so that you can access them when you are coding but don't need to include them as dependencies on your own.\r\n\r\nMaven has a limitation whereby these plugins will end up in your plugin .jar file if you don't configure the maven-shade-plugin's includes section properly.\r\n\r\nIf you are a beginner all that's needed is copy paste the following section and drop it into your `\u003cplugins\u003e` section of pom.xml (if you already have such section there, remove it).\r\n\r\n**Make sure to change your.plugin.main.package below to your own package name.**\r\n\r\nIf you want to compile a dependency to your jar, install it normally through the `\u003cdependency\u003e` directive, set it's scope to \"compile\" and then include it again. You can just duplicate the `\u003cinclude\u003e` and change it for your dependency.\r\n\r\n```xml\r\n\u003cplugin\u003e\r\n    \u003cgroupId\u003eorg.apache.maven.plugins\u003c/groupId\u003e\r\n    \u003cartifactId\u003emaven-shade-plugin\u003c/artifactId\u003e\r\n\r\n    \u003c!-- Change version to the latest one from\r\n         https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-shade-plugin --\u003e\r\n    \u003cversion\u003e3.5.1\u003c/version\u003e\r\n    \u003cexecutions\u003e\r\n        \u003cexecution\u003e\r\n            \u003cphase\u003epackage\u003c/phase\u003e\r\n            \u003cgoals\u003e\r\n                \u003cgoal\u003eshade\u003c/goal\u003e\r\n            \u003c/goals\u003e\r\n        \u003c/execution\u003e\r\n    \u003c/executions\u003e\r\n    \u003cconfiguration\u003e\r\n        \u003ccreateDependencyReducedPom\u003efalse\u003c/createDependencyReducedPom\u003e\r\n        \u003cartifactSet\u003e\r\n            \u003cincludes\u003e\r\n                \u003c!-- Important: This will ensure only Foundation is shaded to your jar. If you have\r\n                     other dependencies that should be compiled, duplicate this line for each. \r\n                     \r\n                     ONLY ADD THE LIBRARIES HERE YOU WANT TO BE INCLUDED IN YOUR PLUGIN.JAR\r\n                     --\u003e\r\n                \u003cinclude\u003ecom.github.kangarko:Foundation*\u003c/include\u003e\r\n            \u003c/includes\u003e\r\n        \u003c/artifactSet\u003e\r\n        \u003crelocations\u003e\r\n            \u003c!-- This moves Foundation into your own package in \"lib\" subpackage to prevent interference. --\u003e\r\n            \u003crelocation\u003e\r\n                \u003cpattern\u003eorg.mineacademy.fo\u003c/pattern\u003e\r\n                \u003cshadedPattern\u003eyour.plugin.main.package.lib\u003c/shadedPattern\u003e\r\n            \u003c/relocation\u003e\r\n        \u003c/relocations\u003e\r\n    \u003c/configuration\u003e\r\n\u003c/plugin\u003e\r\n```\r\n\r\nFor more information, including how to use Foundation with other tools than Maven, please visit: https://jitpack.io/#kangarko/Foundation/\r\n\r\n# Compatibility\r\n\r\nWe aim to provide broad compatibility layer enabling the below Minecraft versions to work:\r\n\r\n- 1.2.5 (from 2012) - Limited, see mineacademy.org/oldmcsupport for setup instructions.\r\n- 1.3.2, 1.4.7, 1.5.2, 1.6.4 - Many APIs are missing due to lack of features/access.\r\n- 1.7.10\r\n- 1.8.8\r\n- 1.9.x, 1.10.x, 1.11.x, 1.12.x\r\n- 1.13.x, 1.14.x, 1.15.x, 1.16.x, 1.17.x, 1.18.x, 1.19.x, 1.20.x, 1.21.x\r\n- We continously update for newer versions but sometimes forget to update it here, but it does not mean that the library is incompatible!\r\n\r\nFoundation works on Bukkit, Spigot, Paper and as of recently also Folia (see the Wiki).\r\n\r\n# Licencing Information\r\n\r\n© MineAcademy.org\r\n\r\nTl;dl: You can do whatever you want as long as you don't claim Foundation as your own or don't sell or resell parts of it. If you are not a paying student of MineAcademy however, you MUST place a link to this GitHub page in your sales pages (example Overview pages on Spigot) if your paid software is using Foundation.\r\n\r\n1) **If you are a paying student of MineAcademy.org** then you can use, modify and\r\nreproduce Foundation both commercially and non-commercially for yourself, your team\r\nor network without attribution.\r\n\r\n4) **If you are not a paying student of MineAcademy.org** then you may\r\nuse this library as stated above however you must clearly attribute that you\r\nare using Foundation in your software by linking to this GitHub page.\r\n\r\nIn both of the above cases, do not sell or claim any part of this library as your own.\r\n\r\nNo guarantee - this software is provided AS IS, without any guarantee on its\r\nfunctionality. We made our best efforts to make Foundation an enterprise-level\r\nsolution for anyone looking to accelerate his coding however we are not\r\ntaking any responsibility for the success or failure you achieve using it.\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkangarko%2Ffoundation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkangarko%2Ffoundation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkangarko%2Ffoundation/lists"}