User Tools

Site Tools


tutorial:introduction

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tutorial:introduction [2019/11/03 23:20] layltutorial:introduction [2023/09/13 21:20] (current) – ↷ Links adapted because of a move operation 2001:8a0:f4d2:c700:98c:bb27:6ad8:1dab
Line 11: Line 11:
 Mixins can be fragile, and at times can cause conflicts. Mixins can be fragile, and at times can cause conflicts.
 Therefore, some common functionality has already been implemented by the Fabric API for you. Therefore, some common functionality has already been implemented by the Fabric API for you.
-If it doesn't exist in the core Fabric API, often it will exist in a third party library. +If it doesn't exist in the core Fabric API, often it will exist in a third-party library. 
-In almost every situation it's preferable to use either the Fabric APIor a third party library over implementing a mixin yourself.+In almost every situation it's preferable to use either the Fabric API or a third party library over implementing a mixin yourself.
  
 Sometimes though, you don't need any of that. Sometimes though, you don't need any of that.
Line 23: Line 23:
  
 If Minecraft already lets you do something, don't re-invent the wheel. If Minecraft already lets you do something, don't re-invent the wheel.
-A good example of this is the "Registry" class, which lets you add blocks and items without any modifications to Minecraft's code.+A good example of this is the "<yarn class_2378>" class, which lets you add blocks and items without any modifications to Minecraft's code.
  
 Minecraft also uses JSON data files for various data-driven features. Minecraft also uses JSON data files for various data-driven features.
Line 40: Line 40:
  
 You can find out what's included in the Fabric API by looking over [[https://github.com/FabricMC/fabric|its source code on GitHub]]. You can find out what's included in the Fabric API by looking over [[https://github.com/FabricMC/fabric|its source code on GitHub]].
-The Fabric API contains a lot of common event hooksand general utilities for things like networking and rendering.+The Fabric API contains a lot of common event hooks and general utilities for things like networking and rendering.
  
  
Line 47: Line 47:
 Because the Fabric API is intentionally kept small and focused, third party APIs exist to fill in the gaps. Because the Fabric API is intentionally kept small and focused, third party APIs exist to fill in the gaps.
 Mixins allow any third party library to affect Minecraft's code in the same way as the core Fabric API can. Mixins allow any third party library to affect Minecraft's code in the same way as the core Fabric API can.
-You should use these instead of writing your own mixins where possible to minimize the possibility for conflicts.+You should use these instead of writing your own mixins where possible to minimize the possibility of conflicts.
  
-You can find an incomplete lists of [[documentation:libraries|third party libraries]] on this wiki.+You can find an incomplete list of [[community:library_mods|third party libraries]] on this wiki.
 ===== Mixins ===== ===== Mixins =====
  
 Finally, you can use mixins. Finally, you can use mixins.
-Mixins are a powerful feature that let you change any of Minecraft's own code. +Mixins are a powerful feature that lets you change any of Minecraft's own code. 
-Some mixins can cause conflictbut used responsibly these are key to adding unique behavior to your mod.+Some mixins can cause conflict but used responsibly these are key to adding unique behavior to your mod.
  
 Mixins come in a variety of flavors, in rough order of preference: Mixins come in a variety of flavors, in rough order of preference:
Line 61: Line 61:
   * Callback Injectors   * Callback Injectors
   * Redirect Injectors   * Redirect Injectors
-  * Overwrites, you should never use these+  * Overwrites
  
 This is not a complete list, but rather a quick overview. This is not a complete list, but rather a quick overview.
Line 92: Line 92:
 ==== Overwrite ==== ==== Overwrite ====
  
-Avoid overwrites completely.+Be very careful with how you use Overwrites.
 They replace a method entirely, removing all existing code and conflicting with any other types of mixins on the method. They replace a method entirely, removing all existing code and conflicting with any other types of mixins on the method.
 They are extremely likely to conflict not just with other mods, but also with changes to Minecraft itself. They are extremely likely to conflict not just with other mods, but also with changes to Minecraft itself.
-You most likely do not need an overwrite to do what you want to do, please use something else.+You most likely do not need an overwrite to do what you want to do.
tutorial/introduction.1572823239.txt.gz · Last modified: 2019/11/03 23:20 by layl