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 [2021/09/27 15:22] – [注册颜色提供物品] solidblockzh_cn:tutorial:colorprovider [2023/11/18 08:37] (current) – [注册方块颜色提供器] solidblock
Line 25: Line 25:
 我们在这里所做的只是说:“Hi,''MY_BLOCK'' 应被着色为 0x3495eb”,也就是蓝色。你有 BlockState、World 和 BlockPos 的环境,基于这些环境的生物群系或者位置等来改变颜色。最终的 int 是 tintIndex,每个都会单独为颜色获取一个,但是在此例中,我们只返回蓝色。 我们在这里所做的只是说:“Hi,''MY_BLOCK'' 应被着色为 0x3495eb”,也就是蓝色。你有 BlockState、World 和 BlockPos 的环境,基于这些环境的生物群系或者位置等来改变颜色。最终的 int 是 tintIndex,每个都会单独为颜色获取一个,但是在此例中,我们只返回蓝色。
  
-如果你需要在颜色提供器中访问 ''BlockEntity'' 数据,你需要实现 ''RenderAttachmentBlockEntity'' 以返回你需要的数据。这是因为方块可以在单独的线程渲染,所以直接访问数据并不安全。而且,如果使用 ''getBlockState'' 查询方块,你无法查看整个世界——确保你只查询当前位置的+-2方块范围内的位置。+如果你需要在颜色提供器中访问 ''BlockEntity'' 数据,你需要实现 ''RenderAttachmentBlockEntity'' 以返回你需要的数据。这是因为方块可以在单独的线程渲染,所以直接访问数据并不安全。而且,如果使用 ''getBlockState'' 查询方块,你无法查看整个世界——确保你只查询当前位置的 ±2 方块范围内的位置。
  
 模型也重要的:这里需要注意的是,你//一定要//为模型的每一个你需要着色的部分定义tintindex。如要查看这个的例子,请参考 ''leaves.json'',这是原版树叶使用的基本模型。这里是我们方块使用的模型: 模型也重要的:这里需要注意的是,你//一定要//为模型的每一个你需要着色的部分定义tintindex。如要查看这个的例子,请参考 ''leaves.json'',这是原版树叶使用的基本模型。这里是我们方块使用的模型:
-<code json [enable_line_numbers="false"]>+<code javascript [enable_line_numbers="false"]>
 { {
   "parent": "block/block",   "parent": "block/block",
Line 36: Line 36:
   },   },
   "elements": [   "elements": [
-    {   "from": [ 0, 0, 0 ],+    { "from": [ 0, 0, 0 ],
       "to": [ 16, 16, 16 ],       "to": [ 16, 16, 16 ],
       "faces": {       "faces": {
zh_cn/tutorial/colorprovider.1632756170.txt.gz · Last modified: 2021/09/27 15:22 by solidblock