Initial public commit.

master
mrunderhill89 2016-06-03 10:58:08 -07:00
commit b73cc9f476
131 changed files with 799 additions and 0 deletions

3
alumina/depends.txt Normal file
View File

@ -0,0 +1,3 @@
default
technic
bauxite

29
alumina/init.lua Normal file
View File

@ -0,0 +1,29 @@
local S = technic.getter
--- Alumina Lump
minetest.register_craftitem(":technic_aluminum:alumina_lump", {
description = S("Aluminum Oxide Lump"),
inventory_image = "aluminum_alumina_lump.png",
})
--- Furnace Recipe: Bauxite Lump => Alumina Lump
minetest.register_craft({
type = "cooking",
output = "technic_aluminum:alumina_lump",
recipe = "technic_aluminum:bauxite_lump",
})
--- Alumina Dust
minetest.register_craftitem(":technic_aluminum:alumina_dust", {
description = S("Aluminum Oxide Dust"),
inventory_image = "aluminum_alumina_dust.png",
})
---- Grinder Recipe: Alumina Lump => 2x Alumina Dust
technic.register_grinder_recipe({
input = {"technic_aluminum:alumina_lump"},
output = "technic_aluminum:alumina_dust 2"
})
--- Furnace Recipe: Bauxite Dust => Alumina Dust
minetest.register_craft({
type = "cooking",
output = "technic_aluminum:alumina_dust",
recipe = "technic_aluminum:bauxite_dust",
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

4
aluminum/depends.txt Normal file
View File

@ -0,0 +1,4 @@
default
technic
bauxite
alumina?

110
aluminum/init.lua Normal file
View File

@ -0,0 +1,110 @@
local S = technic.getter
local technic_path = minetest.get_modpath("technic")
-- Only use the alloy name if alloys are installed
local aluminum_name = minetest.get_modpath("aluminum_alloys")
and "1xxx Aluminum"
or "Aluminum"
-- Aluminum
--- Aluminum Lump (may not be used)
minetest.register_craftitem(":technic_aluminum:aluminum_lump", {
description = S(aluminum_name.." Lump"),
inventory_image = "aluminum_aluminum_lump.png",
})
--- Aluminum Ingot
minetest.register_craftitem(":technic_aluminum:aluminum_ingot", {
description = S(aluminum_name.." Ingot"),
inventory_image = "aluminum_aluminum_ingot.png",
})
---- Furnace Recipe: Aluminum Lump => Aluminum Ingot
minetest.register_craft({
type = "cooking",
output = "technic_aluminum:aluminum_ingot",
recipe = "technic_aluminum:aluminum_lump",
})
if (technic_path) then
--- Aluminum Dust
minetest.register_craftitem(":technic_aluminum:aluminum_dust", {
description = S(aluminum_name.." Dust"),
inventory_image = "aluminum_aluminum_dust.png",
})
---- Furnace Recipe: Aluminum Dust => Aluminum Ingot
minetest.register_craft({
type = "cooking",
output = "technic_aluminum:aluminum_ingot",
recipe = "technic_aluminum:aluminum_dust",
})
---- Grinder Recipe: Aluminum Lump => 2x Aluminum Dust
technic.register_grinder_recipe({
input = {"technic_aluminum:aluminum_lump"},
output = "technic_aluminum:aluminum_dust 2"
})
---- Grinder Recipe: Aluminum Ingot => 1x Aluminum Dust
technic.register_grinder_recipe({
input = {"technic_aluminum:aluminum_ingot"},
output = "technic_aluminum:aluminum_dust"
})
end
--- Aluminum Block
minetest.register_node(":technic_aluminum:aluminum_block", {
description = S(aluminum_name.." Block"),
tiles = {"aluminum_aluminum_block.png"},
is_ground_content = false,
groups = {cracky = 1, level = 2},
sounds = default.node_sound_stone_defaults(),
})
---- Crafting Recipe: 9x Aluminum Ingot => Aluminum Block
minetest.register_craft({
output = 'technic_aluminum:aluminum_block',
recipe = {
{'technic_aluminum:aluminum_ingot', 'technic_aluminum:aluminum_ingot', 'technic_aluminum:aluminum_ingot'},
{'technic_aluminum:aluminum_ingot', 'technic_aluminum:aluminum_ingot', 'technic_aluminum:aluminum_ingot'},
{'technic_aluminum:aluminum_ingot', 'technic_aluminum:aluminum_ingot', 'technic_aluminum:aluminum_ingot'},
}
})
---- Crafting Recipe: Aluminum Block => 9x Aluminum Ingot
minetest.register_craft({
output = 'technic_aluminum:aluminum_ingot 9',
recipe = {
{'technic_aluminum:aluminum_block'},
}
})
if minetest.get_modpath("alumina") then
if minetest.get_modpath("technic_hydrolysis") then
--TODO: Add a hydrolyzer machine and rig its recipe here
elseif (technic_path) then
--Until then, just use the centrifuge.
technic.register_separating_recipe({ input = { "technic_aluminum:alumina_dust" }, output = { "technic_aluminum:aluminum_dust" } })
else
-- And if Technic isn't installed, either, use Alumina as an ore.
--- Furnace Recipe: Alumina Lump => Aluminum Ingot
minetest.register_craft({
type = "cooking",
output = "technic_aluminum:aluminum_ingot",
recipe = "technic_aluminum:alumina_lump",
})
-- No dust recipe because that's a Technic thing.
end
else
--If alumina isn't installed, just treat bauxite like a normal ore.
--- Furnace Recipe: Bauxite Lump => Aluminum Ingot
minetest.register_craft({
type = "cooking",
output = "technic_aluminum:aluminum_ingot",
recipe = "technic_aluminum:bauxite_lump",
})
if (technic_path) then
--- Furnace Recipe: Bauxite Dust => Aluminum Ingot
minetest.register_craft({
type = "cooking",
output = "technic_aluminum:aluminum_ingot",
recipe = "technic_aluminum:bauxite_dust",
})
end
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

View File

@ -0,0 +1,3 @@
default
technic
aluminum

80
aluminum_alloys/init.lua Normal file
View File

@ -0,0 +1,80 @@
local modname = "technic_aluminum:"
local aluminum_alloys = {
copper = {
internal_name = "copper_aluminum",
description = "2xxx Aluminum",
alloy_recipe = {"technic_aluminum:aluminum_ingot 3", "default:copper_ingot 1"},
centrifuge_output = {"technic_aluminum:aluminum_dust 3", "technic:copper_dust 1"},
quantity = 4,
ingot_image = "aluminum_copper_aluminum_ingot.png",
dust_image = "aluminum_copper_aluminum_dust.png",
block_image = "aluminum_copper_aluminum_block.png"
},
zinc = {
internal_name = "zinc_aluminum",
description = "7xxx Aluminum",
alloy_recipe = {"technic_aluminum:aluminum_ingot 3", "technic:zinc_ingot 1"},
centrifuge_output = {"technic_aluminum:aluminum_dust 3", "technic:zinc_dust 1"},
quantity = 4,
ingot_image = "aluminum_zinc_aluminum_ingot.png",
dust_image = "aluminum_zinc_aluminum_dust.png",
block_image = "aluminum_zinc_aluminum_block.png"
}
}
if (minetest) then
local S = technic.getter
for _,alloy in pairs(aluminum_alloys) do
--- Ingot
local ingot_name = modname..alloy.internal_name.."_ingot"
minetest.register_craftitem(":"..ingot_name, {
description = S(alloy.description.." Ingot"),
inventory_image = alloy.ingot_image
})
-- Alloy Recipe
technic.register_alloy_recipe({input = alloy.alloy_recipe, output = ingot_name..' '..alloy.quantity})
--- Dust
local dust_name = modname..alloy.internal_name.."_dust"
minetest.register_craftitem(":"..dust_name, {
description = S(alloy.description.." Dust"),
inventory_image = alloy.dust_image
})
-- Grinder
technic.register_grinder_recipe({input = {ingot_name}, output = dust_name})
-- Centrifuge
technic.register_separating_recipe({ input = { dust_name..' '..alloy.quantity }, output = alloy.centrifuge_output })
-- Furnace
minetest.register_craft({
type = "cooking",
output = ingot_name,
recipe = dust_name,
})
--- Block
local block_name = alloy.internal_name.."_block"
minetest.register_node(":"..block_name, {
description = S(alloy.description.." Block"),
tiles = {alloy.block_image},
is_ground_content = false,
groups = {cracky = 1, level = 2},
sounds = default.node_sound_stone_defaults(),
})
-- Combine
minetest.register_craft({
output = block_name,
recipe = {
{ingot_name, ingot_name, ingot_name},
{ingot_name, ingot_name, ingot_name},
{ingot_name, ingot_name, ingot_name},
}
})
-- Break Down
minetest.register_craft({
output = ingot_name.." 9",
recipe = {
{block_name},
}
})
end
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

114
aluminum_armor/init.lua Normal file
View File

@ -0,0 +1,114 @@
if minetest.get_modpath("technic") then
local stats = {
aluminum = { name="Aluminum", armor=2.0, heal=8, use=200 },
}
local mats = {
aluminum="technic_aluminum:aluminum_ingot"
}
if minetest.get_modpath("aluminum_alloys") then
stats.aluminum.name = "1xxx Aluminum"
if false then --Let me make some textures first...
stats.aluminum_copper = { name="2xxx Aluminum", armor=2.2, heal=10, use=100 }
mats.aluminum_copper = "technic_aluminum:aluminum_copper_ingot"
stats.aluminum_zinc = { name="7xxx Aluminum", armor=2.3, heal=10, use=75 }
mats.aluminum_zinc = "technic_aluminum:aluminum_zinc_ingot"
end
end
if minetest.get_modpath("sapphire") then
stats.sapphire = { name = "Sapphire", armor = 2.4, heal=10, use=100, water=1}
mats.sapphire = "technic_aluminum:sapphire"
end
if minetest.get_modpath("ruby") then
stats.ruby = { name = "Ruby", armor = 2.4, heal=10, use=100, fire=1}
mats.ruby = "technic_aluminum:ruby"
end
for k, v in pairs(stats) do
minetest.register_tool(":technic_aluminum:helmet_"..k, {
description = v.name.." Helmet",
inventory_image = "technic_aluminum_inv_helmet_"..k..".png",
groups = {armor_head=math.floor(5*v.armor), armor_heal=v.heal, armor_use=v.use, armor_water = v.water or 0, armor_fire = v.fire or 0},
armor_fire= v.armor_fire or 0,
water = v.water or 0,
wear = 0,
})
minetest.register_tool(":technic_aluminum:chestplate_"..k, {
description = v.name.." Chestplate",
inventory_image = "technic_aluminum_inv_chestplate_"..k..".png",
groups = {armor_torso=math.floor(8*v.armor), armor_heal=v.heal, armor_use=v.use, armor_water = v.water or 0, armor_fire = v.fire or 0},
armor_fire= v.armor_fire or 0,
water = v.water or 0,
wear = 0,
})
minetest.register_tool(":technic_aluminum:leggings_"..k, {
description = v.name.." Leggings",
inventory_image = "technic_aluminum_inv_leggings_"..k..".png",
groups = {armor_legs=math.floor(7*v.armor), armor_heal=v.heal, armor_use=v.use, armor_water = v.water or 0, armor_fire = v.fire or 0},
armor_fire= v.armor_fire or 0,
wear = 0,
})
minetest.register_tool(":technic_aluminum:boots_"..k, {
description = v.name.." Boots",
inventory_image = "technic_aluminum_inv_boots_"..k..".png",
groups = {armor_feet=math.floor(4*v.armor), armor_heal=v.heal, armor_use=v.use, armor_water = v.water or 0, armor_fire = v.fire or 0},
wear = 0,
})
end
for k, v in pairs(mats) do
minetest.register_craft({
output = "technic_aluminum:helmet_"..k,
recipe = {
{v, v, v},
{v, "", v},
{"", "", ""},
},
})
minetest.register_craft({
output = "technic_aluminum:chestplate_"..k,
recipe = {
{v, "", v},
{v, v, v},
{v, v, v},
},
})
minetest.register_craft({
output = "technic_aluminum:leggings_"..k,
recipe = {
{v, v, v},
{v, "", v},
{v, "", v},
},
})
minetest.register_craft({
output = "technic_aluminum:boots_"..k,
recipe = {
{v, "", v},
{v, "", v},
},
})
end
if minetest.get_modpath("shields") then
for k, v in pairs(stats) do
minetest.register_tool(":technic_aluminum:shield_"..k, {
description = v.name.." Shield",
inventory_image = "technic_aluminum_inv_shield_"..k..".png",
groups = {armor_shield=math.floor(5*v.armor), armor_heal=v.heal, armor_use=v.use, armor_water = v.water or 0, armor_fire = v.fire or 0},
water = v.water or 0,
wear = 0,
})
local m = mats[k]
minetest.register_craft({
output = "technic_aluminum:shield_"..k,
recipe = {
{m, m, m},
{m, m, m},
{"", m, ""},
},
})
end
end
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 861 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 724 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,4 @@
default
technic
aluminum
aluminum_alloys?

View File

@ -0,0 +1,58 @@
if (minetest) then
local S = technic.getter
--[[
To make up for its high production cost, aluminum can be used
in almost any situation where steel would be. Pure aluminum (or
1xxx) generally corresponds to Carbon Steel (thouhg it can also
be used as an alternative to Cast Iron in Machine Casings), while
aluminum/copper (2xxx) corresponds to Stainless Steel and
aluminum/zinc (7xxx) has its own tier. The only exceptions are
the copper/silver coils, since those tend to be used as
electromagnets, and since iron is magnetic and aluminum isn't,
it wouldn't make sense to build, say, an electric motor out of
just aluminum. Casing a motor in aluminum is fine, though.
]]--
local aluminum_ingot = "technic_aluminum:aluminum_ingot"
--- Machine Casing
minetest.register_craft({
output = "technic:machine_casing",
recipe = {
{ aluminum_ingot, aluminum_ingot, aluminum_ingot },
{ aluminum_ingot, "technic:brass_ingot", aluminum_ingot },
{ aluminum_ingot, aluminum_ingot, aluminum_ingot },
},
})
-- Electric Motor
minetest.register_craft({
output = 'technic:motor',
recipe = {
{aluminum_ingot, 'technic:copper_coil', aluminum_ingot},
{aluminum_ingot, 'technic:copper_coil', aluminum_ingot},
{aluminum_ingot, 'default:copper_ingot', aluminum_ingot},
}
})
if (minetest.get_modpath("aluminum_alloys")) then
local copper_aluminum_ingot = "technic_aluminum:copper_aluminum_ingot"
local zinc_aluminum_ingot = "technic_aluminum:zinc_aluminum_ingot"
local function lv_to_mv(mv_machine, lv_machine)
return {
output = mv_machine,
recipe = {
{copper_aluminum_ingot, lv_machine, copper_aluminum_ingot},
{'pipeworks:tube_1', 'technic:mv_transformer', 'pipeworks:tube_1'},
{copper_aluminum_ingot, 'technic:mv_cable0', copper_aluminum_ingot}
}
}
end
for _, recipe in ipairs({
lv_to_mv("technic:mv_alloy_furnace", "technic:lv_alloy_furnace"),
lv_to_mv("technic:mv_electric_furnace", "technic:mv_electric_furnace"),
lv_to_mv("technic:mv_compressor", "technic:lv_compressor"),
lv_to_mv("technic:mv_extractor", "technic:lv_extractor"),
lv_to_mv("technic:mv_generator", "technic:lv_generator"),
lv_to_mv("technic:mv_grinder", "technic:lv_grinder")
}) do
minetest.register_craft(recipe)
end
end
end

View File

@ -0,0 +1,2 @@
default
aluminum

102
aluminum_tools/init.lua Normal file
View File

@ -0,0 +1,102 @@
local S = technic.getter
--[[
Aluminum Stats
Generally, pure aluminum (1xxx) should be about the same strength as cast iron,
slightly faster (-0.2 punch interval) and possibly more firepower,
but less durability. It's meant to be something that can be mass-manufactured
once you have a reliable source of aluminum, and the drawbacks can be offset
by recycling or a tool workshop.
Copper-aluminum alloy (2xxx) should be the same strength as carbon steel.
Zinc-aluminum (7xxx) should be the same as stainless steel.
]]--
minetest.register_tool(":technic_aluminum:pick_aluminum", {
description = S("Aluminum Pickaxe"),
inventory_image = "aluminum_tool_pick_aluminum.png",
tool_capabilities = {
full_punch_interval = 0.8,
max_drop_level=1,
groupcaps={
cracky = {times={[1]=4.00, [2]=1.60, [3]=0.80}, uses=15, maxlevel=2},
},
damage_groups = {fleshy=5},
},
})
minetest.register_craft({
output = 'technic_aluminum:pick_aluminum',
recipe = {
{'technic_aluminum:aluminum_ingot', 'technic_aluminum:aluminum_ingot', 'technic_aluminum:aluminum_ingot'},
{'', 'group:stick', ''},
{'', 'group:stick', ''},
}
})
minetest.register_tool(":technic_aluminum:shovel_aluminum", {
description = S("Aluminum Shovel"),
inventory_image = "aluminum_tool_shovel_aluminum.png",
wield_image = "aluminum_tool_shovel_aluminum.png^[transformR90",
tool_capabilities = {
full_punch_interval = 0.9,
max_drop_level=1,
groupcaps={
crumbly = {times={[1]=1.50, [2]=0.90, [3]=0.40}, uses=25, maxlevel=2},
},
damage_groups = {fleshy=4},
},
})
minetest.register_craft({
output = 'technic_aluminum:shovel_aluminum',
recipe = {
{'technic_aluminum:aluminum_ingot'},
{'group:stick'},
{'group:stick'},
}
})
minetest.register_tool(":technic_aluminum:axe_aluminum", {
description = S("Aluminum Axe"),
inventory_image = "aluminum_tool_axe_aluminum.png",
tool_capabilities = {
full_punch_interval = 0.8,
max_drop_level=1,
groupcaps={
choppy={times={[1]=2.50, [2]=1.40, [3]=1.00}, uses=15, maxlevel=2},
},
damage_groups = {fleshy=5},
},
})
minetest.register_craft({
output = 'technic_aluminum:axe_aluminum',
recipe = {
{'technic_aluminum:aluminum_ingot', 'group:stick'},
{'technic_aluminum:aluminum_ingot', 'group:stick'},
{'', 'group:stick'},
}
})
minetest.register_tool(":technic_aluminum:sword_aluminum", {
description = S("Aluminum Sword"),
inventory_image = "aluminum_tool_sword_aluminum.png",
tool_capabilities = {
full_punch_interval = 0.8,
max_drop_level=1,
groupcaps={
snappy={times={[1]=2.5, [2]=1.20, [3]=0.35}, uses=25, maxlevel=2},
},
damage_groups = {fleshy=7},
}
})
minetest.register_craft({
output = 'technic_aluminum:sword_aluminum',
recipe = {
{'technic_aluminum:aluminum_ingot'},
{'technic_aluminum:aluminum_ingot'},
{'group:stick'},
}
})

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 B

Some files were not shown because too many files have changed in this diff Show More