User Tools

Site Tools


zh_cn: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
Last revisionBoth sides next revision
zh_cn:tutorial:introduction [2022/03/20 15:58] – external edit 127.0.0.1zh_cn:tutorial:introduction [2022/10/22 11:30] – [覆写] solidblock
Line 1: Line 1:
 ====== Fabric 编写入门 ====== ====== Fabric 编写入门 ======
  
-这是对制作Fabric模组时可以使用的一些常用技术的快速介绍。 +这是对制作 Fabric 模组时可以使用的一些常用技术的快速介绍。 
-要为Minecraft制作mod,通常必须以非标准的方式与Minecraft的代码进行交互。 +要为 Minecraft 制作模组,通常必须以非标准的方式与 Minecraft 的代码进行交互。 
-尽管Minecraft变得越来越灵活,可以适应变化,但它并不是天生就可以进行修改的。+尽管 Minecraft 变得越来越灵活,可以适应变化,但它并不是天生就可以进行修改的。
  
 与其他改装API不同,Fabric Loader不会覆盖Minecraft的类文件以添加更多功能。 与其他改装API不同,Fabric Loader不会覆盖Minecraft的类文件以添加更多功能。
Line 33: Line 33:
 您可以通过查看[[https://github.com/FabricMC/fabric |其GitHub上的源代码]]来了解Fabric API中包含的内容。 您可以通过查看[[https://github.com/FabricMC/fabric |其GitHub上的源代码]]来了解Fabric API中包含的内容。
 Fabric API包含许多常见的事件挂钩,以及用于联网和渲染之类的通用实用程序。 Fabric API包含许多常见的事件挂钩,以及用于联网和渲染之类的通用实用程序。
- 
  
 ===== 第三方API ===== ===== 第三方API =====
Line 42: Line 41:
  
 您可以在此Wiki上找到[[zh_cn:tutorial:libraries|第三方库]]的不完整列表。 您可以在此Wiki上找到[[zh_cn:tutorial:libraries|第三方库]]的不完整列表。
-===== Mixins =====+===== Mixin =====
  
-最后,您可以使用mixins。 +最后,您可以使用 mixin。 
-Mixins功能强大,可让您更改Minecraft自己的代码。(不能修改别的库!) +Mixin 功能强大,可让您更改 Minecraft 自己的代码。 
-某些mixin可能会冲突,但是若能负责任地使用,这些是为mod添加特性的关键。+某些 mixin 可能会冲突,但是若能负责任地使用,这些是为模组添加特性的关键。
  
-Mixins有多种,按优先顺序排列:+Mixin 有多种,按优先顺序排列:
  
-  * 添加接口并实现方法 +  * 添加接口 
-  * @Inject 回调注入 +  * 回调注入 
-  * @Redirect 重定向注入 +  * 重定向注入 
-  * @Overwrite 覆写+  * 覆写
  
 此列表不一定完整,只是快速概述。 此列表不一定完整,只是快速概述。
-==== 添加接口并实现方法 ====+ 
 +==== 添加接口 ====
  
 这可能是使用mixin的最安全方法之一。 这可能是使用mixin的最安全方法之一。
Line 63: Line 63:
 这不会改变类的任何内容,只会增加新的内容,因此极不可能发生冲突。 这不会改变类的任何内容,只会增加新的内容,因此极不可能发生冲突。
  
-需要注意的是,您插入的函数名称+描述符(参数类型+返回类型)必须是唯一的。 因此,如果您使用常见的参数类型,请确保为其指定一个非常独特的名称。+需要注意的是,您插入的函数签名(名称+类型)必须是唯一的。 因此,如果您使用常见的参数类型,请确保指定独特的名称。
  
 ==== 回调注入 ==== ==== 回调注入 ====
 回调注入器 @Inject 使您可以向现有方法以及该方法中的特定方法调用添加回调挂钩。 回调注入器 @Inject 使您可以向现有方法以及该方法中的特定方法调用添加回调挂钩。
 它们还使您可以拦截和更改方法的返回值,并尽早返回。 它们还使您可以拦截和更改方法的返回值,并尽早返回。
-回调注入可能会堆叠,因此不太可能引起mod之间的冲突。+回调注入可堆叠,因此不太可能引起模组之间的冲突。
  
 ==== 重定向注入 ==== ==== 重定向注入 ====
  
 通过 @Redirect,您可以使用自己的代码在目标方法内包装方法调用或变量访问。 通过 @Redirect,您可以使用自己的代码在目标方法内包装方法调用或变量访问。
-非常谨慎地使用这些功能,目标调用或访问只能在所有mod之间重定向一次。 +使用这些功能时需要谨慎,目标调用或访问只能在所有模组之间重定向一次。 
-如果两个mod重定向相同的值,将导致冲突。+如果两个模组重定向相同的值,将导致冲突。
 优先考虑回调注入。 优先考虑回调注入。
  
 ==== 覆写 ==== ==== 覆写 ====
-避免使用 @Overwrite。 +避免使用覆写,因为替换了一个方法,删除了所有现有代码,并与该方法上的任何其他类型的mixin发生冲突。 
-它们完全替换了一个方法,删除了所有现有代码,并与该方法上的任何其他类型的mixin发生冲突。 +覆写极有可能不仅与其他模组冲突,而且与Minecraft本身的更改冲突。
-它们极有可能不仅与其他mod冲突,而且与Minecraft本身的更改冲突。+
 您极有可能不需要覆盖来完成您想做的事情,请使用其他方法。 您极有可能不需要覆盖来完成您想做的事情,请使用其他方法。
zh_cn/tutorial/introduction.txt · Last modified: 2023/01/15 01:39 by solidblock