压缩方块(Compressed Blocks)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | utilitiesinexcess:compressed_cobblestone / compressed_dirt / compressed_sand / compressed_gravel |
| 基类 | com.fouristhenumber.utilitiesinexcess.common.blocks.BlockCompressed(extends Block) |
| 注册方块数 | 4 |
| 每种 meta 数 | 8(meta 0 = 压缩 1×,meta 7 = 压缩 8×) |
| ItemBlock | BlockCompressed.ItemCompressedBlock(ModBlocks.java:85-88) |
功能
BlockCompressed 实现 Extra Utilities 的经典"无限压缩"机制:把同种方块 9 个合成 1 个压缩方块,压缩方块再 9 合 1,可以一直压下去,理论无上限。本模组为圆石、泥土、沙、砂砾四种原版方块各提供一条压缩链。
硬度取 base.getBlockHardness(...) * 1.5F,材质取 base.getMaterial()(BlockCompressed.java:27-34)。
显示名由 tile.compressed_<type>.<meta>.name 提供,meta 0–7 依次为 Compressed / Double Compressed / Triple Compressed / Quadruple Compressed / Quintuple Compressed / Sextuple Compressed / Septuple Compressed / Octuple Compressed(en_US.lang,如 tile.compressed_cobblestone.0.name)。方块 tooltip 另用 tile.compressed_<type>.desc(%,d Cobblestone 等)显示数字。
数值
| 属性 | 值 |
|---|---|
| 支持的压缩链 | 圆石、泥土、沙、砂砾(4 条) |
| 每条链的 meta 数 | 8(1× – 8×) |
| 硬度系数 | 原版硬度 × 1.5 |
| 物品堆叠上限 | 9(合成配方使用 new DisableableItemStack(modBlock, 9)) |
开关分别为 BlockConfig.enableCompressedCobblestone / enableCompressedDirt / enableCompressedSand / enableCompressedGravel,全部默认 true(BlockConfig.java:209-223)。
交互
| 触发 | 行为 |
|---|---|
| 合成 | 9 个 meta i → 1 个 meta i+1;同时 9 个 meta i+1 → 1 个 meta i 可逆向解压(RecipeLoader.loadCompressedBlockRecipes()) |
| 掉落 | 破坏后掉落自身(BlockCompressed 未重写 breakBlock) |
合成配方
由 RecipeConfig.enableCompressedBlockRecipes 统一控制(默认 true)。loadCompressedBlockRecipes() 对 4 个方块各生成 16 条配方:
- 4 条"原版方块 → meta 0":
"###"/"###"/"###",#= 9 个原版方块 - 4 条"meta 0 → meta 1":9 个
meta 0→ 9 个meta 1(可逆) - 循环 7 次,每次 2 条(升 / 降一级),共 14 条
合计 4 × 16 = 64 条配方。
物品字典同时注册了 compressedDirt<N>x / compressedSand<N>x / compressedGravel<N>x 系列(ModOreDictionary.java:41-44);压缩圆石没有对应的 ore dict 条目。