Index: asset.list ================================================================== --- asset.list +++ asset.list @@ -5,19 +5,23 @@ mods/starlit-building/textures/starlit-item-insulation.png mods/starlit-building/textures/starlit-item-pipe.png mods/starlit-building/textures/starlit-item-panel.png mods/starlit-building/textures/starlit-item-concrete.png mods/starlit-building/textures/starlit-node-concrete.png +mods/starlit-building/textures/starlit-node-wall-panel-side.png mods/starlit-building/textures/starlit-node-floor-panel-side.png mods/starlit-building/textures/starlit-node-floor-panel-top.png mods/starlit-building/textures/starlit-node-floor-panel-top-vent.png mods/starlit-building/textures/starlit-node-insulation-top.png mods/starlit-building/textures/starlit-node-cable-run.png mods/starlit-building/textures/starlit-node-cable-plug.png mods/starlit-building/textures/starlit-node-pipe-run.png mods/starlit-building/textures/starlit-node-pipe-plug.png mods/starlit-building/textures/starlit-node-insulated-panels.png +mods/starlit-building/textures/starlit-node-recessed-heater.png +mods/starlit-building/textures/starlit-node-recessed-heater-side.png +mods/starlit-building/textures/starlit-node-vent.png mods/starlit-eco/textures/starlit-eco-plant-berry-bunch.png mods/starlit-eco/textures/starlit-eco-plant-bloom-leaf.png mods/starlit-eco/textures/starlit-eco-plant-bloom-petal.png mods/starlit-eco/textures/starlit-eco-plant-bloom-stalk.png mods/starlit-eco/textures/starlit-eco-plant-fiber.png Index: mods/starlit-building/stages/arch.lua ================================================================== --- mods/starlit-building/stages/arch.lua +++ mods/starlit-building/stages/arch.lua @@ -18,10 +18,11 @@ }; build = { part = { ['starlit_building:insulation'] = 'starlit_building:stage_foundation_insulation'; ['starlit_building:concrete'] = 'starlit_building:step_concrete'; + ['starlit_building:heating_element'] = 'starlit_building:stage_floor_heater'; }; }; recover = fabFor 'starlit_building:concrete'; box = { type = 'fixed'; @@ -84,10 +85,59 @@ -.5, -.5, -.5; .5, -.5 + (12/16), .5; }; }; }) + +B.stage.link('starlit_building:stage_floor_heater', { + tex = { + 'starlit-node-recessed-heater.png'; + 'starlit-node-concrete.png'; + 'starlit-node-concrete.png^starlit-node-recessed-heater-side.png'; + }; + recover = fabFor 'starlit_building:concrete' + + fabFor 'starlit_building:heating_element'; + build = { + part = { + ['starlit_building:panel'] = 'starlit_building:floor_heater'; + }; + tool = { + object = { + speed = 2; + drop = 'starlit_building:heating_element'; + swap = 'starlit_building:foundation'; + }; + }; + }; + box = { + type = 'fixed'; + fixed = { + -.5, -.5, -.5; + .5, -.5 + (12/16), .5; + }; + }; +}) + +B.stage.link('starlit_building:floor_heater', { + tex = { + 'starlit-node-floor-panel-top.png^starlit-node-vent.png'; + 'starlit-node-concrete.png'; + 'starlit-node-floor-panel-side.png'; + }; + recover = fabFor 'starlit_building:concrete' + + fabFor 'starlit_building:heating_element' + + fabFor 'starlit_building:panel'; + build = { + tool = { + unscrew = { + speed = 2; + drop = 'starlit_building:panel'; + swap = 'starlit_building:stage_floor_heater'; + }; + }; + }; +}) B.panelRun = lib.registry.mk 'starlit_building:panelRun' B.panelRun.foreach('starlit_building:runGen', {}, function(id, run) local F = string.format assert(run.name, 'missing name for panelrun') @@ -201,11 +251,11 @@ imgPlug:blit(imgPanel:transform 'R270'):render(); imgPlug:blit(imgPanel:transform 'R90'):render(); imgRun:blit(lib.image 'starlit-node-insulation-top.png'):render(); - 'starlit-node-floor-panel-top.png'; + 'starlit-node-wall-panel-side.png'; }; recover = wallMat; build = { part = { ['starlit_building:panel'] = wallStage; @@ -231,12 +281,12 @@ imgPlug:blit(imgPanel):render(); imgPlug:blit(imgPanel:transform 'R270'):render(); imgPlug:blit(imgPanel:transform 'R90'):render(); - 'starlit-node-floor-panel-top.png'; - 'starlit-node-floor-panel-top.png'; + 'starlit-node-wall-panel-side.png'; + 'starlit-node-wall-panel-side.png'; }; recover = wallMat + fabFor 'starlit_building:panel'; build = { part = { [plugItem] = wallStagePlug; @@ -253,22 +303,21 @@ imgPlug:blit(imgPanel):render(); imgPlug:blit(imgPanel:transform 'R270'):render(); imgPlug:blit(imgPanel:transform 'R90'):render(); - 'starlit-node-floor-panel-top.png'; - imgPlug:blit(lib.image 'starlit-node-floor-panel-top.png'):render(); + 'starlit-node-wall-panel-side.png'; + imgPlug:blit(lib.image 'starlit-node-wall-panel-side.png'):render(); }; recover = wallMat + fabFor(plugItem); build = { }; paramtype2 = '4dir'; groups = run.plugGroups; }) end end) - B.stage.link('starlit_building:floor', { tex = { 'starlit-node-floor-panel-top.png'; 'starlit-node-concrete.png'; @@ -292,11 +341,11 @@ tex = { 'starlit-node-insulated-panels.png'; 'starlit-node-insulated-panels.png'; 'starlit-node-insulated-panels.png^[transformR270'; 'starlit-node-insulated-panels.png^[transformR90'; - 'starlit-node-floor-panel-top.png'; + 'starlit-node-wall-panel-side.png'; }; recover = fabFor 'starlit_building:panel'; begin = { part = {'starlit_building:panel'}; }; @@ -320,11 +369,11 @@ 'starlit-node-insulated-panels.png'; 'starlit-node-insulated-panels.png'; 'starlit-node-insulated-panels.png^[transformR270'; 'starlit-node-insulated-panels.png^[transformR90'; 'starlit-node-insulation-top.png'; - 'starlit-node-floor-panel-top.png'; + 'starlit-node-wall-panel-side.png'; }; recover = fabFor 'starlit_building:panel' + fabFor 'starlit_building:insulation'; build = { part = { @@ -345,12 +394,12 @@ tex = { 'starlit-node-insulated-panels.png'; 'starlit-node-insulated-panels.png'; 'starlit-node-insulated-panels.png^[transformR270'; 'starlit-node-insulated-panels.png^[transformR90'; - 'starlit-node-floor-panel-top.png'; - 'starlit-node-floor-panel-top.png'; + 'starlit-node-wall-panel-side.png'; + 'starlit-node-wall-panel-side.png'; }; recover = (fabFor 'starlit_building:panel' * 2) + fabFor 'starlit_building:insulation'; build = { };