Sponge
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | VillageNames:sponge(单个注册名 + 2 个 metadata) |
| 类 | astrotibs.villagenames.prismarine.block.BlockSpongeVN(继承 BlockGeneric) |
| 注册条件 | GeneralConfig.addSponges == true |
| 注册处 | block/ModBlocksVN.java:67 |
| 材质 | Material.sponge |
| 硬度 | 0.6(prismarine/block/BlockSpongeVN.java:27) |
| 脚步声 | Block.soundTypeGrass(草方块脚步声,prismarine/block/BlockSpongeVN.java:28) |
| 创造标签 | CreativeTabs.tabBlock |
功能
Sponge(海绵)是 1.8 海洋更新的方块,本 mod 移植版本引入了原版 1.7.10 不具备的"吸水性"——这是它与原版海绵的核心区别。
一个注册名下有 2 个变体(prismarine/block/BlockSpongeVN.java:25,构造参数为 "dry", "wet"):
| metadata | 变体 | 显示名 | 语言键 |
|---|---|---|---|
| 0 | dry |
Sponge | tile.sponge.dry.name |
| 1 | wet |
Wet Sponge | tile.sponge.wet.name |
另有 tile.sponge.name = Inert Sponge(en_US.lang:114-116),对应不吸水的原版 1.7.10 海绵行为——本 mod 通过物品字典互转让玩家可自由切换。
吸水行为
| 触发 | 行为 |
|---|---|
| 放置于主世界 | 调用 tryAbsorb(),湿海绵(meta 1) 吸水后变为干海绵(meta 0) |
| 放置于下界 | 直接变为干海绵(meta 0),并播放 random.fizz 音效(音量 0.5,音高 2.6 + (rand-0.5)*0.8) |
| 邻接方块变化 | 调用 tryAbsorb() 重新尝试吸水 |
| 干海绵吸水 | 仅 meta 1 执行 tryAbsorb;meta 0 不吸水 |
来源:prismarine/block/BlockSpongeVN.java:33-58。下界判定为 world.provider.isHellWorld(:35)。
源码中"下界放置时冒烟粒子"的代码被注释掉了,作者注明
"doesn't seem to be working"(prismarine/block/BlockSpongeVN.java:45-49),因此放置于下界只有音效、无烟雾粒子。
熔炼与互转
| 方向 | 配方 | 来源 |
|---|---|---|
| 湿海绵 → 干海绵 | 熔炼,经验 0.0 | init/Recipes.java:85 |
| 本 mod 干海绵 → 原版海绵 | 无序合成 | init/Recipes.java:87 |
| 原版海绵 → 本 mod 干海绵 | 无序合成 | init/Recipes.java:88 |
即干海绵与原版海绵可 1:1 无损互转,湿海绵可由熔炼干海绵得到。全部受 GeneralConfig.addSponges 控制(init/Recipes.java:84)。
相关条目
- Prismarine / Sea Lantern - 同为海洋更新移植内容
- miscellaneous settings - 控制本方块是否添加的
Add Sponges开关