开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[BE教程] 附加包教程:35.方块(七)

 发表于 2023-6-17 12:44:12 来自手机|显示全部楼层|阅读模式 IP:天津
本帖最后由 Cat_Anchor 于 2025-10-19 15:18 编辑

前言
今天,我们不继续放出方块的例子,而是教大家 1.20 的新内容——方块特征(Block Traits,以下简称“特征”)。
方块特征
特征是一个管理方块状态的功能。通过特征,可以给方块添加原版方块的状态,并且自动设置这些状态。例如:橡树原木是有方向性的,在不同方向放置就会有不同的旋转角度。如果要新增一种原木,就要给这个方块添加方块状态,设置触发器组件(注册自定义组件),设置事件(添加回调)……但现在,使用特征可以让游戏自动完成这一切。只需要新增一个 traits 字段,然后定义方块排列就可以了。注意,在旧版中,使用特征后,将不能使用 on_placed 这类触发器,因为特征已经占用了这些触发器,去自动设置方块状态。
基岩版 1.20.0.20 和 1.20.0.23 加入了两种特征,以后也许还会添加。因此,需要将方块格式版本设置到1.20.10及以上,以使用最新的特征。
基岩版 1.21.130.20 加入了一种新特征,那就是 minecraft:connection,需要开启“即将到来的创作者功能”实验性玩法。
特征使用 traits 字段,在 description 下出现,以下是代码示例。
  1. {
  2.   "format_version": "1.20.10",
  3.   "minecraft:block": {
  4.     "description": {
  5.       "traits": { //方块特征
  6.         "minecraft:placement_direction": { //这里的minecraft:placement_direction是一种方块特征,意思是根据玩家方向设置方块方向。
  7.           "enabled_states": [ //设定启用的方块状态,这些方块状态会被自动添加到方块
  8.             "minecraft:cardinal_direction", //这个方块状态拥有4个值,对应东南西北。
  9.             "minecraft:facing_direction" //这个方块状态拥有6个值,对应东南西北上下。这两个可以同时出现。
  10.           ],
  11.           "y_rotation_offset": 90.0 //水平旋转这个方块。如果你发现你的模型做错方向了,可以在这里让它旋转。目前只支持水平旋转,度数必须是90的倍数。
  12.         }
  13.       }, ...
  14.     },
  15.     "components": { ... },
  16.     "permutations": [ ... ]
  17.   }
  18. }
复制代码

除了 minecraft:placement_direction 特征以外,还有 minecraft:placement_position 特征。这个特征用于判断玩家放置方块的位置,例如上半砖还是下半砖,南北轴还是东西轴等。
  1. "traits": {
  2.   "minecraft:placement_position": { //方块特征
  3.     "enabled_states": [
  4.       "minecraft:block_face", //指定方块放在了哪个面,如原木。
  5.       "minecraft:vertical_half" //指定方块放在了上半部分还是下半部分,如半砖。
  6.     ]
  7.   }
  8. }
复制代码

值得注意的是,虽然特征可以自动设置方块状态,但还需要手动设置方块排列,以保证方块旋转正确渲染。

使用 minecraft:connection 可以获得方块的连接功能,与原版栅栏或玻璃板等方块连接周围其他方块的功能类似。
  1. "traits": {
  2.   "minecraft:connection": {
  3.     "enabled_states": [
  4.       "minecraft:cardinal_connections"
  5.     ]
  6.   }
  7. }
复制代码

启用 minecraft:connection 的 minecraft:cardinal_connections 方块状态集可以获得布尔方块状态 minecraft:connection_north minecraft:connection_east minecraft:connection_south 和 minecraft:connection_west。
完整例子

这里有一个我制作的完整例子,其中的rotation部分可能不适用于其他模型,请慎用。部分无关代码已删除。
总结
好了,方块特征的内容已经讲解完毕。
模板:  模板包,请解压.zip(4.48 KB, 下载次数: 17)


评分

参与人数 1铁粒 +66收起理由
 芓又*** + 66对我帮助很大的教程

查看全部评分

苦力怕论坛,感谢有您~
 发表于 2023-6-17 12:48:53 来自手机|显示全部楼层 IP:江西省
评论复审中...编号:7142041
2#2023-6-17 12:48:53回复收起回复
苦力怕论坛,感谢有您~
头像被屏蔽
 发表于 2023-6-17 13:29:46|显示全部楼层 IP:云南省
评论复审中...编号:7143582
3#2023-6-17 13:29:46回复收起回复
苦力怕论坛,感谢有您~

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

| 由 木韩网络 提供支持 | GMT+8, 2026-6-23 13:57

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4