Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
start [2019/12/22 09:05] – bitman | start [2021/03/18 16:41] – Made link bold, for better eye catching carbon |
---|
====== Welcome to the Fabric Wiki! ====== | ====== Welcome to the Fabric Wiki! ====== |
| |
| Fabric is a modular modding toolchain targeting Minecraft 1.14 and above, including snapshots. |
| |
| **Hint:** |
| |
This is an early work-in-progress wiki dedicated to documenting the methods, tools and APIs of the Fabric project. | This is an early work-in-progress wiki dedicated to documenting the methods, tools and APIs of the Fabric project. |
| |
Fabric is a modular modding toolchain targetting Minecraft 1.14 and above, including snapshots. | Considered **[[wiki_meta|contributing]]** ? |
| |
**Make sure to check out [[http://fabricmc.net/discuss|our community spaces]], and read our [[rules|Community Rules]]!** | **Make sure to check out [[community_discords|our community spaces]], and read our [[rules|Community Rules]]!** |
| |
* [[faq:user|Frequently Asked Questions (from users)]] | * [[faq:user|Frequently Asked Questions (from users)]] |
| |
This wiki is also available in the following languages: | This wiki is also available in the following languages: |
| {{:france_flag.png?nolink&24|}} [[fr:accueil|Français]] | | * [[zh_cn:start|简体中文 (Simplified Chinese)]] |
| {{:china_flag.png?nolink&24|}} [[zh_cn:start|简体中文(Simplified Chinese)]] | | * [[fr:accueil|Français (French)]] |
| * [[de:start|Deutsch (German)]] |
| * [[ko_kr:start|한국어 (Korean)]] |
| * [[ru:start|Русский (Russian)]] |
| |
---- | |
===== Installing and Using Fabric ===== | ===== 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, these articles are for |
you: | you: |
| |
| |
* [[install|Installing Fabric]] | * [[install|Installing Fabric]] |
* [[tutorial:install_with_minecraft_launcher|Installing Fabric using the Minecraft Launcher]] | * [[player:tutorials:install_mcl:windows|Installing Fabric using the Minecraft Launcher (Windows)]] |
* [[tutorial:install_with_multimc|Installing Fabric using MultiMC]] | * [[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:installing_minecraft_fabric_server|Installing a Minecraft/Fabric Server]] |
| * [[player:tutorials:install_server|Installing a Fabric server without a GUI (e.g. Linux)]] |
* [[tutorial:adding_mods|Adding mods]] | * [[tutorial:adding_mods|Adding mods]] |
* [[tutorial:updating_fabric_using_multimc_launcher|Updating an existing MultiMC Instance]] | * [[tutorial:updating_fabric_using_multimc_launcher|Updating an existing MultiMC Instance]] |
* [[tutorial:install_java|Install/Verify Java]] | * [[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)]] |
| |
---- | ---- |
| |
* [[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 ===== |
| |
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, here are some articles which might interest you. |
=== Setup === | === Setup === |
| |
* [[tutorial:setup|Setting up a development environment]] | * [[tutorial:setup|Setting up a Development Environment]] |
* [[https://wiki.vg/Debugging|Enabling Log4j debug messages]] | * [[https://wiki.vg/Debugging|Enabling Log4j Debug Messages]] |
* [[tutorial:cursegradle|Publishing mods with CurseGradle]] | * [[tutorial:minotaur|Publishing Mods on Modrinth with Minotaur]] |
| * [[tutorial:cursegradle|Publishing Mods on Curseforge with CurseGradle]] |
| |
=== Basics === | === Basics === |
* [[tutorial:introduction|Introduction to Modding with Fabric]] | * [[tutorial:introduction|Introduction to Modding with Fabric]] |
* Conventions and Terminology | * Conventions and Terminology |
* [[tutorial:terms|Basic conventions and terminology]] | * [[tutorial:terms|Basic Conventions and Terminology]] |
* [[tutorial:side|Server and client side terminology]] | * [[tutorial:side|Server and Client Side Terminology]] |
| * Registries |
| * [[tutorial:registry|Intro to Registries]] |
| * [[tutorial:registry_types|Standard Registries]] |
* Development Tools | * Development Tools |
* [[documentation:libraries|Third-party library mods]] | * [[documentation:libraries|Third-party Library Mods]] |
* [[tutorial:applychanges|Applying changes without restarting Minecraft]] | * [[tutorial:applychanges|Applying Changes without Restarting Minecraft]] |
* [[tutorial:lang|Creating a lang file]] | * [[tutorial:lang|Creating a lang file]] |
* [[tutorial:mappings|Using mappings]] | * [[tutorial:mappings|Using Mappings]] |
* [[tutorial:recipes|Adding a crafting recipe]] | |
| |
=== Items and Item Groups === | === 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]] |
| * [[tutorial:model_predicate_providers|Adding Model Predicate Providers]] |
| |
* [[tutorial:items|Adding an item]] | |
* [[tutorial:itemgroup|Adding an item group]] | |
* [[tutorial:tooltip|Adding a tooltip]] | |
=== Blocks and Block Entities=== | === Blocks and Block Entities=== |
| |
* [[tutorial:blocks|Adding a block]] | * [[tutorial:blocks|Adding a Block]] |
* [[tutorial:blockstate|Giving a block state]] | * [[tutorial:blockstate|Giving a Block State]] |
* [[tutorial:directionalblock|Making a directional block]] | * [[tutorial:directionalblock|Making a Directional Block]] |
* [[tutorial:blockentity|Adding a BlockEntity]] | * [[tutorial:blockentity|Adding a BlockEntity]] |
* [[tutorial:inventory|Storing items in a block as an inventory]] | * [[tutorial:inventory|Storing Items in a Block as an Inventory]] |
* [[tutorial:colorprovider|Dynamically change the color of a block or item]] | * [[tutorial:colorprovider|Dynamically Change the Color of a Block or Item]] |
* [[tutorial:blockappearance|Manipulating a Block's appearance]] | * [[tutorial:blockappearance|Manipulating a Block's Appearance]] |
* [[tutorial:blockentityrenderers|Rendering blocks and items dynamically using block entity renderers]] | * [[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 === | === Fluids === |
* [[tutorial:fluids|Creating a fluid]] | * [[tutorial:fluids|Creating a Fluid]] |
| |
=== Entities === | === Entities === |
| * [[tutorial:entity|Adding an Entity]] |
| * [[tutorial:projectiles|Creating a Custom Projectile]] |
| |
* [[tutorial:entity|Adding an Entity]] | |
=== World Generation === | === World Generation === |
| |
* [[tutorial:ores|Generating custom ores in the world]] | |
* [[tutorial:features|Generating Features]] | |
* [[tutorial:structures|Generating StructureFeatures]] | |
* [[tutorial:jigsaw|Using Jigsaws in StructureFeatures]] | |
* [[tutorial:locate|Adding your structure to /locate]] | |
* [[tutorial:biome|Adding a Biome]] | |
* [[tutorial:dimensionconcepts|Dimension Concepts]] | * [[tutorial:dimensionconcepts|Dimension Concepts]] |
* [[tutorial:dimension|Creating a basic dimension]] | * [[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 (DRAFT)]] |
| * [[tutorial:cooking_recipe_type|Adding a cooking recipe type]] |
| * [[tutorial:cutting_recipe_type|Adding a cutting recipe type]] |
| |
=== Miscellaneous === | === Miscellaneous === |
| |
* [[tutorial:armor|Adding Armor]] | * [[tutorial:mining_levels|Mining Levels]] |
* [[tutorial:enchantments|Adding custom enchantments]] | * [[tutorial:pixel_raycast|Raycasting]] |
* [[tutorial:keybinds|Custom Keybindings]] | * [[tutorial:keybinds|Custom Keybindings]] |
* [[tutorial:events|Creating custom events]] | |
* [[tutorial:adding_to_loot_tables|Adding items to existing loot tables]] | |
* [[tutorial:commands|Creating Commands]] | * [[tutorial:commands|Creating Commands]] |
| * [[tutorial:networking|Networking]] |
| * [[tutorial:status_effects|Status Effects]] |
* [[tutorial:sounds|Playing Sounds]] | * [[tutorial:sounds|Playing Sounds]] |
* [[tutorial:list_of_useful_gists|List of useful tutorials]] | * [[tutorial:gamerule|Custom Gamerule]] |
=== Advanced === | * [[tutorial:custom_resources|Custom Data/Resource Pack Resources]] |
| * [[tutorial:tags|Tag Conventions]] |
| * [[tutorial:list_of_useful_gists|List of Useful Tutorials]] |
| * [[tutorial:stats|Adding Player Statistics]] |
| |
* [[tutorial:modding_tips|Modding Tips]] | === Events === |
* [[tutorial:loader04x|Updating from Loader 0.3.x to 0.4.x]] | * [[tutorial:callbacks|Listening to Events (DRAFT)]] |
* [[tutorial:migratemappings|Updating Yarn mappings in a Java codebase]] | * [[tutorial:events|Creating Custom Events]] |
| * [[tutorial:adding_to_loot_tables|Adding Items to Existing Loot Tables]] |
| |
| === Mixins === |
| * [[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_hotswaps|Hotswapping Mixins]] |
* [[tutorial:datafixer|DataFixers [WIP]]] | * [[tutorial:mixin_export|Exporting Mixin Classes]] |
| |
| === Dynamic Data Generation === |
| |
| * [[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 === | === Tutorials for Minecraft 1.14 === |
| |
* [[tutorial:1.14:blockentityrenderers|Rendering blocks and items dynamically using block entity renderers]] | * [[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 === |
| |
* [[documentation:fabric_mod_json|fabric.mod.json]] | * [[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]] | * [[http://github.com/SpongePowered/Mixin/wiki|Mixin library wiki]] |
* [[documentation:rendering|Rendering in Fabric (DRAFT)]] | * [[documentation:rendering|Rendering in Fabric (DRAFT)]] |
* [[documentation:fabric_loader|Fabric Loader]] | * [[documentation:fabric_loader|Fabric Loader]] |
* [[documentation:fabric_loom|Fabric Loom]] | * [[documentation:fabric_loom|Fabric Loom]] |
| |
==== Examples ==== | ==== Examples ==== |
| |
* [[https://github.com/FabricMC/fabric-example-mod|Mod environment template]] | * [[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]] - not a direct tutorial, but may come in handy | * [[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 |
| |
| |
If you'd like to contribute to Fabric, you might be interested in these links: | If you'd like to contribute to Fabric, you might be interested in these links: |
* [[tutorial:feature_procedure|The Fabric Feature Procedure]] - or how to get your feature accepted (or not!) | * [[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|Fabric on GitHub]] |
* [[https://github.com/FabricMC/yarn|Game mappings repository + contribution documentation]] | * [[https://github.com/FabricMC/yarn|Game mappings repository + contribution documentation]] |
| |
---- | ---- |
===== Wiki Meta ===== | ===== Contributing to the Wiki ===== |
| |
* [[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. |