Differences From
Artifact [2a09a8ef6e]:
13 13 local fab = starlit.type.fab {
14 14 element = { carbon = 8, magnesium = 2 };
15 15 cost = { power = 100 };
16 16 flag = { print = true };
17 17 time = { print = 5 };
18 - reverseEngineer = {
19 - complexity = 1;
20 - sw = 'starlit_tech:schematic_chem_lamp';
21 - };
22 18 };
23 19 for i = stages, 0, -1 do
24 20 minetest.register_node(chemLampID(i), {
25 21 short_description = 'Chem Lamp';
26 22 description = starlit.ui.tooltip {
................................................................................
32 28 {title = 'Mass', desc='10g', affinity='info'};
33 29 };
34 30 };
35 31 drawtype = 'nodebox';
36 32 groups = {
37 - object = 2;
33 + object = 1;
38 34 attached_node = 1;
39 35 };
40 36 node_box = {
41 37 type = 'fixed';
42 38 fixed = {
................................................................................
63 59 minetest.swap_node(pos, {name=chemLampID(i-1), param2=me.param2})
64 60 return i > 1
65 61 end or nil;
66 62 _starlit = {
67 63 mass = 10;
68 - fab = fab;
64 + reverseEngineer = {
65 + complexity = 1;
66 + sw = 'starlit_tech:schematic_chem_lamp';
67 + };
69 68 recover = starlit.type.fab {
70 69 element = {
71 70 carbon = 8;
72 71 magnesium = math.floor(lib.math.lerp(i/stages, 0, 2));
73 72 };
................................................................................
91 90 ram = 16e6;
92 91 };
93 92 rarity = 1;
94 93 })
95 94 end
95 +
96 +
97 +minetest.register_node('starlit_tech:crate', {
98 + short_description = 'Crate';
99 + description = starlit.ui.tooltip {
100 + title = 'Crate';
101 + desc = 'A sturdy but lightweight storage crate made from solid carbon polymer.';
102 + props = { {title='Mass', affinity='info', desc='100g'} };
103 + };
104 + drawtype = 'nodebox';
105 + node_box = {
106 + type = 'fixed';
107 + fixed = {
108 + .4, .2, .4;
109 + -.4, -.5, -.2;
110 + };
111 + };
112 + groups = {
113 + object = 3;
114 + attached_node = 3;
115 + };
116 + paramtype2 = 'facedir';
117 + tiles = {
118 + 'starlit-tech-crate-top.png';
119 + 'starlit-tech-crate-bottom.png';
120 +
121 + 'starlit-tech-crate-side.png^[transformFX';
122 + 'starlit-tech-crate-side.png';
123 +
124 + 'starlit-tech-crate-back.png';
125 + 'starlit-tech-crate-front.png';
126 + };
127 + _starlit = {
128 + mass = 100;
129 + reverseEngineer = {
130 + complexity = 1;
131 + sw = 'starlit_tech:schematic_crate';
132 + };
133 + recover = starlit.type.fab {
134 + element = { carbon = 100; };
135 + time = {
136 + shred = 1;
137 + shredPower = 3;
138 + };
139 + };
140 + };
141 + on_construct = function(pos)
142 + local m = minetest.get_meta(pos)
143 + local inv = m:get_inventory()
144 + inv:set_size('starlit:contents', 12)
145 + end;
146 + on_rightclick = function(pos, node, luser)
147 + if not luser then return end
148 + local user = starlit.activeUsers[luser:get_player_name()]
149 + user:openUI('starlit:box', 'index', {
150 + inv={
151 + {id = 'starlit:contents', pos=pos};
152 + };
153 + })
154 + end;
155 +})
156 +
157 +starlit.item.sw.link('starlit_tech:schematic_crate', {
158 + name = 'Crate Schematic';
159 + kind = 'schematic';
160 + input = starlit.type.fab {
161 + element = { carbon = 100; };
162 + flag = {print = true};
163 + time = {print = 25};
164 + cost = {power = 250};
165 + };
166 + output = 'starlit_tech:crate';
167 + size = 48e6;
168 + cost = {
169 + cycles = 12e9;
170 + ram = 16e6;
171 + };
172 + rarity = 1;
173 +})