mods that hopefully work for a TechAge-based pack

This commit is contained in:
tangent committed 2026-09-09 06:27:51 -06:00
1 parent 4e6b08d194
commit c27db2a537
6234 files changed
+375578

No files matched your search

@@ -0,0 +1,128 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Aluminium
]]--
local S = techage.S
minetest.register_craftitem("techage:gibbsite_powder", {
description = S("Gibbsite Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#C6DCDB:120",
groups = {powder = 1},
})
minetest.register_craftitem("techage:aluminum", {
description = S("Aluminum"),
inventory_image = "techage_aluminum_inv.png",
})
minetest.register_craftitem("techage:redmud", {
description = S("Red Mud"),
inventory_image = "techage_liquid2_inv.png^[colorize:#F80E13:140^techage_liquid1_inv.png",
})
minetest.register_craftitem("techage:barrel_redmud", {
description = S("Red Mud Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#F80E13:140^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:canister_redmud", {
description = S("Red Mud Canister"),
inventory_image = "techage_canister_filling.png^[colorize:#F80E13:140^techage_canister_frame.png^techage_symbol_liquid.png",
stack_max = 1,
})
techage.register_liquid("techage:barrel_redmud", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:redmud")
techage.register_liquid("techage:canister_redmud", "techage:ta3_canister_empty", techage.volume_canister, "techage:redmud")
techage.recipes.add("ta4_doser", {
output = "techage:gibbsite_powder 2",
waste = "techage:redmud 1",
input = {
"techage:bauxite_powder 2",
"techage:lye 1",
}
})
techage.furnace.register_recipe({
output = "techage:aluminum 2",
recipe = {"techage:gibbsite_powder", "techage:gibbsite_powder",
"techage:gibbsite_powder", "techage:gibbsite_powder"},
time = 16,
})
if minetest.get_modpath('techpack_stairway') then
minetest.register_craft({
output = "techpack_stairway:grating 6",
recipe = {
{"", "", ""},
{"dye:dark_grey", "", "default:coal_lump"},
{"default:steel_ingot", "techage:aluminum", "default:steel_ingot"},
},
})
minetest.register_craft({
output = "techpack_stairway:handrail1 6",
recipe = {
{"default:steel_ingot", "default:coal_lump", ""},
{"techage:aluminum", "", ""},
{"default:steel_ingot", "dye:dark_grey", ""},
},
})
minetest.register_craft({
output = "techpack_stairway:stairway1 6",
recipe = {
{"", "", "default:steel_ingot"},
{"dye:dark_grey", "techage:aluminum", "default:coal_lump"},
{"default:steel_ingot", "", ""},
},
})
minetest.register_craft({
output = "techpack_stairway:ladder1 3",
recipe = {
{"", "default:steel_ingot", ""},
{"dye:dark_grey", "techage:aluminum", "default:coal_lump"},
{"", "default:steel_ingot", ""},
},
})
minetest.register_craft({
output = "techpack_stairway:ladder3 6",
recipe = {
{"", "", "default:steel_ingot"},
{"dye:dark_grey", "techage:aluminum", "default:coal_lump"},
{"", "", "default:steel_ingot"},
},
})
minetest.register_craft({
output = "techpack_stairway:ladder4 12",
recipe = {
{"dye:dark_grey", "techage:aluminum", "default:coal_lump"},
{"", "default:steel_ingot", ""},
{"", "default:steel_ingot", ""},
},
})
minetest.register_craft({
output = "techpack_stairway:lattice 4",
recipe = {
{"default:steel_ingot", "", "default:steel_ingot"},
{"dye:dark_grey", "techage:aluminum", "default:coal_lump"},
{"default:steel_ingot", "", "default:steel_ingot"},
},
})
end
@@ -0,0 +1,53 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Baborium
]]--
local S = techage.S
minetest.register_node("techage:stone_with_baborium", {
description = S("Baborium Ore"),
tiles = {"default_stone.png^techage_baborium.png"},
groups = {cracky = 2},
drop = 'techage:baborium_lump',
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craftitem("techage:baborium_lump", {
description = S("Baborium Lump"),
inventory_image = "techage_baborium_lump.png",
})
minetest.register_craftitem("techage:baborium_ingot", {
description = S("Baborium Ingot"),
inventory_image = "techage_baborium_ingot.png",
})
minetest.register_ore({
ore_type = "scatter",
ore = "techage:stone_with_baborium",
wherein = "default:stone",
clust_scarcity = 8 * 8 * 8,
clust_num_ores = 5,
clust_size = 3,
y_min = -340,
y_max = -250,
})
minetest.register_craft({
type = 'cooking',
output = 'techage:baborium_ingot',
recipe = 'techage:baborium_lump',
cooktime = 5,
})
techage.register_simple_nodes({"techage:stone_with_baborium"}, true)
@@ -0,0 +1,114 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Barrel/Liquid/Canister/Water
]]--
local S = techage.S
minetest.register_craftitem("techage:water", {
description = S("Water"),
inventory_image = "techage_liquid2_inv.png^[colorize:#0b6eca:120^techage_liquid1_inv.png",
groups = {not_in_creative_inventory=1},
})
minetest.register_craftitem("techage:river_water", {
description = S("River Water"),
inventory_image = "techage_liquid2_inv.png^[colorize:#189dc3:120^techage_liquid1_inv.png",
groups = {not_in_creative_inventory=1},
})
minetest.register_craftitem("techage:barrel_water", {
description = S("Water Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#0b6eca:120^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:barrel_river_water", {
description = S("River Water Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#189dc3:120^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:liquid", {
description = S("empty"),
inventory_image = "techage_liquid2_inv.png^[colorize:#BFBFBF:180^techage_liquid1_inv.png",
groups = {not_in_creative_inventory=1},
})
minetest.register_craftitem("techage:ta3_barrel_empty", {
description = S("TA Empty Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#BFBFBF:180",
})
minetest.register_craftitem("techage:ta3_canister_empty", {
description = S("TA3 Canister"),
inventory_image = "techage_canister_filling.png^[colorize:#BFBFBF:180^techage_canister_frame.png",
})
minetest.register_craftitem("techage:ta3_cylinder_small", {
description = S("Gas Cylinder Small"),
inventory_image = "techage_gas_cylinder_small.png^[colorize:#4D7481:100",
})
minetest.register_craftitem("techage:ta3_cylinder_large", {
description = S("Gas Cylinder Large"),
inventory_image = "techage_gas_cylinder_large.png^[colorize:#4D7481:100",
})
minetest.register_craft({
output = 'techage:ta3_barrel_empty 6',
recipe = {
{'techage:iron_ingot', 'techage:iron_ingot', 'techage:iron_ingot'},
{'techage:iron_ingot', '', 'techage:iron_ingot'},
{'techage:iron_ingot', 'techage:iron_ingot', 'techage:iron_ingot'},
}
})
minetest.register_craft({
output = 'techage:ta3_canister_empty 6',
recipe = {
{'basic_materials:plastic_sheet', 'basic_materials:plastic_sheet', 'basic_materials:plastic_sheet'},
{'basic_materials:plastic_sheet', '', 'basic_materials:plastic_sheet'},
{'basic_materials:plastic_sheet', 'basic_materials:plastic_sheet', 'basic_materials:plastic_sheet'},
}
})
minetest.register_craft({
output = 'techage:ta3_cylinder_small 8',
recipe = {
{'', 'techage:iron_ingot', ''},
{'techage:iron_ingot', '', 'techage:iron_ingot'},
{'techage:iron_ingot', 'techage:iron_ingot', 'techage:iron_ingot'},
}
})
minetest.register_craft({
output = 'techage:ta3_cylinder_large',
recipe = {
{'', 'techage:ta3_cylinder_small', ''},
{'', 'techage:ta3_cylinder_small', ''},
{'', 'techage:ta3_cylinder_small', ''},
}
})
techage.register_liquid("bucket:bucket_water", "bucket:bucket_empty", 1, "techage:water")
techage.register_liquid("bucket:bucket_river_water", "bucket:bucket_empty", 1, "techage:river_water")
techage.register_liquid("techage:barrel_water", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:water")
techage.register_liquid("techage:barrel_river_water", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:river_water")
techage.register_liquid("bucket:bucket_lava", "bucket:bucket_empty", 1, "default:lava_source")
@@ -0,0 +1,203 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Basalt as result from the lava/water generator
]]--
local S = techage.S
-- Replace default:stone with techage:basalt which is less valuable for ore generation.
default.cool_lava = function(pos, node)
if node.name == "default:lava_source" then
minetest.set_node(pos, {name = "default:obsidian"})
else -- Lava flowing
minetest.set_node(pos, {name = "techage:basalt_stone"})
end
minetest.sound_play("default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.25})
end
minetest.register_node("techage:basalt_stone", {
description = S("Basalt Stone"),
tiles = {"default_stone.png^[brighten"},
groups = {cracky = 3, stone = 1},
drop = 'techage:basalt_cobble',
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("techage:basalt_cobble", {
description = S("Basalt Cobble"),
tiles = {"default_cobble.png^[brighten"},
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("techage:basalt_stone_brick", {
description = S("Basalt Stone Brick"),
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_stone_brick.png^[brighten"},
is_ground_content = false,
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("techage:basalt_stone_block", {
description = S("Basalt Stone Block"),
tiles = {"default_stone_block.png^[brighten"},
is_ground_content = false,
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("techage:basalt_gravel", {
description = S("Basalt Gravel"),
tiles = {"default_gravel.png^[brighten"},
groups = {crumbly = 2, falling_node = 1, gravel = 1},
sounds = default.node_sound_gravel_defaults(),
})
minetest.register_node("techage:sieved_basalt_gravel", {
description = S("Sieved Basalt Gravel"),
tiles = {"default_gravel.png^[brighten"},
groups = {crumbly = 2, falling_node = 1, gravel = 1, not_in_creative_inventory=1},
sounds = default.node_sound_gravel_defaults(),
})
minetest.register_node("techage:basalt_glass", {
description = S("Basalt Glass"),
drawtype = "glasslike_framed_optional",
tiles = {"techage_basalt_glass.png"},
use_texture_alpha = techage.BLEND,
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("techage:basalt_glass2", {
description = S("Basalt Glass 2"),
drawtype = "glasslike_framed_optional",
tiles = {"techage_basalt_glass2.png"},
use_texture_alpha = techage.BLEND,
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("techage:basalt_glass_thin", {
description = S("Basalt Glass Thin"),
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-8/16, -8/16, -1/16, 8/16, 8/16, 1/16},
},
},
tiles = {"techage_basalt_glass.png"},
use_texture_alpha = techage.BLEND,
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("techage:basalt_glass_thin2", {
description = S("Basalt Glass Thin 2"),
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-8/16, -8/16, -1/16, 8/16, 8/16, 1/16},
},
},
tiles = {"techage_basalt_glass2.png"},
use_texture_alpha = techage.BLEND,
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("techage:basalt_glass_thin_xl", {
description = S("Basalt Glass Thin XL"),
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-8/16, -8/16, -1/16, 16/16, 16/16, 1/16},
},
},
tiles = {"techage_basalt_glass.png"},
use_texture_alpha = techage.BLEND,
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_node("techage:basalt_glass_thin_xl2", {
description = S("Basalt Glass Thin XL 2"),
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-8/16, -8/16, -1/16, 16/16, 16/16, 1/16},
},
},
tiles = {"techage_basalt_glass2.png"},
use_texture_alpha = techage.BLEND,
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "techage:basalt_stone_brick 4",
recipe = {
{"techage:basalt_stone", "techage:basalt_stone"},
{"techage:basalt_stone", "techage:basalt_stone"},
}
})
minetest.register_craft({
output = "techage:basalt_stone_block 9",
recipe = {
{"techage:basalt_stone", "techage:basalt_stone", "techage:basalt_stone"},
{"techage:basalt_stone", "techage:basalt_stone", "techage:basalt_stone"},
{"techage:basalt_stone", "techage:basalt_stone", "techage:basalt_stone"},
}
})
minetest.register_craft({
type = "cooking",
output = "techage:basalt_stone",
recipe = "techage:basalt_cobble",
})
techage.add_grinder_recipe({input="techage:basalt_stone", output="techage:basalt_gravel"})
techage.add_grinder_recipe({input="techage:basalt_cobble", output="techage:basalt_gravel"})
techage.add_grinder_recipe({input="techage:basalt_gravel", output="default:clay"})
techage.add_grinder_recipe({input="techage:sieved_basalt_gravel", output="default:clay"})
@@ -0,0 +1,69 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Bauxite
]]--
local S = techage.S
minetest.register_node("techage:bauxite_stone", {
description = S("Bauxite Stone"),
tiles = {"default_desert_stone.png^techage_bauxit_overlay.png^[colorize:#FB2A00:120"},
groups = {cracky = 3, stone = 1},
drop = 'techage:bauxite_cobble',
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("techage:bauxite_cobble", {
description = S("Bauxite Cobblestone"),
tiles = {"default_desert_cobble.png^[colorize:#FB2A00:80"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("techage:bauxite_gravel", {
description = S("Bauxite Gravel"),
tiles = {"default_gravel.png^[colorize:#FB2A00:180"},
is_ground_content = false,
groups = {crumbly = 2, falling_node = 1},
sounds = default.node_sound_gravel_defaults(),
})
minetest.register_craftitem("techage:bauxite_powder", {
description = S("Bauxite Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#FB2A00:120",
groups = {powder = 1},
})
minetest.register_ore({
ore_type = "blob",
ore = "techage:bauxite_stone",
wherein = {"default:stone", "default:desert_stone"},
clust_scarcity = 16 * 16 * 16,
clust_size = 6,
y_max = -50,
y_min = -500,
noise_threshold = 0.0,
noise_params = {
offset = 0.5,
scale = 0.2,
spread = {x = 5, y = 5, z = 5},
seed = 41524,
octaves = 1,
persist = 0.0
},
})
techage.add_grinder_recipe({input="techage:bauxite_cobble", output="techage:bauxite_gravel"})
techage.add_grinder_recipe({input="techage:bauxite_gravel", output="techage:bauxite_powder"})
techage.register_simple_nodes({"techage:bauxite_stone"}, true)
@@ -0,0 +1,70 @@
--[[
TechAge
=======
Copyright (C) 2020 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Cement as ingredient and alternative recipe for basic_materials:wet_cement
Cement is cooked and grinded clay
]]--
local S = techage.S
if not minetest.get_modpath("bakedclay") then
minetest.register_node("techage:cement_block", {
description = S("Cement Block"),
tiles = {"default_clay.png^[colorize:#FFFFFF:160"},
is_ground_content = false,
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
type = "cooking",
output = "techage:cement_block",
recipe = "default:clay",
})
techage.add_grinder_recipe({input="techage:cement_block", output="techage:cement_powder"})
else
-- The block should not exist when the mod baked clay is loaded.
-- But this block was active due to an error and can therefore no longer be deleted.
minetest.register_node("techage:cement_block", {
description = S("Cement Block"),
tiles = {"default_clay.png^[colorize:#FFFFFF:160"},
is_ground_content = false,
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
-- Needs to be a techage recipe, not to overwrite the clay/bakedclay recipe
techage.furnace.register_recipe({
output = "techage:cement_block",
recipe = {
"default:clay",
},
})
techage.add_grinder_recipe({input="techage:cement_block", output="techage:cement_powder"})
techage.add_grinder_recipe({input="bakedclay:white", output="techage:cement_powder"})
end
minetest.register_craftitem("techage:cement_powder", {
description = S("Cement Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#FFFFFF:240",
groups = {powder = 1},
})
minetest.register_craft({
output = "basic_materials:wet_cement 3",
recipe = {
{"bucket:bucket_water", "techage:cement_powder"},
{"group:sand", "default:gravel"},
},
replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}},
})
@@ -0,0 +1,84 @@
--[[
TechAge
=======
Copyright (C) 2021 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
TA4 Ceramic
]]--
local S = techage.S
minetest.register_craftitem("techage:ta4_ceramic_material", {
description = S("TA4 Ceramic Material"),
inventory_image = "techage_ceramic_material.png",
groups = {powder = 1},
})
techage.recipes.add("ta4_doser", {
output = "techage:ta4_ceramic_material 2",
input = {
"techage:clay_powder 1",
"techage:aluminum_powder 1",
"techage:silver_sandstone_powder 1",
"techage:water 1",
}
})
minetest.register_craft({
output = "techage:ta4_ceramic_material 2",
recipe = {
{"techage:clay_powder", "techage:aluminum_powder", ""},
{"techage:silver_sandstone_powder", "bucket:bucket_water", ""},
{"", "", ""},
},
replacements = {{"bucket:bucket_water", "bucket:bucket_empty"}},
})
minetest.register_craftitem("techage:ta4_furnace_ceramic", {
description = S("TA4 Furnace Ceramic"),
inventory_image = "techage_furnace_ceramic.png",
})
techage.furnace.register_recipe({
output = "techage:ta4_furnace_ceramic",
recipe = {
"techage:ta4_ceramic_material",
"techage:ta4_ceramic_material",
},
time = 16,
})
minetest.register_craftitem("techage:ta4_round_ceramic", {
description = S("TA4 Round Ceramic"),
inventory_image = "techage_round_ceramic.png",
})
minetest.register_craftitem("techage:ta5_ceramic_turbine", {
description = S("TA5 Ceramic Turbine"),
inventory_image = "techage_ceramic_turbine.png",
})
techage.furnace.register_recipe({
output = "techage:ta4_round_ceramic 2",
recipe = {
"techage:ta4_ceramic_material", "techage:ta4_ceramic_material",
"techage:ta4_ceramic_material", "techage:ta4_ceramic_material",
},
time = 16,
})
techage.furnace.register_recipe({
output = "techage:ta5_ceramic_turbine",
recipe = {
"techage:ta4_ceramic_material",
"techage:ta4_ceramic_material",
"techage:graphite_powder",
},
time = 16,
})
@@ -0,0 +1,109 @@
--[[
TechAge
=======
Copyright (C) 2019-2020 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Cracking breaks long chains of hydrocarbons into short chains using a catalyst.
Gibbsite powder serves as a catalyst (is not consumed).
It can be used to convert bitumen into fueloil, fueloil into naphtha, naphtha into gasoline,
and gasoline into gas.
In hydrogenation, pairs of hydrogen atoms are added to a molecule to convert short-chain
hydrocarbons into long ones.
Here iron powder is required as a catalyst (is not consumed).
It can be used to convert gas (propan) into isobutane, isobutane into gasoline, gasoline into naphtha,
naphtha into fueloil, and fueloil into bitumen.
]]--
-- Cracking
techage.recipes.add("ta4_doser", {
output = "techage:fueloil 1",
input = {
"techage:bitumen 1",
},
catalyst = "techage:gibbsite_powder",
})
techage.recipes.add("ta4_doser", {
output = "techage:naphtha 1",
input = {
"techage:fueloil 1",
},
catalyst = "techage:gibbsite_powder",
})
techage.recipes.add("ta4_doser", {
output = "techage:gasoline 1",
input = {
"techage:naphtha 1",
},
catalyst = "techage:gibbsite_powder",
})
techage.recipes.add("ta4_doser", {
output = "techage:isobutane 1",
input = {
"techage:gasoline 1",
},
catalyst = "techage:gibbsite_powder",
})
techage.recipes.add("ta4_doser", {
output = "techage:gas 1",
input = {
"techage:isobutane 1",
},
catalyst = "techage:gibbsite_powder",
})
-- Hydrogenate
techage.recipes.add("ta4_doser", {
output = "techage:isobutane 1",
input = {
"techage:gas 1",
"techage:hydrogen 1",
},
catalyst = "techage:iron_powder",
})
techage.recipes.add("ta4_doser", {
output = "techage:gasoline 1",
input = {
"techage:isobutane 1",
"techage:hydrogen 1",
},
catalyst = "techage:iron_powder",
})
techage.recipes.add("ta4_doser", {
output = "techage:naphtha 1",
input = {
"techage:gasoline 1",
"techage:hydrogen 1",
},
catalyst = "techage:iron_powder",
})
techage.recipes.add("ta4_doser", {
output = "techage:fueloil 1",
input = {
"techage:naphtha 1",
"techage:hydrogen 1",
},
catalyst = "techage:iron_powder",
})
techage.recipes.add("ta4_doser", {
output = "techage:bitumen 1",
input = {
"techage:fueloil 1",
"techage:hydrogen 1",
},
catalyst = "techage:iron_powder",
})
@@ -0,0 +1,102 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Bauxite
]]--
local S = techage.S
minetest.register_craftitem("techage:vacuum_tube", {
description = S("TA3 Vacuum Tube"),
inventory_image = "techage_vacuum_tube.png",
})
minetest.register_craftitem("techage:ta4_wlanchip", {
description = S("TA4 WLAN Chip"),
inventory_image = "techage_wlanchip.png",
})
minetest.register_craftitem("techage:wlanchip", {
description = S("WLAN Chip"),
inventory_image = "techage_wlanchip.png",
})
minetest.register_craftitem("techage:ta4_ramchip", {
description = S("TA4 RAM Chip"),
inventory_image = "techage_ramchip.png",
})
minetest.register_craftitem("techage:ta4_leds", {
description = S("TA4 LEDs"),
inventory_image = "techage_leds.png",
})
minetest.register_craftitem("techage:ta5_aichip", {
description = S("TA5 AI Chip"),
inventory_image = "techage_aichip.png^[colorize:#48b9de:40",
})
minetest.register_craftitem("techage:ta5_aichip2", {
description = S("TA5 AI Chip II"),
inventory_image = "techage_aichip.png^[colorize:#de486c:40",
})
techage.recipes.add("ta2_electronic_fab", {
output = "techage:vacuum_tube 2",
waste = "basic_materials:empty_spool 1",
input = {"default:glass 1", "basic_materials:copper_wire 1", "basic_materials:plastic_sheet 1", "techage:usmium_nuggets 1"}
})
techage.recipes.add("ta3_electronic_fab", {
output = "techage:vacuum_tube 2",
waste = "basic_materials:empty_spool 1",
input = {"default:glass 1", "basic_materials:copper_wire 1", "basic_materials:plastic_sheet 1", "techage:usmium_nuggets 1"}
})
techage.recipes.add("ta3_electronic_fab", {
output = "techage:ta4_wlanchip 8",
input = {"default:mese_crystal 1", "default:copper_ingot 1", "default:gold_ingot 1", "techage:ta4_silicon_wafer 1"}
})
techage.recipes.add("ta3_electronic_fab", {
output = "techage:ta4_ramchip 8",
input = {"default:mese_crystal 1", "default:gold_ingot 1", "default:copper_ingot 1", "techage:ta4_silicon_wafer 1"}
})
techage.recipes.add("ta4_electronic_fab", {
output = "techage:ta4_wlanchip 8",
input = {"default:mese_crystal 1", "default:copper_ingot 1", "default:gold_ingot 1", "techage:ta4_silicon_wafer 1"}
})
techage.recipes.add("ta4_electronic_fab", {
output = "techage:ta4_ramchip 8",
input = {"default:mese_crystal 1", "default:gold_ingot 1", "default:copper_ingot 1", "techage:ta4_silicon_wafer 1"}
})
techage.recipes.add("ta4_electronic_fab", {
output = "techage:ta4_leds 8",
waste = "basic_materials:empty_spool 1",
input = {"basic_materials:plastic_sheet 4", "basic_materials:copper_wire 1", "techage:ta4_silicon_wafer 1"}
})
techage.recipes.add("ta4_electronic_fab", {
output = "techage:ta5_aichip 2",
waste = "basic_materials:empty_spool 2",
input = {"techage:ta4_leds 8", "basic_materials:copper_wire 1", "basic_materials:gold_wire 1", "techage:ta4_silicon_wafer 1"},
ex_points = 10,
})
techage.recipes.add("ta4_electronic_fab", {
output = "techage:ta5_aichip2 2",
waste = "basic_materials:empty_spool 2",
input = {"techage:ta4_leds 8", "basic_materials:copper_wire 1", "basic_materials:gold_wire 1", "techage:ta4_silicon_wafer 1"},
ex_points = 25,
})
@@ -0,0 +1,45 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Epoxy
]]--
local S = techage.S
minetest.register_craftitem("techage:epoxy", {
description = S("Epoxide Resin"),
inventory_image = "techage_liquid2_inv.png^[colorize:#ca2446:140^techage_liquid1_inv.png",
})
minetest.register_craftitem("techage:barrel_epoxy", {
description = S("Epoxide Resin Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#ca2446:140^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:canister_epoxy", {
description = S("Epoxide Resin Canister"),
inventory_image = "techage_canister_filling.png^[colorize:#ca2446:140^techage_canister_frame.png^techage_symbol_liquid.png",
stack_max = 1,
})
techage.recipes.add("ta4_doser", {
output = "techage:epoxy 1",
input = {
"techage:naphtha 1",
"techage:needle_powder 1",
}
})
techage.register_liquid("techage:barrel_epoxy", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:epoxy")
techage.register_liquid("techage:canister_epoxy", "techage:ta3_canister_empty", techage.volume_canister, "techage:epoxy")
minetest.register_alias("techage:ta4_epoxy", "techage:canister_epoxy")
@@ -0,0 +1,14 @@
-- Needed for the trowel
local fillings = {}
minetest.register_on_mods_loaded(function()
for name, ndef in pairs(minetest.registered_nodes) do
-- test if it is a simple node without logic
if ndef and not ndef.groups.soil and name ~= "default:cobble" and
not ndef.after_place_node and not ndef.on_construct then
table.insert(fillings, name)
end
end
networks.register_filling_items(fillings)
end)
@@ -0,0 +1,31 @@
--[[
TechAge
=======
Copyright (C) 2025 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Powder
]]--
local S = techage.S
minetest.register_craftitem("techage:gun_powder", {
description = S("Gun Powder"),
inventory_image = "tnt_gunpowder_inventory.png",
groups = {powder = 1},
})
minetest.clear_craft({output = "tnt:gunpowder"})
core.register_alias_force("tnt:gunpowder", "techage:gun_powder")
techage.recipes.add("ta4_doser", {
output = "techage:gun_powder 1",
input = {
"techage:ammonia 1", "techage:silver_sandstone_powder 3", "techage:graphite_powder 3"
}
})
@@ -0,0 +1,43 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
TA4 Hydrogen
]]--
local S = techage.S
minetest.register_craftitem("techage:hydrogen", {
description = S("TA4 Hydrogen"),
inventory_image = "techage_hydrogen_inv.png",
groups = {ta_liquid = 1},
})
minetest.register_craftitem("techage:cylinder_small_hydrogen", {
description = S("Hydrogen Cylinder Small"),
inventory_image = "techage_gas_cylinder_small.png^[colorize:#00528A:120",
stack_max = 1,
})
minetest.register_craftitem("techage:cylinder_large_hydrogen", {
description = S("Hydrogen Cylinder Large"),
inventory_image = "techage_gas_cylinder_large.png^[colorize:#00528A:120",
stack_max = 1,
})
techage.register_liquid("techage:cylinder_small_hydrogen", "techage:ta3_cylinder_small", techage.volume_small_gascylinder, "techage:hydrogen")
techage.register_liquid("techage:cylinder_large_hydrogen", "techage:ta3_cylinder_large", techage.volume_big_gascylinder, "techage:hydrogen")
techage.recipes.add("ta4_doser", {
output = "techage:hydrogen 1",
input = {
"techage:gas 1",
}
})
@@ -0,0 +1,44 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Lye
]]--
local S = techage.S
minetest.register_craftitem("techage:lye", {
description = S("Lye"),
inventory_image = "techage_liquid2_inv.png^[colorize:#7fd44c:120^techage_liquid1_inv.png",
groups = {ta_liquid = 1},
})
minetest.register_craftitem("techage:barrel_lye", {
description = S("Lye Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#7fd44c:120^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:canister_lye", {
description = S("Lye Canister"),
inventory_image = "techage_canister_filling.png^[colorize:#7fd44c:120^techage_canister_frame.png^techage_symbol_liquid.png",
stack_max = 1,
})
techage.recipes.add("ta4_doser", {
output = "techage:lye 4",
input = {
"techage:water 3",
"techage:usmium_powder 1",
}
})
techage.register_liquid("techage:barrel_lye", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:lye")
techage.register_liquid("techage:canister_lye", "techage:ta3_canister_empty", techage.volume_canister, "techage:lye")
@@ -0,0 +1,99 @@
--[[
TechAge
=======
Copyright (C) 2020-2021 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
techage node registrations
]]--
local function register_alias(name)
--minetest.register_alias("stairs:slab_" ..name, "techage:slab_" ..name)
minetest.register_alias("stairs:slab_" ..name.. "_inverted", "techage:slab_" ..name.. "_inverted")
minetest.register_alias("stairs:slab_" ..name.. "_wall", "techage:slab_" ..name.. "_wall")
minetest.register_alias("stairs:slab_" ..name.. "_quarter", "techage:slab_" ..name.. "_quarter")
minetest.register_alias("stairs:slab_" ..name.. "_quarter_inverted", "techage:slab_" ..name.. "_quarter_inverted")
minetest.register_alias("stairs:slab_" ..name.. "_quarter_wall", "techage:slab_" ..name.. "_quarter_wall")
minetest.register_alias("stairs:slab_" ..name.. "_three_quarter", "techage:slab_" ..name.. "_three_quarter")
minetest.register_alias("stairs:slab_" ..name.. "_three_quarter_inverted", "techage:slab_" ..name.. "_three_quarter_inverted")
minetest.register_alias("stairs:slab_" ..name.. "_three_quarter_wall", "techage:slab_" ..name.. "_three_quarter_wall")
--minetest.register_alias("stairs:stair_" ..name, "techage:stair_" ..name)
minetest.register_alias("stairs:stair_" ..name.. "_inverted", "techage:stair_" ..name.. "_inverted")
minetest.register_alias("stairs:stair_" ..name.. "_wall", "techage:stair_" ..name.. "_wall")
minetest.register_alias("stairs:stair_" ..name.. "_wall_half", "techage:stair_" ..name.. "_wall_half")
minetest.register_alias("stairs:stair_" ..name.. "_wall_half_inverted", "techage:stair_" ..name.. "_wall_half_inverted")
minetest.register_alias("stairs:stair_" ..name.. "_half", "techage:stair_" ..name.. "_half")
minetest.register_alias("stairs:stair_" ..name.. "_half_inverted", "techage:stair_" ..name.. "_half_inverted")
minetest.register_alias("stairs:stair_" ..name.. "_right_half", "techage:stair_" ..name.. "_right_half")
minetest.register_alias("stairs:stair_" ..name.. "_right_half_inverted", "techage:stair_" ..name.. "_right_half_inverted")
minetest.register_alias("stairs:stair_" ..name.. "_wall_half", "techage:stair_" ..name.. "_wall_half")
minetest.register_alias("stairs:stair_" ..name.. "_wall_half_inverted", "techage:stair_" ..name.. "_wall_half_inverted")
minetest.register_alias("stairs:stair_" ..name.. "_inner", "techage:stair_" ..name.. "_inner")
minetest.register_alias("stairs:stair_" ..name.. "_inner_inverted", "techage:stair_" ..name.. "_inner_inverted")
minetest.register_alias("stairs:stair_" ..name.. "_outer", "techage:stair_" ..name.. "_outer")
minetest.register_alias("stairs:stair_" ..name.. "_outer_inverted", "techage:stair_" ..name.. "_outer_inverted")
end
local NodeNames = {
"techage:compressed_gravel",
"techage:red_stone",
"techage:red_stone_block",
"techage:red_stone_brick",
"techage:basalt_cobble",
"techage:basalt_stone",
"techage:basalt_stone_block",
"techage:basalt_stone_brick",
"techage:sieved_basalt_gravel",
"techage:basalt_glass",
"techage:basalt_glass2",
"techage:bauxite_cobble",
"techage:bauxite_stone",
"techage:cement_block",
}
if(minetest.get_modpath("moreblocks")) then
for _,name in ipairs(NodeNames) do
local ndef = minetest.registered_nodes[name]
if ndef then
ndef = table.copy(ndef)
if ndef.drop then -- this fixes https://github.com/fluxionary/minetest-moreblocks/issues/19
ndef.drop = nil
end
local subname = string.split(name, ":")[2]
ndef.sunlight_propagates = true
ndef.groups.not_in_creative_inventory = 1
stairsplus:register_all("techage", subname, name, ndef)
if techage.stair_aliases_enabled then
register_alias(subname)
end
end
end
else
for _,name in ipairs(NodeNames) do
local ndef = minetest.registered_nodes[name]
if ndef then
local subname = string.split(name, ":")[2]
stairs.register_stair_and_slab(
subname,
name,
ndef.groups,
ndef.tiles,
ndef.description.." Stair",
ndef.description.." Slab",
ndef.sound,
false
)
if techage.stair_aliases_enabled then
register_alias(subname)
end
end
end
end
+139
View File
@@ -0,0 +1,139 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
TA3 Oil
]]--
-- for lazy programmers
local M = minetest.get_meta
local P2S = function(pos) if pos then return minetest.pos_to_string(pos) end end
local S = techage.S
minetest.register_node("techage:oil_source", {
description = S("Oil Source"),
drawtype = "liquid",
paramtype = "light",
inventory_image = "techage_liquid2_inv.png^[colorize:#000000^techage_liquid1_inv.png",
tiles = {
{
name = "techage_oil_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 10
}
},
{
name = "techage_oil_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 2.0
}
}
},
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
drowning = 1,
liquidtype = "source",
liquid_alternative_flowing = "techage:oil_flowing",
liquid_alternative_source = "techage:oil_source",
liquid_viscosity = 20,
liquid_range = 10,
liquid_renewable = false,
post_effect_color = {a = 200, r = 1, g = 1, b = 1},
groups = {liquid = 5, ta_liquid = 1},
})
minetest.register_node("techage:oil_flowing", {
description = S("Flowing Oil"),
drawtype = "flowingliquid",
tiles = {"techage_oil.png"},
special_tiles = {
{
name = "techage_oil_animated.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 10,
},
},
{
name = "techage_oil_animated.png",
backface_culling = true,
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 10,
},
},
},
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
pointable = false,
diggable = false,
buildable_to = true,
is_ground_content = false,
liquid_renewable = false,
drop = "",
drowning = 1,
liquidtype = "flowing",
liquid_alternative_flowing = "techage:oil_flowing",
liquid_alternative_source = "techage:oil_source",
liquid_viscosity = 20,
liquid_range = 10,
post_effect_color = {a = 200, r = 1, g = 1, b = 1},
groups = {liquid = 5, not_in_creative_inventory = 1},
})
minetest.register_craft({
type = "fuel",
recipe = "techage:oil_source",
burntime = 30,
})
bucket.register_liquid(
"techage:oil_source",
"techage:oil_flowing",
"techage:bucket_oil",
"techage_bucket_oil.png",
"Oil Bucket")
minetest.register_craftitem("techage:ta3_barrel_oil", {
description = S("TA3 Oil Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#000000:120^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:ta3_canister_oil", {
description = S("TA3 Oil Canister"),
inventory_image = "techage_canister_filling.png^[colorize:#000000^techage_canister_frame.png^techage_symbol_liquid.png",
stack_max = 1,
})
techage.register_liquid("techage:bucket_oil", "bucket:bucket_empty", 1, "techage:oil_source")
techage.register_liquid("techage:ta3_barrel_oil", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:oil_source")
techage.register_liquid("techage:ta3_canister_oil", "techage:ta3_canister_empty", techage.volume_canister, "techage:oil_source")
core.register_alias_force('multidecor:oil_source', 'techage:oil_source')
core.register_alias_force('craft_incredients:oil_bucket', 'techage:bucket_oil')
@@ -0,0 +1,173 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
TA3 Petroleum types: bitumen, fueloil, naphtha, gasoline, isobutane, gas (propan)
]]--
local S = techage.S
minetest.register_craftitem("techage:bitumen", {
description = S("TA3 Bitumen"),
inventory_image = "techage_liquid2_inv.png^[colorize:#000000",
groups = {ta_liquid = 1},
})
minetest.register_craftitem("techage:fueloil", {
description = S("TA3 Fuel Oil"),
inventory_image = "techage_liquid2_inv.png^[colorize:#7E5D0A:180^techage_liquid1_inv.png",
groups = {ta_liquid = 1},
})
minetest.register_craftitem("techage:naphtha", {
description = S("TA3 Naphtha"),
inventory_image = "techage_liquid2_inv.png^[colorize:#AAA820:180^techage_liquid1_inv.png",
groups = {ta_liquid = 1},
})
minetest.register_craftitem("techage:gasoline", {
description = S("TA3 Gasoline"),
inventory_image = "techage_liquid2_inv.png^[colorize:#EEFC52:180^techage_liquid1_inv.png",
groups = {ta_liquid = 1},
})
minetest.register_craftitem("techage:isobutane", {
description = S("TA4 Isobutane"),
inventory_image = "techage_isobutane_inv.png",
groups = {ta_liquid = 1},
})
minetest.register_craftitem("techage:gas", {
description = S("TA3 Propane"),
inventory_image = "techage_gas_inv.png",
groups = {ta_liquid = 1},
})
minetest.register_craftitem("techage:ta3_cylinder_small_gas", {
description = S("Propane Cylinder Small"),
inventory_image = "techage_gas_cylinder_small.png^[colorize:#e51818:120",
stack_max = 1,
})
minetest.register_craftitem("techage:ta3_cylinder_large_gas", {
description = S("Propane Cylinder Large"),
inventory_image = "techage_gas_cylinder_large.png^[colorize:#e51818:120",
stack_max = 1,
})
minetest.register_craftitem("techage:ta4_cylinder_small_isobutane", {
description = S("Isobutane Cylinder Small"),
inventory_image = "techage_gas_cylinder_small.png^[colorize:#18d618:120",
stack_max = 1,
})
minetest.register_craftitem("techage:ta4_cylinder_large_isobutane", {
description = S("Isobutane Cylinder Large"),
inventory_image = "techage_gas_cylinder_large.png^[colorize:#18d618:120",
stack_max = 1,
})
minetest.register_craftitem("techage:ta3_barrel_bitumen", {
description = S("TA3 Bitumen Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#000000:120",
stack_max = 1,
})
minetest.register_craftitem("techage:ta3_barrel_fueloil", {
description = S("TA3 Fuel Oil Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#7E5D0A:180^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:ta3_barrel_naphtha", {
description = S("TA3 Naphtha Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#AAA820:180^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:ta3_barrel_gasoline", {
description = S("TA3 Gasoline Barrel"),
inventory_image = "techage_barrel_inv.png^[colorize:#EEFC52:180^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:ta3_canister_bitumen", {
description = S("TA3 Bitumen Canister"),
inventory_image = "techage_canister_filling.png^[colorize:#000000:180^techage_canister_frame.png",
stack_max = 1,
})
minetest.register_craftitem("techage:ta3_canister_fueloil", {
description = S("TA3 Fuel Oil Canister"),
inventory_image = "techage_canister_filling.png^[colorize:#7E5D0A:180^techage_canister_frame.png^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:ta3_canister_naphtha", {
description = S("TA3 Naphtha Canister"),
inventory_image = "techage_canister_filling.png^[colorize:#AAA820:180^techage_canister_frame.png^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craftitem("techage:ta3_canister_gasoline", {
description = S("TA3 Gasoline Canister"),
inventory_image = "techage_canister_filling.png^[colorize:#EEFC52^techage_canister_frame.png^techage_symbol_liquid.png",
stack_max = 1,
})
minetest.register_craft({
type = "fuel",
recipe = "techage:gas",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "techage:isobutane",
burntime = 40,
})
minetest.register_craft({
type = "fuel",
recipe = "techage:gasoline",
burntime = 50,
})
minetest.register_craft({
type = "fuel",
recipe = "techage:naphtha",
burntime = 45,
})
minetest.register_craft({
type = "fuel",
recipe = "techage:fueloil",
burntime = 40,
})
techage.register_liquid("techage:ta3_barrel_oil", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:oil_source")
techage.register_liquid("techage:ta3_barrel_bitumen", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:bitumen")
techage.register_liquid("techage:ta3_barrel_fueloil", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:fueloil")
techage.register_liquid("techage:ta3_barrel_naphtha", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:naphtha")
techage.register_liquid("techage:ta3_barrel_gasoline", "techage:ta3_barrel_empty", techage.volume_barrel, "techage:gasoline")
techage.register_liquid("techage:ta3_cylinder_large_gas", "techage:ta3_cylinder_large", techage.volume_big_gascylinder, "techage:gas")
techage.register_liquid("techage:ta4_cylinder_large_isobutane", "techage:ta3_cylinder_large", techage.volume_big_gascylinder, "techage:isobutane")
techage.register_liquid("techage:ta3_canister_oil", "techage:ta3_canister_empty", techage.volume_canister, "techage:oil_source")
techage.register_liquid("techage:ta3_canister_bitumen", "techage:ta3_canister_empty", techage.volume_canister, "techage:bitumen")
techage.register_liquid("techage:ta3_canister_fueloil", "techage:ta3_canister_empty", techage.volume_canister, "techage:fueloil")
techage.register_liquid("techage:ta3_canister_naphtha", "techage:ta3_canister_empty", techage.volume_canister, "techage:naphtha")
techage.register_liquid("techage:ta3_canister_gasoline", "techage:ta3_canister_empty", techage.volume_canister, "techage:gasoline")
techage.register_liquid("techage:ta3_cylinder_small_gas", "techage:ta3_cylinder_small", techage.volume_small_gascylinder, "techage:gas")
techage.register_liquid("techage:ta4_cylinder_small_isobutane", "techage:ta3_cylinder_small", techage.volume_small_gascylinder, "techage:isobutane")
@@ -0,0 +1,35 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Plastic
]]--
local S = techage.S
minetest.register_craftitem("techage:plastic_granules", {
description = S("Plastic Granules"),
inventory_image = "techage_powder_inv.png^[colorize:#FFFFFF:180",
groups = {powder = 1},
})
techage.recipes.add("ta4_doser", {
output = "techage:plastic_granules 1",
input = {
"techage:naphtha 1",
}
})
techage.furnace.register_recipe({
output = "basic_materials:plastic_sheet 4",
recipe = {"techage:plastic_granules"},
time = 2,
})
@@ -0,0 +1,90 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Powder
]]--
local S = techage.S
minetest.register_craftitem("techage:leave_powder", {
description = S("Leave Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#71a157:120",
groups = {powder = 1},
})
minetest.register_craftitem("techage:needle_powder", {
description = S("Needle Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#1c800f:120",
groups = {powder = 1},
})
minetest.register_craftitem("techage:iron_powder", {
description = S("Iron Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#c7643d:160",
groups = {powder = 1},
})
minetest.register_craftitem("techage:clay_powder", {
description = S("Clay Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#F9DE80:160",
groups = {powder = 1},
})
minetest.register_craftitem("techage:aluminum_powder", {
description = S("Aluminum Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#A1BDC4:160",
groups = {powder = 1},
})
minetest.register_craftitem("techage:silver_sandstone_powder", {
description = S("Silver Sandstone Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#FFFFFF:160",
groups = {powder = 1},
})
minetest.register_craftitem("techage:graphite_powder", {
description = S("Graphite Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#000000:160",
groups = {powder = 1},
})
techage.add_grinder_recipe({input="default:acacia_bush_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="default:acacia_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="default:aspen_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="default:blueberry_bush_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="default:bush_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="default:jungleleaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="default:leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="default:pine_needles", output="techage:needle_powder"})
techage.add_grinder_recipe({input="default:iron_lump", output="techage:iron_powder"})
techage.add_grinder_recipe({input="default:clay", output="techage:clay_powder"})
techage.add_grinder_recipe({input="techage:aluminum", output="techage:aluminum_powder"})
techage.add_grinder_recipe({input="default:silver_sandstone", output="techage:silver_sandstone_powder"})
techage.add_grinder_recipe({input="default:coal_lump", output="techage:graphite_powder"})
if minetest.get_modpath("ethereal") then
techage.add_grinder_recipe({input="ethereal:bush", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:bush2", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:bush3", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:bamboo_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:bananaleaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:birch_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:frost_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:lemon_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:olive_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:orange_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:palmleaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:redwood_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:sakura_leaves", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:ethereal:sakura_leaves2", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:willow_twig", output="techage:leave_powder"})
techage.add_grinder_recipe({input="ethereal:yellowleaves", output="techage:leave_powder"})
end
@@ -0,0 +1,70 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Redstone as result from the redmud/sand
]]--
local S = techage.S
minetest.register_node("techage:red_stone", {
description = S("Red Stone"),
tiles = {"default_stone.png^[colorize:#ff4538:110"},
groups = {cracky = 3, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("techage:red_stone_brick", {
description = S("Red Stone Brick"),
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_stone_brick.png^[colorize:#ff4538:110"},
is_ground_content = false,
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("techage:red_stone_block", {
description = S("Red Stone Block"),
tiles = {"default_stone_block.png^[colorize:#ff4538:110"},
is_ground_content = false,
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "techage:red_stone_brick 4",
recipe = {
{"techage:red_stone", "techage:red_stone"},
{"techage:red_stone", "techage:red_stone"},
}
})
minetest.register_craft({
output = "techage:red_stone_block 9",
recipe = {
{"techage:red_stone", "techage:red_stone", "techage:red_stone"},
{"techage:red_stone", "techage:red_stone", "techage:red_stone"},
{"techage:red_stone", "techage:red_stone", "techage:red_stone"},
}
})
techage.furnace.register_recipe({
output = "techage:red_stone 3",
recipe = {
"techage:canister_redmud",
"default:sand",
"default:sand",
"default:sand",
},
waste = "techage:ta3_canister_empty",
time = 10,
})
@@ -0,0 +1,75 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Collect data of registered nodes
]]--
techage.aEtherealDirts = {
"ethereal:fiery_dirt",
"ethereal:cold_dirt",
"ethereal:crystal_dirt",
"ethereal:gray_dirt",
"ethereal:mushroom_dirt",
"ethereal:prairie_dirt",
"ethereal:grove_dirt",
"ethereal:jungle_dirt",
"ethereal:bamboo_dirt",
}
techage.aAnyKindOfDirtBlocks = {}
minetest.register_on_mods_loaded(function()
for name, ndef in pairs(minetest.registered_nodes) do
if string.find(name, "dirt") and
ndef.drawtype == "normal" and
ndef.groups.crumbly and ndef.groups.crumbly > 0 then
techage.aAnyKindOfDirtBlocks[#techage.aAnyKindOfDirtBlocks + 1] = name
end
end
end)
minetest.override_item("default:gravel", {groups = {crumbly = 2, gravel = 1, falling_node = 1}})
-- Register all known mobs mods for the move/fly controllers
techage.register_mobs_mods("ts_skins_dummies")
techage.register_mobs_mods("mobs")
techage.register_mobs_mods("draconis")
techage.register_mobs_mods("mobkit")
techage.register_mobs_mods("animalia")
techage.register_mobs_mods("mobs_animal")
techage.register_mobs_mods("mobs_monster")
techage.register_mobs_mods("dmobs")
techage.register_mobs_mods("mob_horse")
techage.register_mobs_mods("petz")
techage.register_mobs_mods("mobs_npc")
techage.register_mobs_mods("livingnether")
techage.register_mobs_mods("extra_mobs")
techage.register_mobs_mods("nssm")
techage.register_mobs_mods("goblins")
techage.register_mobs_mods("animalworld")
techage.register_mobs_mods("aliveai")
techage.register_mobs_mods("people")
techage.register_mobs_mods("paleotest")
techage.register_mobs_mods("mobs_balrog")
techage.register_mobs_mods("wildlife")
techage.register_mobs_mods("mobs_skeletons")
techage.register_mobs_mods("mobs_dwarves")
techage.register_mobs_mods("mobf_trader")
techage.register_mobs_mods("ts_vehicles_cars")
-- Used as e.g. crane cable
techage.register_simple_nodes({"techage:power_lineS"}, true)
-- Mods like cottages add the function ``after_dig_node`` to the dirt blocks
techage.register_simple_nodes({"default:dirt", "default:dirt_with_grass", "default:dirt_with_grass_footsteps",
"default:dirt_with_dry_grass", "default:dirt_with_snow", "default:dirt_with_rainforest_litter",
"default:dirt_with_coniferous_litter"}, true)
@@ -0,0 +1,50 @@
--[[
TechAge
=======
Copyright (C) 2024 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Salt
]]--
--Detects if the salt node is registered.
minetest.register_on_mods_loaded(function()
if minetest.registered_nodes["farming:salt"] then
--Adds salt to powder group to ensure reactor and silo will accept it
local def = minetest.registered_nodes["farming:salt"]
local groups = table.copy(def.groups)
groups.powder = 1
minetest.override_item("farming:salt", { groups=groups })
--Add the water -> salt & river water recipe.
techage.recipes.add("ta4_doser", {
output = "farming:salt 1",
waste = "techage:river_water 1",
input = {
"techage:water 1",
}
})
-- Add salt recipe as replacement for the minetest.register_craft("farming:salt") recipe
techage.furnace.register_recipe({
output = "farming:salt",
recipe = {"bucket:bucket_water"},
waste = "bucket:bucket_empty",
time = 8,
})
else
-- Creates a water -> River Water recipe in absense of the farming:salt node.
techage.recipes.add("ta4_doser", {
output = "techage:river_water 1",
input = {
"techage:water 1",
}
})
end
end)
@@ -0,0 +1,45 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
TA4 Silicon Wafer
]]--
local S = techage.S
minetest.register_craftitem("techage:ta4_silicon_wafer", {
description = S("TA4 Silicon Wafer"),
inventory_image = "techage_silicon_wafer.png",
})
if minetest.global_exists("mesecon") then
techage.furnace.register_recipe({
output = "techage:ta4_silicon_wafer 16",
recipe = {
"mesecons_materials:silicon",
"mesecons_materials:silicon",
"mesecons_materials:silicon",
"techage:baborium_ingot"
},
time = 6,
})
end
techage.furnace.register_recipe({
output = "techage:ta4_silicon_wafer 16",
recipe = {
"basic_materials:silicon",
"basic_materials:silicon",
"basic_materials:silicon",
"techage:baborium_ingot"
},
time = 6,
})
@@ -0,0 +1,29 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
pillar
]]--
local S = techage.S
minetest.register_craftitem("techage:steelmat", {
description = S("TechAge Steel Mat"),
inventory_image = "techage_steelmat.png",
})
minetest.register_craft({
output = 'techage:steelmat 16',
recipe = {
{"", "techage:iron_ingot", ""},
{"default:steel_ingot", "techage:iron_ingot", "default:steel_ingot"},
{"", "techage:iron_ingot", ""},
},
})
@@ -0,0 +1,28 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
AGPL v3
See LICENSE.txt for more information
Usminum
]]--
local S = techage.S
minetest.register_craftitem("techage:usmium_nuggets", {
description = S("Usmium Nuggets"),
inventory_image = "techage_usmium_nuggets.png",
})
minetest.register_craftitem("techage:usmium_powder", {
description = S("Usmium Powder"),
inventory_image = "techage_powder_inv.png^[colorize:#46728E:120",
groups = {powder = 1},
})
techage.add_grinder_recipe({input="techage:usmium_nuggets", output="techage:usmium_powder"})