~~NOCACHE~~ [[:start|← Go back to the homepage]] ===== Fabric Tutorials ===== * [[tutorial:start|Information On Tutorials]] ==== Basics ==== * [[https://docs.fabricmc.net/develop/getting-started/|Introduction to Fabric and Modding]] ([[tutorial:introduction|older version]]) * [[https://docs.fabricmc.net/develop/getting-started/setting-up|Setting up a Development Environment]] ([[setup|older version]]) * [[tutorial:reading_mc_code|Reading the Minecraft source]] * [[kotlin|Modding with Fabric with Kotlin]] * [[tutorial:terms|Basic Conventions and Terminology]] * [[tutorial:side|Server and Client Side]] * [[tutorial:registry|Introduction to Registries]] * [[tutorial:registry_types|Standard Registries]] * [[hotswapping|Applying Changes without Restarting Minecraft]] * [[tutorial:lang|Creating a language file]] ==== Items ==== Creation of items, such as tools, armor and food. Alongside crafting recipes and enchantments. * [[https://docs.fabricmc.net/develop/items/first-item|Creating Your First Item]] ([[items|older version]]) * [[tooltip|Custom Item Tooltips]] * [[https://docs.fabricmc.net/develop/items/custom-item-groups|Creating Item Groups/Creative Tabs]] ([[itemgroup|older version]]) * [[tutorial:recipes|Adding a Crafting Recipe]] * [[https://docs.fabricmc.net/develop/items/custom-armor|Custom Armor]] ([[armor|older version]]) * [[tutorial:armor_trim|Adding an Armor Trim]] * [[https://docs.fabricmc.net/develop/items/custom-tools|Custom Tools]] [[tools|(older version)]] * [[tutorial:shield|Adding a Shield]] (1.21.5 and below) * [[https://docs.fabricmc.net/develop/items/custom-enchantment-effects|Custom Enchantments]] ([[enchantments|older version]]) * [[https://docs.fabricmc.net/develop/items/item-appearance|Transparency and Tinting]] ([[tutorial:colorprovider|older version]]) * [[tutorial:model_predicate_providers|Adding Model Predicate Providers]] (before 1.21.4) ==== Blocks and Block Entities==== Creation of blocks, storage of items and data in blocks via block entities, and the creation of models and blockstates. * [[https://docs.fabricmc.net/develop/blocks/first-block|Creating Your First Block]] * [[https://docs.fabricmc.net/develop/blocks/blockstates|Block States]] * [[tutorial:directionalblock|Making a Directional Block]] * [[tutorial:waterloggable|Make the Block Waterloggable]] * [[https://docs.fabricmc.net/develop/blocks/block-entities|Adding a BlockEntity]] ([[tutorial:blockentity|older version]]) * [[tutorial:blockentity_modify_data|Modify BlockEntity data]] * [[tutorial:blockentity_sync_itemstack|Sync BlockEntity data with ItemStack]] * [[tutorial:inventory|Storing Items in a Block as an Inventory]] * [[https://docs.fabricmc.net/develop/blocks/transparency-and-tinting|Transparency and Tinting]] ([[tutorial:blockappearance|older version]]) * [[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]] * [[tutorial:crops|Adding a Custom Crop]] ==== Data Generation ==== The [[https://github.com/FabricMC/fabric/tree/HEAD/fabric-data-generation-api-v1|Fabric Data Generation API]], which generates JSON files through data generators. * [[https://docs.fabricmc.net/develop/data-generation/setup|Getting started using Data Generation]] * [[https://docs.fabricmc.net/develop/data-generation/advancements|Advancements Generation]] * [[https://docs.fabricmc.net/develop/data-generation/loot-tables|Loot Table Generation]] * [[tutorial:datagen_model|Model Generation]] * [[tutorial:datagen_buckets|Bucket Texture Data Generation]] * [[https://docs.fabricmc.net/develop/data-generation/tags|Tag Generation]] * [[https://docs.fabricmc.net/develop/data-generation/recipes|Recipe Generation]] * [[https://docs.fabricmc.net/develop/data-generation/translations|Language File Generation]] ==== World Generation ==== * [[tutorial:dimensionconcepts|Dimension Concepts]] * [[tutorial:ores|Generating Custom Ores]] * [[tutorial:features|Adding Features]] * [[tutorial:trees|Adding Trees (Advanced)]] * [[https://minecraft.wiki/w/Tutorials/Custom_structures|Adding structures]] (vanilla tutorial in Minecraft Wiki) * [[https://minecraft.wiki/w/Biomes/JSON_format|Adding Biomes]] (vanilla tutorial) * [[tutorial:biomes_old|Adding Biomes]] (before 1.18) * [[tutorial:chunkgenerator|Custom Chunk Generators (DRAFT)]] * [[tutorial:world_presets|Adding World Presets]] * [[https://minecraft.wiki/w/Custom_dimension|Adding Dimensions]] (vanilla tutorial) * [[tutorial:custom_portals|Creating a Custom Portal]] ==== Commands ==== Using [[https://github.com/Mojang/brigadier|Mojang's Brigadier library]] to create commands with complex arguments and actions. * [[https://docs.fabricmc.net/develop/commands/basics|Creating Commands]] ([[tutorial:commands|older version]]) * [[tutorial:command_exceptions|Command Exceptions]] * [[https://docs.fabricmc.net/develop/commands/suggestions|Command Suggestions]] ([[tutorial:command_suggestions|older version]]) * [[tutorial:command_redirects|Command Redirects]] * [[https://docs.fabricmc.net/develop/commands/arguments|Command Argument Types]] ([[tutorial:command_argument_types|older version]]) * [[tutorial:command_examples|Command Examples]] ==== Events ==== Using the many events included in [[https://github.com/FabricMC/fabric|Fabric API]], and creating your own events for you or other mods to use. * [[https://docs.fabricmc.net/develop/events|Listening to Events]] ([[tutorial:callbacks|older version]]) * [[tutorial:events|Creating Custom Events]] * [[tutorial:adding_to_loot_tables|Adding Items to Existing Loot Tables]] * [[tutorial:event_index|Event Index (DRAFT)]] ==== Entities ==== * [[tutorial:entity|Adding an Entity]] * [[tutorial:spawn_egg|Adding a Custom Spawn Egg]] * [[tutorial:projectiles|Creating a Custom Projectile]] ==== Fluids ==== * [[tutorial:fluids|Creating a Fluid]] ==== Mixins & ASM ==== The usage of [[https://github.com/SpongePowered/Mixin|SpongePowered's Mixin library]], which is a highly complex topic. We recommend you read these pages thoroughly. * [[tutorial:mixin_introduction|Introduction]] * [[tutorial:mixin_your_first_mixin|Tutorial: Making your first Mixin]] * [[tutorial:mixin_registration|Mixin registration]] * [[tutorial:mixin_injects|@Inject]] * [[tutorial:mixin_accessors|Accessors and Invokers]] * [[tutorial:mixin_override|Overriding a Mixin Target's parent]] * [[tutorial:mixin_redirectors|Redirectors]] * [[tutorial:mixin_redirectors_methods|Method redirectors]] * [[tutorial:mixin_tips|Tips]] (WIP) * [[tutorial:mixin_examples|Examples]] * [[tutorial:mixin_hotswaps|Hotswapping Mixins]] * [[tutorial:mixin_export|Exporting Mixin Classes]] * [[tutorial:accesswidening|Access Widening]] * [[tutorial:reflection|Reflection]] * [[tutorial:interface_injection|Interface Injection]] ==== Publishing ==== * [[tutorial:minotaur|Publishing Mods on Modrinth with Minotaur]] * [[tutorial:cursegradle|Publishing Mods on CurseForge with CurseGradle]] * [[tutorial:publishing_mods_using_github_actions|Publishing mods on CurseForge, Modrinth & GitHub with MC-Publish]] ==== Miscellaneous ==== * [[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:mining_levels|Mining Levels]] * [[tutorial:global_data|Global World Data]] * [[https://docs.fabricmc.net/develop/saved-data|Saved Data]] ([[tutorial:persistent_states|older version]]) * [[tutorial:pixel_raycast|Raycasting]] * [[tutorial:keybinds|Custom Keybindings]] * [[https://docs.fabricmc.net/develop/networking|Networking]] ([[tutorial:networking|older version]]) * [[https://docs.fabricmc.net/develop/entities/effects|Status Effects]] * [[https://docs.fabricmc.net/develop/rendering/particles/creating-particles|Adding a Particle]] * [[https://docs.fabricmc.net/develop/items/potions|Adding a Potion]] * [[https://docs.fabricmc.net/develop/entities/damage-types|Adding a Damage Type]] * [[https://docs.fabricmc.net/develop/sounds/using-sounds|Playing Sounds]] * [[tutorial:gamerule|Custom Gamerule]] * [[tutorial:custom_resources|Custom Data/Resource Pack Resources]] * [[tutorial:tags|Tag Conventions]] * [[tutorial:stats|Adding Player Statistics]] * [[tutorial:modding_tips|Modding Tips]] * [[tutorial:transfer-api|Fluid, Item and Energy Transfer]] * [[screen|Creating a Screen]] ==== Toolchain ==== * [[https://docs.fabricmc.net/develop/migrating-mappings|Migrating between Mappings]] * [[tutorial:mappings|Using Mappings]] ==== Contribute to Fabric ==== * [[tutorial:feature_procedure|The Fabric Feature Procedure]] * [[tutorial:updating_yarn|Updating Yarn to a new Minecraft version]] ==== Other pages ==== * [[Archived Pages]] * [[https://github.com/FabricMC|Fabric on GitHub]] * [[https://github.com/FabricMC/fabric|Fabric API on GitHub]] * [[https://github.com/FabricMC/yarn|Yarn Mappings on GitHub]] * [[community:list_of_useful_gists|List of Useful Tutorials]] * [[https://docs.fabricmc.net/develop/|Developer Guide on Fabric Documentation]] * [[community:library_mods|Community Libraries]]