~~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|Introduction to Fabric and Modding]] * [[tutorial:introduction|Introduction to Modding with Fabric]] * [[https://docs.fabricmc.net/develop/getting-started/setting-up-a-development-environment|Setting up a Development Environment]] * [[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|Intro to Registries]] * [[tutorial:registry_types|Standard Registries]] * [[hotswapping|Applying Changes without Restarting Minecraft]] * [[tutorial:lang|Creating a lang 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]] * [[https://docs.fabricmc.net/develop/items/custom-item-groups|Custom Item Groups]] * [[https://docs.fabricmc.net/develop/items/first-item#custom-tooltips|Custom Item Tooltips]] * [[tutorial:recipes|Adding a Crafting Recipe]] * [[https://docs.fabricmc.net/develop/items/custom-armor|Custom Armor]] * [[tutorial:armor_trim|Adding an Armor Trim]] * [[https://docs.fabricmc.net/develop/items/custom-tools|Custom Tools]] * [[tutorial:shield|Adding a Shield]] * [[tutorial:enchantments|Adding Custom Enchantments]] * [[tutorial:model_predicate_providers|Adding Model Predicate Providers]] ==== 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]] * [[tutorial:blockentity|Adding a BlockEntity]] * [[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]] * [[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]] * [[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. * [[tutorial:datagen_setup|Getting started using Data Generation]] * [[tutorial:datagen_advancements|Advancements Generation]] * [[tutorial:datagen_loot|Loot Table Generation]] * [[tutorial:datagen_model|Model Generation]] * [[tutorial:datagen_buckets|Bucket Texture Data Generation]] * [[tutorial:datagen_tags|Tag Generation]] * [[tutorial:datagen_recipe|Recipe Generation]] * [[tutorial:datagen_language|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 in old versions]] * [[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. * [[tutorial:commands|Creating Commands]] * [[tutorial:command_exceptions|Command Exceptions]] * [[tutorial:command_suggestions|Command Suggestions]] * [[tutorial:command_redirects|Command Redirects]] * [[tutorial:command_argument_types|Command Argument Types]] * [[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. * [[tutorial:callbacks|Listening to Events]] * [[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_registration|Mixin registration]] * [[tutorial:mixin_injects|Injects]] * [[tutorial:mixin_accessors|Accessors and Invokers]] * [[tutorial:mixin_redirectors|Redirectors]] * [[tutorial:mixin_redirectors_methods|Method redirectors]] * [[tutorial:mixin_tips|Tips]] * [[tutorial:mixin_examples|Examples]] * [[tutorial:mixin_hotswaps|Hotswapping Mixins]] * [[tutorial:mixin_export|Exporting Mixin Classes]] * [[tutorial:accesswideners |Access Wideners]] * [[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]] * [[tutorial:persistent_states|Persistent States]] * [[tutorial:pixel_raycast|Raycasting]] * [[tutorial:keybinds|Custom Keybindings]] * [[tutorial:networking|Networking]] * [[https://docs.fabricmc.net/develop/entities/effects|Status Effects]] * [[tutorial: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 ==== * [[tutorial:migratemappings|Updating Yarn mappings in a Java codebase]] * [[tutorial:updating_yarn|Updating Yarn to a new Minecraft version]] * [[tutorial:mappings|Using Mappings]] ==== Contribute to Fabric ==== * [[tutorial:feature_procedure|The Fabric Feature Procedure]] ==== Other pages ==== * [[Archived Pages]] * [[https://github.com/FabricMC|Fabric 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]]