User Tools

Site Tools


zh_cn:tutorial:colorprovider

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
zh_cn:tutorial:colorprovider [2025/04/01 11:25] – [带有颜色提供器的方块实体] solidblockzh_cn:tutorial:colorprovider [2025/04/01 12:11] (current) solidblock
Line 140: Line 140:
   }   }
  
 +  // 自从 1.21.4 开始,不再需要这个方法,因为所有方块实体都默认使用方块模型。
   @Override   @Override
   protected BlockRenderType getRenderType(BlockState state) {   protected BlockRenderType getRenderType(BlockState state) {
Line 201: Line 202:
   public static final ColorBlock COLOR_BLOCK = register("color_block", new ColorBlock(AbstractBlock.Settings.create()));   public static final ColorBlock COLOR_BLOCK = register("color_block", new ColorBlock(AbstractBlock.Settings.create()));
      
-  // 从 1.21.2 开始+  // 1.21.2 及之后
   public static final Block COLOR_BLOCK = register("color_block", ColorBlock::new, AbstractBlock.Settings.create());   public static final Block COLOR_BLOCK = register("color_block", ColorBlock::new, AbstractBlock.Settings.create());
 </code> </code>
Line 257: Line 258:
   * 离开世界重进,颜色应该保留。   * 离开世界重进,颜色应该保留。
  
-===== 自定义物品着色(1.21.4 之后) =====+===== 自定义物品着色(1.21.4 之后) =====
 从 1.21.4 开始,物品的着色是由物品模型映射指定的。原版提供了几种常见的着色来源的类型,参见 [[https://zh.minecraft.wiki/w/物品模型映射|Minecraft Wiki]]。在这个例子中,我们需要直接指定物品的颜色,因此可以将物品模型映射像这样写: 从 1.21.4 开始,物品的着色是由物品模型映射指定的。原版提供了几种常见的着色来源的类型,参见 [[https://zh.minecraft.wiki/w/物品模型映射|Minecraft Wiki]]。在这个例子中,我们需要直接指定物品的颜色,因此可以将物品模型映射像这样写:
 <code javascript /resources/assets/tutorial/items/color_block.json> <code javascript /resources/assets/tutorial/items/color_block.json>
Line 274: Line 275:
 </code> </code>
  
-如果需要指定自定义的着色来源,可以使用原版提供的 ''TintResourceTypes.//ID_MAPPER//.put(...)'' 进行注册。注意这也需要在客户端环境下注册。注册时使用的 ID 将是上面的物品模型映射中的 ''%%"tints"%%'' 中的 ''%%"type"%%'' 的值。+如果需要指定自定义的着色来源,可以使用原版提供的 ''TintResourceTypes.//ID_MAPPER//.put(...)'' 进行注册。注意在客户端环境下完成的。注册时使用的 ID 将是上面的物品模型映射中的 ''%%"tints"%%'' 中的 ''%%"type"%%'' 的值。 
 + 
 +> 如果着色不生效,检查下使用的模型中的 tintindex 的值,应该与物品模型映射中的 ''%%"tints"%%'' 列表中的元素下标对应。例如,如果 tintindex 为 2,表示将使用物品模型映射中的第三个着色来源
  
 ===== 物品颜色提供器(1.21.4 之前) ===== ===== 物品颜色提供器(1.21.4 之前) =====
-在 1.21.3 以及之前的版本,物品的颜色提供器也是可通过 Fabric API 注册的。物品是类似,区别在于提供的上下文不访问状态、世界和位置,而是访问 ''ItemStack''+在 1.21.3 以及之前的版本,物品的颜色提供器也是可通过 Fabric API 注册的。与方块不同,物品的颜色提供器提供的上下文不访问状态、世界和位置,而是访问 ''ItemStack''
  
 物品模型可以直接继承使用 tintindex 的方块模型: 物品模型可以直接继承使用 tintindex 的方块模型:
zh_cn/tutorial/colorprovider.1743506727.txt.gz · Last modified: 2025/04/01 11:25 by solidblock