{"id":13408152,"url":"https://github.com/FabricMC/fabric","last_synced_at":"2025-03-14T12:32:11.832Z","repository":{"id":37258228,"uuid":"156061229","full_name":"FabricMC/fabric","owner":"FabricMC","description":"Essential hooks for modding with Fabric.","archived":false,"fork":false,"pushed_at":"2024-10-29T05:48:36.000Z","size":11084,"stargazers_count":2340,"open_issues_count":183,"forks_count":414,"subscribers_count":37,"default_branch":"1.21.3","last_synced_at":"2024-10-29T14:55:31.414Z","etag":null,"topics":["fabric","hacktoberfest","java","minecraft"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FabricMC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2018-11-04T09:02:05.000Z","updated_at":"2024-10-28T22:04:09.000Z","dependencies_parsed_at":"2023-10-11T20:01:21.085Z","dependency_job_id":"f86f4775-3ce8-453f-bc8c-39d7cc054426","html_url":"https://github.com/FabricMC/fabric","commit_stats":{"total_commits":1724,"total_committers":178,"mean_commits":9.685393258426966,"dds":0.5342227378190255,"last_synced_commit":"e521378444edf1a1f4d41311b8be7edf2c17aef1"},"previous_names":[],"tags_count":916,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FabricMC%2Ffabric","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FabricMC%2Ffabric/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FabricMC%2Ffabric/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FabricMC%2Ffabric/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FabricMC","download_url":"https://codeload.github.com/FabricMC/fabric/tar.gz/refs/heads/1.21.3","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243179899,"owners_count":20249186,"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":["fabric","hacktoberfest","java","minecraft"],"created_at":"2024-07-30T20:00:51.070Z","updated_at":"2025-03-14T12:32:11.823Z","avatar_url":"https://github.com/FabricMC.png","language":"Java","readme":"# Fabric API\n\nEssential hooks for modding with Fabric.\n\nFabric API is the library for essential hooks and interoperability mechanisms for Fabric mods. Examples include:\n\n- Exposing functionality that is useful but difficult to access for many mods such as particles, biomes and dimensions\n- Adding events, hooks and APIs to improve interopability between mods.\n- Essential features such as registry synchronization and adding information to crash reports.\n- An advanced rendering API designed for compatibility with optimization mods and graphics overhaul mods.\n\nAlso check out [Fabric Loader](https://github.com/FabricMC/fabric-loader), the (mostly) version-independent mod loader that powers Fabric. Fabric API is a mod like any other Fabric mod which requires Fabric Loader to be installed.\n\nFor support and discussion for both developers and users, visit [the Fabric Discord server](https://discord.gg/v6v4pMv).\n\n## Using Fabric API to play with mods\n\nMake sure you have installed fabric loader first. More information about installing Fabric Loader can be found [here](https://fabricmc.net/use/).\n\nTo use Fabric API, download it from [CurseForge](https://www.curseforge.com/minecraft/mc-mods/fabric-api), [GitHub Releases](https://github.com/FabricMC/fabric/releases) or [Modrinth](https://modrinth.com/mod/fabric-api).\n\nThe downloaded jar file should be placed in your `mods` folder.\n\n## Using Fabric API to develop mods\n\nTo set up a Fabric development environment, check out the [Fabric example mod](https://github.com/FabricMC/fabric-example-mod) and follow the instructions there. The example mod already depends on Fabric API.\n\nTo include the full Fabric API with all modules in the development environment, add the following to your `dependencies` block in the gradle buildscript:\n\n### Groovy DSL\n\n```groovy\nmodImplementation \"net.fabricmc.fabric-api:fabric-api:FABRIC_API_VERSION\"\n```\n\n### Kotlin DSL\n\n```kotlin\nmodImplementation(\"net.fabricmc.fabric-api:fabric-api:FABRIC_API_VERSION\")\n```\n\nAlternatively, modules from Fabric API can be specified individually as shown below (including module jar to your mod jar):\n\n### Groovy DSL\n\n```groovy\n// Make a collection of all api modules we wish to use\nSet\u003cString\u003e apiModules = [\n    \"fabric-api-base\",\n    \"fabric-command-api-v1\",\n    \"fabric-lifecycle-events-v1\",\n    \"fabric-networking-api-v1\"\n]\n\n// Add each module as a dependency\napiModules.forEach {\n    include(modImplementation(fabricApi.module(it, FABRIC_API_VERSION)))\n}\n```\n\n### Kotlin DSL\n\n```kotlin\n// Make a set of all api modules we wish to use\nsetOf(\n    \"fabric-api-base\",\n    \"fabric-command-api-v1\",\n    \"fabric-lifecycle-events-v1\",\n    \"fabric-networking-api-v1\"\n).forEach {\n    // Add each module as a dependency\n    modImplementation(fabricApi.module(it, FABRIC_API_VERSION))\n}\n```\n\n\u003c!--Linked to gradle documentation on properties--\u003e\nInstead of hardcoding version constants all over the build script, Gradle properties may be used to replace these constants. Properties are defined in the `gradle.properties` file at the root of a project. More information is available [here](https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#declare_properties_in_gradle_properties_file).\n\n## Contributing\n\nSee something Fabric API doesn't support, a bug or something that may be useful? We welcome contributions to improve Fabric API.\nMake sure to read [the development guidelines](./CONTRIBUTING.md).\n\n## Modules\n\nFabric API is designed to be modular for ease of updating. This also has the advantage of splitting up the codebase into smaller chunks.\n\nEach module contains its own `README.md`* explaining the module's purpose and additional info on using the module.\n\n\\* The README for each module is being worked on; not every module has a README at the moment\n","funding_links":[],"categories":["Java","Fabric Toolchain","Platforms","Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFabricMC%2Ffabric","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFabricMC%2Ffabric","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFabricMC%2Ffabric/lists"}