小树干(SmallLogBlock)
30 种「小树」的主干方块。横截面只有方块中央的一部分像素,靠与相邻方块自动连接拼成整根树干。 由
SmallTreeBlockSet一次性注册,日志/树叶/树皮/木板/树苗五件套见各自条目。 源码:blocks/SmallLogBlock.java、blocks/sets/SmallTreeBlockSet.java。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| Java 类 | net.junedev.viridium.blocks.SmallLogBlock |
— |
| 材质 | Material.wood |
构造函数 |
| 硬度 | 1.0F |
setHardness(1.0F) |
| 脚步声 | soundTypeWood |
setStepSound |
| 爆炸抗性 | mod 代码未调用 setResistance() |
— |
isWood() |
true(可被斧头正确识别) |
覆写 |
canSustainLeaves() |
true |
覆写 |
| 碰撞 | 无标准碰撞箱,用多段 AABB 动态拼装 | addCollisionBoxesToList |
| 渲染类型 | ViriRenderIds.smallLogBlockRenderId(运行时分配) |
getRenderType() |
| 创造栏 | Viridium.VTab |
setCreativeTab |
| 贴图 | viridium:small_trees/<name>_log + _top / _side |
registerBlockIcons |
| TileEntity | 无 | — |
metadata 编码
轴向存在 bit 2-3(meta & 12),低 2 位(meta & 3)在 onBlockPlaced 中原样保留、不参与语义:
meta & 12 |
轴向 | onBlockPlaced 侧面对应 |
|---|---|---|
0 |
Y 轴(竖直) | side 0 / 1(顶 / 底) |
4 |
X 轴(东西) | side 4 / 5(东 / 西) |
8 |
Z 轴(南北) | side 2 / 3(北 / 南) |
getIcon 按 meta & 12 选择 _top(端面)或 _side(侧面)贴图。
几何参数与两种规格
构造函数签名 SmallLogBlock(int halfWidth, int faceHalfWidth, boolean doSidesConnect):
halfWidth= 物理横截面半宽(像素),限定 1~8,非法值回退为 4 并打 WARNfaceHalfWidth= 相切轴上四边形跨度半宽,可以大于halfWidth,限定 1~8,非法值回退为 4doSidesConnect= 是否与侧向方块连接
核心碰撞盒由 halfWidth 决定:
getCoreMin() = 0.5 - halfWidth / 16.0
getCoreMax() = 0.5 + halfWidth / 16.0
SmallTreeBlockSet(name) 的默认参数是 4, 4, true,只有巨型竹子显式覆盖为 3, 4, false。
| 规格 | halfWidth | faceHalfWidth | 侧向连接 | 树种数 | 差异 |
|---|---|---|---|---|---|
| 默认(细圆杆) | 4 | 4 | 是 | 29 | 8/16 格宽的方形截面,四面都能与邻居连成整根;断开时只保留中央 0.5 格见方 |
| 巨型竹子 | 3 | 4 | 否 | 1 | 6/16 格宽更细;只沿自身轴向连接,侧向不连接。onBlockPlaced 在 !doSidesConnect() 时直接 return 0,轴向恒为 Y |
连接规则(getConnectionType)
返回 ConnectionType 枚举三值:NONE / SOLID / TRANSPARENT。
判定顺序:
- 若方块轴向与该方向平行 → 该面是端口;若邻居
isSideSolid则SOLID,否则TRANSPARENT - 若
doSidesConnect()为 false 且不是端口方向 → 直接NONE - 邻居是
BlockLeaves→TRANSPARENT - 邻居是
SmallLogBlock→ 双方都朝对方方向延伸才连接;本方halfWidth小于对方时判为SOLID,否则TRANSPARENT - 其余情况 →
NONE
getLogBoxes 据此拼装多段 AABB:每个有连接的轴向把该端从 coreMin/coreMax 拉伸到 0.0 / 1.0;完全无连接时只生成中央 coreMin..coreMax 的一个盒子。只有 EAST / UP / SOUTH 三个正方向参与枚举(负方向由对偶方向覆盖)。
方块列表(30 个)
| 注册名 | halfWidth / faceHalfWidth / 连接 | 游戏内名称 |
|---|---|---|
viridium:black_spruce_log |
4 / 4 / 侧向连接 | Black Spruce Wood |
viridium:blackthorn_log |
4 / 4 / 侧向连接 | Blackthorn Wood |
viridium:blue_mahoe_log |
4 / 4 / 侧向连接 | Blue Mahoe Wood |
viridium:box_elder_log |
4 / 4 / 侧向连接 | Box Elder Wood |
viridium:callery_pear_log |
4 / 4 / 侧向连接 | Callery Pear Wood |
viridium:citron_log |
4 / 4 / 侧向连接 | Citron Wood |
viridium:crape_myrtle_log |
4 / 4 / 侧向连接 | Crape Myrtle Wood |
viridium:desert_bloodwood_log |
4 / 4 / 侧向连接 | Desert Bloodwood Wood |
viridium:flowering_dogwood_log |
4 / 4 / 侧向连接 | Flowering Dogwood Wood |
viridium:giant_bamboo_log |
3 / 4 / 仅沿轴向连接 | Giant Bamboo |
viridium:holly_log |
4 / 4 / 侧向连接 | Holly Wood |
viridium:jacaranda_log |
4 / 4 / 侧向连接 | Jacaranda Wood |
viridium:japanese_maple_log |
4 / 4 / 侧向连接 | Japanese Maple Wood |
viridium:joshua_tree_log |
4 / 4 / 侧向连接 | Joshua Tree Wood |
viridium:koki_o_kea_log |
4 / 4 / 侧向连接 | Koki’o Kea Wood |
viridium:kumquat_log |
4 / 4 / 侧向连接 | Kumquat Wood |
viridium:lemon_myrtle_log |
4 / 4 / 侧向连接 | Lemon Myrtle Wood |
viridium:lilac_log |
4 / 4 / 侧向连接 | Lilac Wood |
viridium:mimosa_log |
4 / 4 / 侧向连接 | Mimosa Wood |
viridium:mulga_log |
4 / 4 / 侧向连接 | Mulga Wood |
viridium:olive_log |
4 / 4 / 侧向连接 | Olive Wood |
viridium:pacific_yew_log |
4 / 4 / 侧向连接 | Pacific Yew Wood |
viridium:paperbark_maple_log |
4 / 4 / 侧向连接 | Paperbark Maple Wood |
viridium:pawpaw_log |
4 / 4 / 侧向连接 | Pawpaw Wood |
viridium:pear_log |
4 / 4 / 侧向连接 | Pear Wood |
viridium:red_cinchona_log |
4 / 4 / 侧向连接 | Red Cinchona Wood |
viridium:redbud_log |
4 / 4 / 侧向连接 | Redbud Wood |
viridium:wild_apple_log |
4 / 4 / 侧向连接 | Wild Apple Wood |
viridium:witch_hazel_log |
4 / 4 / 侧向连接 | Witch Hazel Wood |
viridium:wisteria_log |
4 / 4 / 侧向连接 | Wisteria Wood |