User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2020/01/10 21:33]
draylar add registry category
start [2021/04/02 21:08] (current)
ytg1234 Match the name of the page
Line 1: Line 1:
 ====== 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)]]
Line 11: Line 15:
  
 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:
  
Line 23: Line 29:
  
   * [[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 (Linux)]]
  
 ---- ----
Line 45: Line 55:
  
   * [[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 ​=====+===== Developing with Fabric ​=====
  
 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.
Line 57: Line 68:
 === Setup === === Setup ===
  
-  * [[tutorial:​setup|Setting up a development environment]] +  * [[tutorial:​setup|Getting started (Setting up the Enviroment)]] 
-  * [[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 ===
Line 65: Line 77:
   * [[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   * Registries
     * [[tutorial:​registry|Intro to Registries]]     * [[tutorial:​registry|Intro to Registries]]
     * [[tutorial:​registry_types|Standard 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:networking|Networking]] +  * [[tutorial:gamerule|Custom Gamerule]] 
-  * [[tutorial:​list_of_useful_gists|List of useful tutorials]] +  * [[tutorial:​custom_resources|Custom Data/​Resource Pack Resources]] 
-=== Advanced ===+  * [[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)]]
Line 141: Line 202:
   * [[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
  
  
Line 153: Line 213:
 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]]
Line 164: Line 225:
  
 ---- ----
-===== 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.
start.1578692026.txt.gz · Last modified: 2020/01/10 21:33 by draylar