锯台(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)。