~~NOCACHE~~ [[:start|← Go back to the homepage]] ===== Fabric Tutorials ===== * [[tutorial:start|Information On Tutorials]] ==== Setup ==== These pages will help you setup a productive development environment and semi-automated releases. * [[tutorial:setup|Setting up a Development Environment]] * [[https://wiki.vg/Debugging|Enabling Log4j Debug Messages]] * [[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]] ==== Basics ==== These pages are essential must-reads when modding with Fabric, and modding Minecraft in general, if you are new to modding, it is recommended you read the following. * [[tutorial:primer|Introduction to Modding Minecraft in General]] * [[tutorial:introduction|Introduction to Modding with Fabric]] * [[tutorial:reading_mc_code|Reading the Minecraft source]] * 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 * [[community:library_mods|Third-party Library Mods]] * [[tutorial:applychanges|Applying Changes without Restarting Minecraft]] * [[tutorial:lang|Creating a lang file]] * [[tutorial:mappings|Using Mappings]] ==== Items ==== These pages will guide you on the creation of items, such as tools, armor and food. Alongside crafting recipes and enchantments. * [[tutorial:items|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:shield|Adding a Shield]] * [[tutorial:enchantments|Adding Custom Enchantments]] * [[tutorial:model_predicate_providers|Adding Model Predicate Providers]] ==== Blocks and Block Entities==== These pages will guide you through the creation of blocks, storage of items and data in blocks via block entities, and the creation of models and blockstates. * [[tutorial:blocks|Adding a Block]] * [[tutorial:blockstate|Giving a Block State]] * [[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 ==== These pages will guide you through 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 ==== These pages will guide you through world generation concepts. * [[tutorial:dimensionconcepts|Dimension Concepts]] * [[tutorial:ores|Generating Custom Ores]] * [[tutorial:features|Adding Features]] * [[tutorial:trees|Adding Trees (Advanced)]] * [[https://misode.github.io/guides/adding-custom-structures/|Adding Structure Features]] (third-party tutorial) * [[https://minecraft.wiki/w/Biomes/JSON_format|Adding Biomes]] (vanilla tutorial) * [[tutorial:biomes|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 ==== These pages will guide you through [[https://github.com/Mojang/brigadier|Mojang's Brigadier library]] which allows you 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 ==== These pages will guide you through using the many events included in [[https://github.com/FabricMC/fabric|Fabric API]], and how to create 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 ==== These pages will guide you through 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]] ==== 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]] * [[tutorial:status_effects|Status Effects]] * [[tutorial:particles|Adding a Particle]] * [[tutorial:potions|Adding a Potion]] * [[tutorial:damagetypes|Adding a Damage Type]] * [[tutorial:sounds|Playing Sounds]] * [[tutorial:gamerule|Custom Gamerule]] * [[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]] * [[tutorial:transfer-api|Fluid, Item and Energy Transfer]] * [[screen|Creating a Screen]] ==== Toolchain ==== * Tools * [[documentation:enigma|Enigma]] * [[documentation:matcher|Matcher]] * Tutorials * [[tutorial:migratemappings|Updating Yarn mappings in a Java codebase]] * [[tutorial:updating_yarn|Updating Yarn to a new Minecraft version]] * Specifications * [[documentation:tiny2|Tiny v2 mapping format]] ==== Contribute to Fabric ==== * [[tutorial:feature_procedure|The Fabric Feature Procedure]] * [[https://github.com/FabricMC|Fabric on GitHub]] * [[https://github.com/FabricMC/yarn|Yarn Mappings on GitHub]] Looking for old tutorials? They've probably been archived. [[tutorial:archived_pages|You can view archived pages here.]]