锯台(Sawbench)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | architecturecraft:sawbench |
| 方块类 | BlockSawbench (extends BlockArchitecture<TileSawbench>) |
| TileEntity | TileSawbench (extends TileArchitectureInventory) |
| 物品形态 | ArchitectureItemBlock |
| 材质 | Material.wood |
| 硬度 | 2.0F(ArchitectureContent.java:71 单独设置) |
| 全方块 | isFullCube() 返回 true |
| 不透明 | isOpaqueCube() 返回 true |
功能
本 mod 的核心机器:打开 GUI 后从 111 种预制构件中挑选,用任意建材拼装建筑构件 (屋顶、窗、拱、栏杆、圆柱、柱式等)。放置后用锤与凿修改形状与覆面。
GUI 分页(源码实测)
TileSawbench.pages 是一个静态 ShapePage[],共 8 页、合计 115 个构件
(按 new ShapePage("标题", Shape...) 的实参集合统计,不是按调用点计数):
| 页 | 标题 | 构件数 |
|---|---|---|
| 0 | Roofing | 19 |
| 1 | Rounded | 15 |
| 2 | Classical | 18 |
| 3 | Window | 4 |
| 4 | Arches | 9 |
| 5 | Railings | 20 |
| 6 | Other | 17 |
| 7 | Glow | 13 |
115 个构件共用 111 个
.objson模型文件——部分构件(如_lh/_rh)通过镜像复用同一模型。
配方
仅在 !Loader.isModLoaded("dreamcraft") 时注册(ArchitectureContent.java:91):
I* I = iron_ingot
/0/ * = sawblade
/_/ / = stick
0 = largePulley
_ = wooden_pressure_plate
源码要点
allowAutomation常量为false(TileSawbench.java:142),即锯台不支持自动化管道/漏斗输入。IRestrictedDroppingInventory—— 合成产物不可被漏斗直接取出。- 允许的建材白名单来自配置项
acceptableMaterialsFromConfig(TileSawbench.java:266)。