Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
start [2021/01/18 06:49] – Added dep overrides page link ytg1234 | start [2023/09/13 18:44] – ↷ Links adapted because of a move operation 192.3.143.106 |
---|
====== Welcome to the Fabric Wiki! ====== | ====== Welcome to the Fabric Wiki! ====== |
| |
This is an early work-in-progress wiki dedicated to documenting the methods, tools and APIs of the Fabric project. | This resource is dedicated to Fabric. Fabric is a modular modding toolchain targeting Minecraft: Java Edition 1.14 and above, including snapshots. |
| |
Fabric is a modular modding toolchain targetting Minecraft 1.14 and above, including snapshots. | Some pages on the wiki may be out-of-date or a work in progress. |
| |
**Make sure to check out [[community_discords|our community spaces]], and read our [[rules|Community Rules]]!** | This wiki is also available in the following languages: |
| * {{:china.png?nolink&32|}} [[zh_cn:start|简体中文 (Simplified Chinese)]] |
| * {{:france.png?nolink&32|}} [[fr:accueil|Français (French)]] |
| * {{:germany.png?nolink&32|}} [[de:start|Deutsch (German)]] |
| * {{:south-korea.png?nolink&32|}} [[ko_kr:start|한국어 (Korean)]] |
| * {{:russia.png?nolink&32|}} [[ru:start|Русский (Russian)]] |
| * {{:japan.png?nolink&32|}} [[ja:start|日本語 (Japanese)]] |
| |
| **Make sure to check out [[community:start|our community spaces]], and read our [[rules|Community Rules]]!** |
| |
* [[faq:user|Frequently Asked Questions (from users)]] | * [[faq:user|Frequently Asked Questions (from users)]] |
* [[faq:expert|Frequently Asked Questions (expert mode)]] - a supplement to the above with more detailed answers | * [[faq:expert|Frequently Asked Questions (expert mode)]] - a supplement to the above with more detailed answers |
| |
This wiki is also available in the following languages: | ====== Player Tutorials ====== |
* [[fr:accueil|Français (French)]] | |
* [[zh_cn:start|简体中文 (Simplified Chinese)]] | |
* [[ru:start|Русский (Russian)]] | |
---- | |
===== Installing and Using Fabric ===== | |
| |
If you're willing to use Fabric as a player, server administrator or modpack developers, these articles are for | If you wish to use Fabric as a player, server administrator or modpack developer, you should view the [[player:tutorials:start|Player Tutorials]] section of the wiki. |
you: | |
| |
==== Tutorials ==== | * [[player:tutorials:start#installing_fabric_loader|Installing Fabric Loader]] |
| * [[player:tutorials:start#updating_fabric_loader|Updating Fabric Loader]] |
* [[install|Installing Fabric]] | * [[player:tutorials:start#installing_java|Installing Java]] |
* [[player:tutorials:install_mcl:windows|Installing Fabric using the Minecraft Launcher (Windows)]] | * [[player:tutorials:start#troubleshooting|Troubleshooting]] |
* [[player:tutorials:install_multimc:windows|Installing Fabric using MultiMC (Windows)]] | |
* [[player:tutorials:install_multimc:mac|Installing Fabric using MultiMC (macOS)]] | |
* [[player:tutorials:install_gdlauncher:windows|Installing Fabric using GDLauncher (Windows)]] | |
* [[tutorial:installing_minecraft_fabric_server|Installing a Minecraft/Fabric Server]] | |
* [[tutorial:adding_mods|Adding mods]] | |
* [[tutorial:updating_fabric_using_multimc_launcher|Updating an existing MultiMC Instance]] | |
* [[player:tutorials:java:windows|Install/Verify Java (Windows)]] | |
* [[player:tutorials:java:mac|Install/Verify Java (macOS)]] | |
* [[player:tutorials:java:linux|Install/Verify Java (GNU/Linux)]] | |
* [[tutorial:dependency_overrides|Dependency Overrides]] (Loader ''0.11.1'' or later!) | |
| |
---- | ---- |
===== Modpack and Launcher Developers ===== | ====== Modpack and Launcher Developers ====== |
| |
**Please keep in mind that we recommend using MultiMC and MCUpdater for modpack play and distribution.** However, that doesn't stop us from trying to support other solutions! | :!: //These pages may be slightly outdated, we are currently in process of rewriting them.// |
| |
==== Tutorials ==== | **Please keep in mind that we recommend using Minecraft Launcher and MCUpdater for modpack play and distribution.** However, that doesn't stop us from trying to support other solutions! |
| |
* [[tutorial:mcupdater_modpacks|Using MCUpdater for Fabric modpacks]] (covers usage and creation) | * [[tutorial:mcupdater_modpacks|Using MCUpdater for Fabric modpacks]] (covers usage and creation) |
* [[tutorial:technic_modpacks|Publishing Fabric modpacks on Technic]] | * [[tutorial:technic_modpacks|Publishing Fabric modpacks on Technic]] |
* [[tutorial:atlauncher_modpacks|Publishing Fabric modpacks on ATLauncher]] | * [[tutorial:atlauncher_modpacks|Publishing Fabric modpacks on ATLauncher]] |
| |
==== Documentation ==== | |
| |
* [[documentation:modpack_related_endpoints|Modpack-related endpoints]] | * [[documentation:modpack_related_endpoints|Modpack-related endpoints]] |
| * [[tutorial:dependency_overrides|Dependency Overrides]] (Loader ''0.11.1'' or later!) |
| |
---- | ---- |
===== Mod Developers ===== | ====== Mod Developer Tutorials ====== |
| |
If you'd like to start developing with Fabric, here are some articles which might interest you. | If you'd like to start developing with Fabric, you should check out the [[tutorial:start|Mod Developer Tutorials]] section of the wiki. |
| |
==== Tutorials ==== | * [[tutorial:start#creating_your_first_mod|Creating Your First Mod]] |
| * [[tutorial:items|Adding Items]] |
=== Setup === | * [[tutorial:blocks|Adding Blocks]] |
| * [[tutorial:persistent_states|Saving Custom Data Across Restarts]] |
* [[tutorial:setup|Setting up a Development Environment]] | * [[tutorial:datagen_setup|Data Generation]] |
* [[https://wiki.vg/Debugging|Enabling Log4j Debug Messages]] | * [[tutorial:dimensionconcepts|World Generation]] |
* [[tutorial:minotaur|Publishing Mods on Modrinth with Minotaur]] | * [[tutorial:mixin_introduction|Introduction to Mixins]] |
* [[tutorial:cursegradle|Publishing Mods on Curseforge with CurseGradle]] | |
| |
=== Basics === | |
| |
* [[tutorial:introduction|Introduction to Modding with Fabric]] | |
* Conventions and Terminology | |
* [[tutorial:terms|Basic Conventions and Terminology]] | |
* [[tutorial:side|Server and Client Side Terminology]] | |
* Registries | |
* [[tutorial:registry|Intro to Registries]] | |
* [[tutorial:registry_types|Standard Registries]] | |
* Development Tools | |
* [[documentation:libraries|Third-party Library Mods]] | |
* [[tutorial:applychanges|Applying Changes without Restarting Minecraft]] | |
* [[tutorial:lang|Creating a lang file]] | |
* [[tutorial:mappings|Using Mappings]] | |
| |
=== Advanced === | |
* [[tutorial:ext_lang|Using CrowdinTranslate to provide live community translations]] | |
* [[tutorial:ext_gh_commit|Using GitHub Actions to find errors in your commits]] | |
* [[tutorial:modding_tips|Modding Tips]] | |
* [[tutorial:loader04x|Updating from Loader 0.3.x to 0.4.x]] | |
* [[tutorial:migratemappings|Updating Yarn mappings in a Java codebase]] | |
* [[tutorial:datafixer|DataFixers [WIP]]] | |
* [[tutorial:accesswideners |Access Wideners]] | |
| |
=== Items === | |
* [[tutorial:items_docs|Item Documentation]] | |
* [[tutorial:items|Practical Example: Adding an Item]] | |
* [[tutorial:itemgroup|Creating an ItemGroup for your items]] | |
* [[tutorial:tooltip|Adding a custom tooltip to your item]] | |
* [[tutorial:recipes|Adding a Crafting Recipe]] | |
* [[tutorial:armor|Adding Armor]] | |
* [[tutorial:tools|Adding Tools]] | |
* [[tutorial:enchantments|Adding Custom Enchantments]] | |
| |
=== Blocks and Block Entities=== | |
| |
* [[tutorial:blocks|Adding a Block]] | |
* [[tutorial:blockstate|Giving a Block State]] | |
* [[tutorial:directionalblock|Making a Directional Block]] | |
* [[tutorial:blockentity|Adding a BlockEntity]] | |
* [[tutorial:inventory|Storing Items in a Block as an Inventory]] | |
* [[tutorial:colorprovider|Dynamically Change the Color of a Block or Item]] | |
* [[tutorial:blockappearance|Manipulating a Block's Appearance]] | |
* [[tutorial:dynamic_block_rendering|Rendering Blocks and Items Dynamically]] | |
* [[tutorial:custom_model|Rendering Blocks and Items Dynamically using a custom Model]] | |
* [[tutorial:blockentityrenderers|Rendering Blocks and Items Dynamically using Block Entity Renderers]] | |
* [[tutorial:screenhandler|Creating a Container Block]] | |
* [[tutorial:extendedscreenhandler|Syncing Custom Data with Extended ScreenHandlers]] | |
* [[tutorial:propertydelegates|Syncing Integers with PropertyDelegates]] | |
| |
=== Fluids === | |
* [[tutorial:fluids|Creating a Fluid]] | |
| |
=== Entities === | |
* [[tutorial:entity|Adding an Entity]] | |
| |
=== World Generation === | |
* [[tutorial:dimensionconcepts|Dimension Concepts]] | |
* [[tutorial:ores|Generating Custom Ores]] | |
* [[tutorial:features|Adding Features]] | |
* [[tutorial:structures|Adding Structure Features]] | |
* [[tutorial:biomes|Adding Biomes]] | |
* [[tutorial:generator_types|Adding Generator Types]] | |
* [[tutorial:dimensions|Adding Dimensions]] | |
* [[tutorial:custom_portals|Creating a Custom Portal]] | |
| |
=== Recipe Types === | |
* [[tutorial:recipe_types_introduction|Introduction to RecipeTypes]] | |
* [[tutorial:recipe_type|Adding a recipe type]] | |
* [[tutorial:cooking_recipe_type|Adding a cooking recipe type]] | |
* [[tutorial:cutting_recipe_type|Adding a cutting recipe type]] | |
| |
=== Miscellaneous === | |
| |
* [[tutorial:mining_levels|Mining Levels]] | |
* [[tutorial:pixel_raycast|Raycasting]] | |
* [[tutorial:keybinds|Custom Keybindings]] | |
* [[tutorial:commands|Creating Commands]] | * [[tutorial:commands|Creating Commands]] |
* [[tutorial:status_effects|Status Effects]] | * [[tutorial:callbacks|Events]] |
* [[tutorial:sounds|Playing Sounds]] | * [[tutorial:entity|Entities]] |
* [[tutorial:networking|Networking]] | * [[tutorial:fluids|Fluids]] |
* [[tutorial:tags|Tag Conventions]] | |
* [[tutorial:list_of_useful_gists|List of Useful Tutorials]] | |
| |
=== Events === | ---- |
* [[tutorial:callbacks|Listening to Events (DRAFT)]] | |
* [[tutorial:events|Creating Custom Events]] | |
* [[tutorial:adding_to_loot_tables|Adding Items to Existing Loot Tables]] | |
| |
=== Mixins === | ====== Documentation ====== |
* [[tutorial:mixin_introduction|Introduction]] | |
* [[tutorial:mixin_injects|Injects]] | |
* [[tutorial:mixin_accessors|Accessors]] | |
* [[tutorial:mixin_redirectors|Redirectors]] | |
* [[tutorial:mixin_redirectors_methods|Method redirectors]] | |
* [[tutorial:mixin_examples|Examples]] | |
* [[tutorial:mixin_hotswaps|Hotswapping Mixins]] | |
* [[tutorial:mixin_export|Exporting Mixin Classes]] | |
| |
=== Dynamic Data Generation === | If you want to know how projects in the Fabric toolchain work, you should check out the [[documentation:start|Documentation]] section of the wiki. |
| |
* [[tutorial:dynamic_recipe_generation|Dynamic Recipe Generation]] | |
* [[tutorial:dynamic_model_generation|Dynamic Model Generation]] | |
| |
=== Tutorials for Minecraft 1.15 === | |
| |
* [[tutorial:1.15:jigsaw|Using Jigsaws in StructureFeatures]] | |
| |
=== Tutorials for Minecraft 1.14 === | |
| |
* [[tutorial:1.14:blockentityrenderers|Rendering blocks and items dynamically using block entity renderers]] | |
* [[tutorial:1.14:blockappearance|Manipulating a Block's appearance]] | |
* [[tutorial:entity-old|Adding a Cookie Creeper Entity]] | |
| |
=== Documentation === | |
| |
* [[documentation:fabric_mod_json|Structure of fabric.mod.json]] | |
* [[documentation:fabric_mod_json_spec|fabric.mod.json specification]] | |
* [[documentation:entrypoint|Entrypoints]] | |
* [[http://github.com/SpongePowered/Mixin/wiki|Mixin library wiki]] | |
* [[documentation:rendering|Rendering in Fabric (DRAFT)]] | |
* [[documentation:build_pipelines|Fabric build pipelines (DRAFT)]] | |
* [[documentation:fabric_loader|Fabric Loader]] | |
* [[documentation:fabric_loom|Fabric Loom]] | |
==== Examples ==== | |
| |
* [[https://github.com/FabricMC/fabric-example-mod|Mod environment template]] | |
* [[https://github.com/FabricMC/fabric/tree/master/fabric-testmods/java/net/fabricmc/fabric|Fabric API test mods]] (Outdated) - not a direct tutorial, but may come in handy | |
| |
| * [[documentation:start#specifications|Specifications]] |
| * [[documentation:start#technical_documentation|Technical Information]] |
| * [[documentation:start#external_documentation|External Documentation]] |
| |
---- | ---- |
===== Fabric Сontributors ===== | ====== Contributing to the Wiki ====== |
| |
If you'd like to contribute to Fabric, you might be interested in these links: | The Wiki is mostly maintained by the community, for the community. If you are interested in contributing to the wiki, check out the following pages first: |
* [[tutorial:feature_procedure|The Fabric Feature Procedure]] - or how to get your feature accepted (or not!) | |
* [[tutorial:fablabs|FabLabs]] - a testing ground for drafting new Fabric features before submitting PRs | |
* [[https://github.com/FabricMC|Fabric on GitHub]] | |
* [[https://github.com/FabricMC/yarn|Game mappings repository + contribution documentation]] | |
| |
| |
---- | |
===== Extremely Strange People ===== | |
| |
* [[tutorial:updating_yarn|Updating Yarn to a new Minecraft version]] - for prospective Yarn developers, **not** regular users or modders! | |
| |
| |
---- | |
===== Wiki Meta ===== | |
| |
* [[wiki_meta|Wiki Meta]] - Starting point for contributing to the wiki | * [[wiki_meta|Wiki Meta]] - Starting point for contributing to the wiki |
* [[wiki:agenda|Wiki Agenda]] - See what is on the current agenda, and what other contributors are currently working on. | * [[wiki:agenda|Wiki Agenda]] - See what is on the current agenda, and what other contributors are currently working on. |