2013-10-30 18:45:32 +01:00
|
|
|
|
|
|
|
local S = technic.getter
|
|
|
|
|
|
|
|
minetest.register_craftitem("technic:silicon_wafer", {
|
|
|
|
description = S("Silicon Wafer"),
|
2013-01-27 14:03:46 +01:00
|
|
|
inventory_image = "technic_silicon_wafer.png",
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craftitem( "technic:doped_silicon_wafer", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Doped Silicon Wafer"),
|
2013-01-27 14:03:46 +01:00
|
|
|
inventory_image = "technic_doped_silicon_wafer.png",
|
|
|
|
})
|
|
|
|
|
2013-07-17 21:34:35 +02:00
|
|
|
minetest.register_craftitem("technic:uranium_fuel", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Uranium Fuel"),
|
2013-07-17 21:34:35 +02:00
|
|
|
inventory_image = "technic_uranium_fuel.png",
|
2013-02-03 11:53:19 +01:00
|
|
|
})
|
|
|
|
|
2013-01-27 14:03:46 +01:00
|
|
|
minetest.register_craftitem( "technic:diamond_drill_head", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Diamond Drill Head"),
|
2013-01-27 14:03:46 +01:00
|
|
|
inventory_image = "technic_diamond_drill_head.png",
|
|
|
|
})
|
|
|
|
|
2013-07-17 21:34:35 +02:00
|
|
|
minetest.register_tool("technic:blue_energy_crystal", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Blue Energy Crystal"),
|
2013-07-17 21:34:35 +02:00
|
|
|
inventory_image = minetest.inventorycube(
|
|
|
|
"technic_diamond_block_blue.png",
|
|
|
|
"technic_diamond_block_blue.png",
|
|
|
|
"technic_diamond_block_blue.png"),
|
Genericise handling of multiple meanings of wear
The tool workshop is meant to repair mechanical damage to tools, so
is at risk of `repairing' tools that use the wear bar to represent
something other than mechanical wear. It had special-case recognition
of the water and lava cans, which use the wear bar to represent how much
content they're carrying, and wouldn't repair them. But it didn't avoid
`repairing' RE chargeable items, which use the wear bar to represent
how much energy they have stored. It would modify the wear bar without
actually affecting the charge, so the wear bar would jump back to the
correct place when the next charging or discharging event occurred.
To genericise, introduce a new item property, "wear_represents", which
indicates how the wear bar is used for this item. Currently defined
values are "mechanical_wear" (straightforward damage to tools that
start out perfect), "technic_RE_charge" (electrical energy, canonically
represented in the meta rather than the wear bar), and "content_level"
(how full a container is). For backcompat, nil is interpreted as
"mechanical_wear". The tool workshop will only repair "mechanical_wear"
tools. As a bonus, set_RE_wear() will only set the wear bar for
"technic_RE_charge" items: this means developers will notice if they
forget to declare wear_represents, but also means that with no further
changes it's possible to have an RE chargeable item that uses its wear
bar to represent something else.
2014-04-28 11:44:07 +02:00
|
|
|
wear_represents = "technic_RE_charge",
|
2014-04-30 11:49:54 +02:00
|
|
|
on_refill = technic.refill_RE_charge,
|
2013-07-17 21:34:35 +02:00
|
|
|
tool_capabilities = {
|
|
|
|
max_drop_level = 0,
|
|
|
|
groupcaps = {
|
|
|
|
fleshy = {times={}, uses=10000, maxlevel=0}
|
|
|
|
}
|
2013-01-27 14:03:46 +01:00
|
|
|
}
|
2013-07-17 21:34:35 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_tool("technic:green_energy_crystal", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Green Energy Crystal"),
|
2013-07-17 21:34:35 +02:00
|
|
|
inventory_image = minetest.inventorycube(
|
|
|
|
"technic_diamond_block_green.png",
|
|
|
|
"technic_diamond_block_green.png",
|
|
|
|
"technic_diamond_block_green.png"),
|
Genericise handling of multiple meanings of wear
The tool workshop is meant to repair mechanical damage to tools, so
is at risk of `repairing' tools that use the wear bar to represent
something other than mechanical wear. It had special-case recognition
of the water and lava cans, which use the wear bar to represent how much
content they're carrying, and wouldn't repair them. But it didn't avoid
`repairing' RE chargeable items, which use the wear bar to represent
how much energy they have stored. It would modify the wear bar without
actually affecting the charge, so the wear bar would jump back to the
correct place when the next charging or discharging event occurred.
To genericise, introduce a new item property, "wear_represents", which
indicates how the wear bar is used for this item. Currently defined
values are "mechanical_wear" (straightforward damage to tools that
start out perfect), "technic_RE_charge" (electrical energy, canonically
represented in the meta rather than the wear bar), and "content_level"
(how full a container is). For backcompat, nil is interpreted as
"mechanical_wear". The tool workshop will only repair "mechanical_wear"
tools. As a bonus, set_RE_wear() will only set the wear bar for
"technic_RE_charge" items: this means developers will notice if they
forget to declare wear_represents, but also means that with no further
changes it's possible to have an RE chargeable item that uses its wear
bar to represent something else.
2014-04-28 11:44:07 +02:00
|
|
|
wear_represents = "technic_RE_charge",
|
2014-04-30 11:49:54 +02:00
|
|
|
on_refill = technic.refill_RE_charge,
|
2013-07-17 21:34:35 +02:00
|
|
|
tool_capabilities = {
|
|
|
|
max_drop_level = 0,
|
|
|
|
groupcaps = {
|
|
|
|
fleshy = {times={}, uses=10000, maxlevel=0}
|
|
|
|
}
|
2013-01-27 14:03:46 +01:00
|
|
|
}
|
2013-07-17 21:34:35 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_tool("technic:red_energy_crystal", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Red Energy Crystal"),
|
2013-07-17 21:34:35 +02:00
|
|
|
inventory_image = minetest.inventorycube(
|
|
|
|
"technic_diamond_block_red.png",
|
|
|
|
"technic_diamond_block_red.png",
|
|
|
|
"technic_diamond_block_red.png"),
|
Genericise handling of multiple meanings of wear
The tool workshop is meant to repair mechanical damage to tools, so
is at risk of `repairing' tools that use the wear bar to represent
something other than mechanical wear. It had special-case recognition
of the water and lava cans, which use the wear bar to represent how much
content they're carrying, and wouldn't repair them. But it didn't avoid
`repairing' RE chargeable items, which use the wear bar to represent
how much energy they have stored. It would modify the wear bar without
actually affecting the charge, so the wear bar would jump back to the
correct place when the next charging or discharging event occurred.
To genericise, introduce a new item property, "wear_represents", which
indicates how the wear bar is used for this item. Currently defined
values are "mechanical_wear" (straightforward damage to tools that
start out perfect), "technic_RE_charge" (electrical energy, canonically
represented in the meta rather than the wear bar), and "content_level"
(how full a container is). For backcompat, nil is interpreted as
"mechanical_wear". The tool workshop will only repair "mechanical_wear"
tools. As a bonus, set_RE_wear() will only set the wear bar for
"technic_RE_charge" items: this means developers will notice if they
forget to declare wear_represents, but also means that with no further
changes it's possible to have an RE chargeable item that uses its wear
bar to represent something else.
2014-04-28 11:44:07 +02:00
|
|
|
wear_represents = "technic_RE_charge",
|
2014-04-30 11:49:54 +02:00
|
|
|
on_refill = technic.refill_RE_charge,
|
2013-07-17 21:34:35 +02:00
|
|
|
tool_capabilities = {
|
|
|
|
max_drop_level = 0,
|
|
|
|
groupcaps = {
|
|
|
|
fleshy = {times={}, uses=10000, maxlevel=0}
|
|
|
|
}
|
2013-01-27 14:03:46 +01:00
|
|
|
}
|
2013-07-17 21:34:35 +02:00
|
|
|
})
|
2013-01-27 14:03:46 +01:00
|
|
|
|
|
|
|
|
2013-10-30 18:45:32 +01:00
|
|
|
minetest.register_craftitem("technic:fine_copper_wire", {
|
|
|
|
description = S("Fine Copper Wire"),
|
2013-01-27 14:03:46 +01:00
|
|
|
inventory_image = "technic_fine_copper_wire.png",
|
|
|
|
})
|
|
|
|
|
2014-07-06 21:22:15 +02:00
|
|
|
minetest.register_craftitem("technic:fine_gold_wire", {
|
|
|
|
description = S("Fine Gold Wire"),
|
|
|
|
inventory_image = "technic_fine_gold_wire.png",
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craftitem("technic:fine_silver_wire", {
|
|
|
|
description = S("Fine Silver Wire"),
|
|
|
|
inventory_image = "technic_fine_silver_wire.png",
|
|
|
|
})
|
|
|
|
|
2013-10-30 18:45:32 +01:00
|
|
|
minetest.register_craftitem("technic:copper_coil", {
|
|
|
|
description = S("Copper Coil"),
|
2013-01-27 14:03:46 +01:00
|
|
|
inventory_image = "technic_copper_coil.png",
|
|
|
|
})
|
|
|
|
|
2013-10-30 18:45:32 +01:00
|
|
|
minetest.register_craftitem("technic:motor", {
|
|
|
|
description = S("Electric Motor"),
|
2013-01-27 14:03:46 +01:00
|
|
|
inventory_image = "technic_motor.png",
|
|
|
|
})
|
|
|
|
|
2013-10-30 18:45:32 +01:00
|
|
|
minetest.register_craftitem("technic:lv_transformer", {
|
|
|
|
description = S("Low Voltage Transformer"),
|
2013-06-30 07:12:02 +02:00
|
|
|
inventory_image = "technic_lv_transformer.png",
|
|
|
|
})
|
|
|
|
|
2013-10-30 18:45:32 +01:00
|
|
|
minetest.register_craftitem("technic:mv_transformer", {
|
|
|
|
description = S("Medium Voltage Transformer"),
|
2013-01-27 14:03:46 +01:00
|
|
|
inventory_image = "technic_mv_transformer.png",
|
|
|
|
})
|
|
|
|
|
2013-06-30 07:12:02 +02:00
|
|
|
minetest.register_craftitem( "technic:hv_transformer", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("High Voltage Transformer"),
|
2013-06-30 07:12:02 +02:00
|
|
|
inventory_image = "technic_hv_transformer.png",
|
|
|
|
})
|
|
|
|
|
2013-02-02 21:26:34 +01:00
|
|
|
minetest.register_craftitem( "technic:control_logic_unit", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Control Logic Unit"),
|
2013-02-02 21:26:34 +01:00
|
|
|
inventory_image = "technic_control_logic_unit.png",
|
|
|
|
})
|
|
|
|
|
2013-07-14 12:42:38 +02:00
|
|
|
minetest.register_craftitem("technic:mixed_metal_ingot", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Mixed Metal Ingot"),
|
2013-07-14 12:42:38 +02:00
|
|
|
inventory_image = "technic_mixed_metal_ingot.png",
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craftitem("technic:composite_plate", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Composite Plate"),
|
2013-07-14 12:42:38 +02:00
|
|
|
inventory_image = "technic_composite_plate.png",
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craftitem("technic:copper_plate", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Copper Plate"),
|
2013-07-14 12:42:38 +02:00
|
|
|
inventory_image = "technic_copper_plate.png",
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craftitem("technic:carbon_plate", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Carbon Plate"),
|
2013-07-14 12:42:38 +02:00
|
|
|
inventory_image = "technic_carbon_plate.png",
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craftitem("technic:graphite", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Graphite"),
|
2013-07-14 12:42:38 +02:00
|
|
|
inventory_image = "technic_graphite.png",
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craftitem("technic:carbon_cloth", {
|
2013-10-30 18:45:32 +01:00
|
|
|
description = S("Carbon Cloth"),
|
2013-07-14 12:42:38 +02:00
|
|
|
inventory_image = "technic_carbon_cloth.png",
|
|
|
|
})
|
|
|
|
|
2014-07-06 14:50:23 +02:00
|
|
|
minetest.register_node("technic:machine_casing", {
|
|
|
|
description = S("Machine Casing"),
|
|
|
|
groups = {cracky=2},
|
|
|
|
sunlight_propagates = true,
|
|
|
|
paramtype = "light",
|
|
|
|
drawtype = "allfaces",
|
|
|
|
tiles = {"technic_machine_casing.png"},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
Uranium enrichment via centrifuge
Replacing the extractor-based system, uranium to be used as reactor fuel
must now be enriched in stages using the centrifuge. Uranium metal can
exist at 36 levels of fissile content, from 0.0% to 3.5% in steps of 0.1%.
One round of centrifuging splits two dust of a particular grade in to one
dust each of the two neighbouring grades. Uranium of each grade can exist
as dust, ingot, and block, with all the regular metal processes to convert
between them. Uranium from ore exists in lump form, and is 0.7% fissle.
The blocks are radioactive to a degree dependent on fissile content.
Thus the chemical refinement and processing of uranium now follows the
standard pattern for metals, and is orthogonal to isotopic enrichment.
Each form of uranium (dust, ingot, block) intentionally looks identical
regardless of fissile grade.
If technic_worldgen is used alone, it defines only one grade of uranium
(as before), but defines it in the regular metal pattern, with lump, ingot
produced by cooking lump, and block crafted from ingots. It identifies
the metal only as "uranium". The multiple grades of uranium are defined
by the technic mod, which identifies each grade as "N.N%-fissile
uranium". The single grade that was registered by technic_worldgen
is redefined to be described specifically as "0.7%-fissile uranium".
For the redefinition to work, technic_worldgen must load before technic,
so technic now declares a dependency on technic_worldgen.
Each fuel rod is made from five 3.5%-fissile ingots, each of which in
turn requires one to start with five 0.7%-fissile dust, so each fuel rod
is now derived from 12.5 uranium lumps (or 25 if the lumps were first
cooked rather than being ground). This replaces the 20 lumps required
by the former recipes. After setting up and priming the centrifuge
cascade, enriching a full set of fuel for the reactor (six fuel rods)
takes 14700 centrifuge operations. It's intended to be a practical
necessity to automate the centrifuge. In the absence of EU upgrades
for the centrifuges, these operations consume 5.88e8 EU, about 0.97%
of the 6.048e10 EU that the fuel set will produce in the reactor.
The intent is that, in this respect as in others, operating a reactor
should carry a very high up-front cost, but ultimately be very profitable.
2014-07-27 03:48:08 +02:00
|
|
|
|
|
|
|
for p = 0, 35 do
|
|
|
|
local nici = (p ~= 0 and p ~= 7 and p ~= 35) and 1 or nil
|
|
|
|
local psuffix = p == 7 and "" or p
|
|
|
|
local ingot = "technic:uranium"..psuffix.."_ingot"
|
|
|
|
local block = "technic:uranium"..psuffix.."_block"
|
|
|
|
local ov = p == 7 and minetest.override_item or nil;
|
|
|
|
(ov or minetest.register_craftitem)(ingot, {
|
|
|
|
description = string.format(S("%.1f%%-Fissile Uranium Ingot"), p/10),
|
|
|
|
inventory_image = "technic_uranium_ingot.png",
|
|
|
|
groups = {uranium_ingot=1, not_in_creative_inventory=nici},
|
|
|
|
});
|
2014-08-04 18:03:56 +02:00
|
|
|
-- Note on radioactivity of blocks:
|
|
|
|
-- Source: <http://www.wise-uranium.org/rup.html>
|
|
|
|
-- The baseline radioactivity of an isotope is not especially
|
|
|
|
-- correlated with whether it's fissile (i.e., suitable as
|
|
|
|
-- reactor fuel). Natural uranium consists mainly of fissile
|
|
|
|
-- U-235 and non-fissile U-238, and both U-235 and U-238 are
|
|
|
|
-- significantly radioactive. U-235's massic activity is
|
|
|
|
-- about 80.0 MBq/kg, and U-238's is about 12.4 MBq/kg, which
|
|
|
|
-- superficially suggests that 3.5%-fissile uranium should have
|
|
|
|
-- only 1.19 times the activity of fully-depleted uranium.
|
|
|
|
-- But a third isotope affects the result hugely: U-234 has
|
|
|
|
-- massic activity of 231 GBq/kg. Natural uranium has massic
|
|
|
|
-- composition of 99.2837% U-238, 0.711% U-235, and 0.0053% U-234,
|
|
|
|
-- so its activity comes roughly 49% each from U-234 and U-238
|
|
|
|
-- and only 2% from U-235. During enrichment via centrifuge,
|
|
|
|
-- the U-234 fraction is concentrated along with the U-235, with
|
|
|
|
-- the U-234:U-235 ratio remaining close to its original value.
|
|
|
|
-- (Actually the U-234 gets separated from U-238 slightly more
|
|
|
|
-- than the U-235 is, so the U-234:U-235 ratio is slightly
|
|
|
|
-- higher in enriched uranium.) A typical massic composition
|
|
|
|
-- for 3.5%-fissile uranium is 96.47116% U-238, 3.5% U-235, and
|
|
|
|
-- 0.02884% U-234. This gives 3.5%-fissile uranium about 6.55
|
|
|
|
-- times the activity of fully-depleted uranium. The values we
|
|
|
|
-- compute here for the "radioactive" group value are based on
|
|
|
|
-- linear interpolation of activity along that scale, rooted at
|
|
|
|
-- a natural (0.7%-fissile) uranium block having the activity of
|
|
|
|
-- 9 uranium ore blocks (due to 9 ingots per block). The group
|
2014-08-20 20:14:03 +02:00
|
|
|
-- value is proportional to the square root of the activity, and
|
2016-03-21 08:14:08 +01:00
|
|
|
-- uranium ore has radioactive=1. This yields radioactive=1.0
|
|
|
|
-- for a fully-depleted uranium block and radioactive=2.6 for
|
2014-08-20 20:14:03 +02:00
|
|
|
-- a 3.5%-fissile uranium block.
|
2016-03-21 08:14:08 +01:00
|
|
|
local radioactivity = math.floor(math.sqrt((1+5.55*p/35) * 18 / (1+5.55*7/35)) + 0.5);
|
Uranium enrichment via centrifuge
Replacing the extractor-based system, uranium to be used as reactor fuel
must now be enriched in stages using the centrifuge. Uranium metal can
exist at 36 levels of fissile content, from 0.0% to 3.5% in steps of 0.1%.
One round of centrifuging splits two dust of a particular grade in to one
dust each of the two neighbouring grades. Uranium of each grade can exist
as dust, ingot, and block, with all the regular metal processes to convert
between them. Uranium from ore exists in lump form, and is 0.7% fissle.
The blocks are radioactive to a degree dependent on fissile content.
Thus the chemical refinement and processing of uranium now follows the
standard pattern for metals, and is orthogonal to isotopic enrichment.
Each form of uranium (dust, ingot, block) intentionally looks identical
regardless of fissile grade.
If technic_worldgen is used alone, it defines only one grade of uranium
(as before), but defines it in the regular metal pattern, with lump, ingot
produced by cooking lump, and block crafted from ingots. It identifies
the metal only as "uranium". The multiple grades of uranium are defined
by the technic mod, which identifies each grade as "N.N%-fissile
uranium". The single grade that was registered by technic_worldgen
is redefined to be described specifically as "0.7%-fissile uranium".
For the redefinition to work, technic_worldgen must load before technic,
so technic now declares a dependency on technic_worldgen.
Each fuel rod is made from five 3.5%-fissile ingots, each of which in
turn requires one to start with five 0.7%-fissile dust, so each fuel rod
is now derived from 12.5 uranium lumps (or 25 if the lumps were first
cooked rather than being ground). This replaces the 20 lumps required
by the former recipes. After setting up and priming the centrifuge
cascade, enriching a full set of fuel for the reactor (six fuel rods)
takes 14700 centrifuge operations. It's intended to be a practical
necessity to automate the centrifuge. In the absence of EU upgrades
for the centrifuges, these operations consume 5.88e8 EU, about 0.97%
of the 6.048e10 EU that the fuel set will produce in the reactor.
The intent is that, in this respect as in others, operating a reactor
should carry a very high up-front cost, but ultimately be very profitable.
2014-07-27 03:48:08 +02:00
|
|
|
(ov or minetest.register_node)(block, {
|
|
|
|
description = string.format(S("%.1f%%-Fissile Uranium Block"), p/10),
|
|
|
|
tiles = {"technic_uranium_block.png"},
|
|
|
|
is_ground_content = true,
|
2016-03-21 08:14:08 +01:00
|
|
|
groups = {uranium_block=1, not_in_creative_inventory=nici,
|
|
|
|
cracky=1, level=2, radioactive=radioactivity},
|
Uranium enrichment via centrifuge
Replacing the extractor-based system, uranium to be used as reactor fuel
must now be enriched in stages using the centrifuge. Uranium metal can
exist at 36 levels of fissile content, from 0.0% to 3.5% in steps of 0.1%.
One round of centrifuging splits two dust of a particular grade in to one
dust each of the two neighbouring grades. Uranium of each grade can exist
as dust, ingot, and block, with all the regular metal processes to convert
between them. Uranium from ore exists in lump form, and is 0.7% fissle.
The blocks are radioactive to a degree dependent on fissile content.
Thus the chemical refinement and processing of uranium now follows the
standard pattern for metals, and is orthogonal to isotopic enrichment.
Each form of uranium (dust, ingot, block) intentionally looks identical
regardless of fissile grade.
If technic_worldgen is used alone, it defines only one grade of uranium
(as before), but defines it in the regular metal pattern, with lump, ingot
produced by cooking lump, and block crafted from ingots. It identifies
the metal only as "uranium". The multiple grades of uranium are defined
by the technic mod, which identifies each grade as "N.N%-fissile
uranium". The single grade that was registered by technic_worldgen
is redefined to be described specifically as "0.7%-fissile uranium".
For the redefinition to work, technic_worldgen must load before technic,
so technic now declares a dependency on technic_worldgen.
Each fuel rod is made from five 3.5%-fissile ingots, each of which in
turn requires one to start with five 0.7%-fissile dust, so each fuel rod
is now derived from 12.5 uranium lumps (or 25 if the lumps were first
cooked rather than being ground). This replaces the 20 lumps required
by the former recipes. After setting up and priming the centrifuge
cascade, enriching a full set of fuel for the reactor (six fuel rods)
takes 14700 centrifuge operations. It's intended to be a practical
necessity to automate the centrifuge. In the absence of EU upgrades
for the centrifuges, these operations consume 5.88e8 EU, about 0.97%
of the 6.048e10 EU that the fuel set will produce in the reactor.
The intent is that, in this respect as in others, operating a reactor
should carry a very high up-front cost, but ultimately be very profitable.
2014-07-27 03:48:08 +02:00
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
});
|
|
|
|
if not ov then
|
|
|
|
minetest.register_craft({
|
|
|
|
output = block,
|
|
|
|
recipe = {
|
|
|
|
{ingot, ingot, ingot},
|
|
|
|
{ingot, ingot, ingot},
|
|
|
|
{ingot, ingot, ingot},
|
|
|
|
},
|
|
|
|
})
|
|
|
|
minetest.register_craft({
|
|
|
|
output = ingot.." 9",
|
|
|
|
recipe = {{block}},
|
|
|
|
})
|
|
|
|
end
|
|
|
|
end
|
2016-03-21 08:14:08 +01:00
|
|
|
|