User Tools

Site Tools


zh_cn:tutorial:directionalblock

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
zh_cn:tutorial:directionalblock [2024/08/26 01:28] – [制作带朝向的方块] solidblockzh_cn:tutorial:directionalblock [2024/12/08 14:06] (current) – [下一步] solidblock
Line 104: Line 104:
 ===== 定义方块的旋转和翻转 ===== ===== 定义方块的旋转和翻转 =====
 对于带有朝向的方块,你需要覆盖 ''rotate'' 和 ''mirror'' 方法,这样在结构方块中可以正确地被旋转或者翻转。不过,在这个例子中,''HorizontalFacingBlock'' 类已经帮你做好了。 对于带有朝向的方块,你需要覆盖 ''rotate'' 和 ''mirror'' 方法,这样在结构方块中可以正确地被旋转或者翻转。不过,在这个例子中,''HorizontalFacingBlock'' 类已经帮你做好了。
 +
 +
 +===== 影响寻路 =====
 +如果在游戏内放置这些方块,可能会发现个问题,生物寻路时,会尝试这些方块,似乎这些方块不存在,结果被这些方块阻挡。这是因为,生物会将这些非完整的方块视为不挡路的方块。要修改这一寻路行为,需要修改 ''canPathfindThrough'' 方法:
 +<code java>
 +  @Override
 +  protected boolean canPathfindThrough(BlockState state, NavigationType type) {
 +    return false;
 +  }
 +</code>
 +
 +在原版中,有些方块有不同的路径节点类型(path node type)。例如,生物会避免危险的方块,比如岩浆块、凋零玫瑰和仙人掌。你也可以让你的生物以不同方式对待这些方块,方法就是利用 Fabric API 中的 ''LandPathNodeTypesRegistry'' 修改路径节点类型。
  
 ===== 下一步 ===== ===== 下一步 =====
 尝试让它[[waterloggable|可含水]] 尝试让它[[waterloggable|可含水]]
  
zh_cn/tutorial/directionalblock.1724635734.txt.gz · Last modified: 2024/08/26 01:28 by solidblock