diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..1a376f0 --- /dev/null +++ b/depends.txt @@ -0,0 +1,2 @@ +3d_armor +shields diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..19cf51b --- /dev/null +++ b/init.lua @@ -0,0 +1,246 @@ +armor.config.material_reinforcedleather = true +armor.config.material_hardenedleather = true +armor.config.material_blackmithril = true + +armor.materials.reinforcedleather = "3d_armor:reinforcedleather" +armor.materials.hardenedleather = "3d_armor:hardenedleather" +armor.materials.blackmithril = "3d_armor:blackmithril_ingot" + +-- Load Configuration + +for name, config in pairs(armor.config) do + local setting = minetest.settings:get("armor_"..name) + if type(config) == "number" then + setting = tonumber(setting) + elseif type(config) == "boolean" then + setting = minetest.settings:get_bool("armor_"..name) + end + if setting ~= nil then + armor.config[name] = setting + end +end +for material, _ in pairs(armor.materials) do + local key = "material_"..material + if armor.config[key] == false then + armor.materials[material] = nil + end +end + + +-- Reinforced Leather +minetest.register_craftitem(":3d_armor:reinforcedleather", { + description = "Reinforced Leather", + inventory_image = "3d_armor_reinforcedleather.png", + stack_max = 99, +}) + +minetest.register_craft({ + output = "3d_armor:reinforcedleather", + recipe = { + {"default:mithril_ingot","technic:brass_ingot",""}, + {"darkage:chain", "mobs:minotaur_eye",""}, + {"", "", ""} + } +}) + +if armor.materials.reinforcedleather then + -- Register helmets : + armor:register_armor(":3d_armor:helmet_reinforcedleather", { + description = "Reinforced Leather Helmet (Hunter)", + inventory_image = "3d_armor_inv_helmet_reinforcedleather.png", + groups = {armor_head=1, armor_use=40, physics_speed=0.02, physics_gravity=-0.02}, + armor_groups = {fleshy=6}, + damage_groups = {cracky=2, snappy=1, choppy=1, level=2} + }) + + -- Register chestplates : + armor:register_armor(":3d_armor:chestplate_reinforcedleather", { + description = "Reinforced Leather Chestplate (Hunter)", + inventory_image = "3d_armor_inv_chestplate_reinforcedleather.png", + groups = {armor_torso = 1, armor_use = 40, physics_speed=0.08, physics_gravity=-0.08}, + armor_groups = {fleshy=11}, + damage_groups = {cracky=2, snappy=1, choppy=1, level=2} + }) + + -- Register leggings : + armor:register_armor(":3d_armor:leggings_reinforcedleather", { + description = "Reinforced Leather Leggings (Hunter)", + inventory_image = "3d_armor_inv_leggings_reinforcedleather.png", + groups = {armor_legs = 1, armor_use = 40, physics_speed=0.06, physics_gravity=-0.06}, + armor_groups = {fleshy=11}, + damage_groups = {cracky=2, snappy=1, choppy=1, level=2} + }) + + -- Register boots : + armor:register_armor(":3d_armor:boots_reinforcedleather", { + description = "Reinforced Leather Boots (Hunter)", + inventory_image = "3d_armor_inv_boots_reinforcedleather.png", + groups = {armor_feet = 1, armor_use = 40, physics_speed=0.02, physics_gravity=-0.02}, + armor_groups = {fleshy=6}, + damage_groups = {cracky=2, snappy=1, choppy=1, level=3} + }) +end + + +-- Hardened Leather +minetest.register_craftitem(":3d_armor:hardenedleather", { + description = "Hardened Leather", + inventory_image = "3d_armor_hardenedleather.png", + stack_max = 99, +}) + +minetest.register_craft({ + output = "3d_armor:hardenedleather", + recipe = { + {"default:steel_ingot","mobs:leather", "default:bronze_ingot"}, + {"mobs:leather", "mobs:leather", "mobs:leather"}, + {"default:bronze_ingot", "mobs:leather", "default:steel_ingot"} + } +}) + +if armor.materials.hardenedleather then + -- Register helmets : + armor:register_armor(":3d_armor:helmet_hardenedleather", { + description = "Hardened Leather Helmet (Hunter)", + inventory_image = "3d_armor_inv_helmet_hardenedleather.png", + groups = {armor_head = 1, armor_use = 250, physics_speed=0.01, physics_gravity=-0.01}, + armor_groups = {fleshy=5}, + damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2} + }) + + -- Register chestplates : + armor:register_armor(":3d_armor:chestplate_hardenedleather", { + description = "Hardened Leather Chestplate (Hunter)", + inventory_image = "3d_armor_inv_chestplate_hardenedleather.png", + groups = {armor_torso = 1, armor_use = 250, physics_speed=0.04, physics_gravity=-0.04}, + armor_groups = {fleshy=8}, + damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2} + }) + + -- Register leggings : + armor:register_armor(":3d_armor:leggings_hardenedleather", { + description = "Hardened Leather Leggings (Hunter)", + inventory_image = "3d_armor_inv_leggings_hardenedleather.png", + groups = {armor_legs = 1, armor_use = 250, physics_speed=0.03, physics_gravity=-0.03}, + armor_groups = {fleshy=8}, + damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2} + }) + + -- Register boots : + armor:register_armor(":3d_armor:boots_hardenedleather", { + description = "Hardened Leather Boots (Hunter)", + inventory_image = "3d_armor_inv_boots_hardenedleather.png", + groups = {armor_feet = 1, armor_use = 250, physics_speed=0.01, physics_gravity=-0.01}, + armor_groups = {fleshy=5}, + damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2} + }) +end + +-- Black Mithril +minetest.register_craftitem(":3d_armor:blackmithril_ingot", { + description = "Black Mithril Ingot", + inventory_image = "3d_armor_blackmithril_ingot.png", + stack_max = 99, + groups = {ingot = 1} +}) + +minetest.register_craft({ + output = "3d_armor:blackmithril_ingot", + recipe = { + {"default:mithril_ingot", "mobs:dungeon_master_blood", ""}, + {"mobs:dungeon_master_diamond", "default:obsidian", ""}, + {"", "", ""} + } +}) + +if armor.materials.blackmithril then + -- Register helmets : + armor:register_armor(":3d_armor:helmet_blackmithril", { + description = "Black Mithril Helmet (Warrior)", + inventory_image = "3d_armor_inv_helmet_blackmithril.png", + groups = {armor_head = 1, armor_heal = 15, armor_use = 40}, + armor_groups = {fleshy=16}, + damage_groups = {cracky=2, snappy=1, level=3} + }) + + -- Register chestplates : + armor:register_armor(":3d_armor:chestplate_blackmithril", { + description = "Black Mithril Chestplate (Warrior)", + inventory_image = "3d_armor_inv_chestplate_blackmithril.png", + groups = {armor_torso = 1, armor_heal = 15, armor_use = 40}, + armor_groups = {fleshy=22}, + damage_groups = {cracky=2, snappy=1, level=3} + }) + + -- Register leggings : + armor:register_armor(":3d_armor:leggings_blackmithril", { + description = "Black Mithril Leggings (Warrior)", + inventory_image = "3d_armor_inv_leggings_blackmithril.png", + groups = {armor_legs = 1, armor_heal = 15, armor_use = 40}, + armor_groups = {fleshy=22}, + damage_groups = {cracky=2, snappy=1, level=3} + }) + + -- Register boots : + armor:register_armor(":3d_armor:boots_blackmithril", { + description = "Black Mithril Boots (Warrior)", + inventory_image = "3d_armor_inv_boots_blackmithril.png", + groups = {armor_feet = 1, armor_heal = 15, armor_use = 40}, + armor_groups = {fleshy=16}, + damage_groups = {cracky=2, snappy=1, level=3} + }) + + -- Register shield : + armor:register_armor(":shields:shield_blackmithril", { + description = "Black Mithril Shield (warrior)", + inventory_image = "shields_inv_shield_black_mithril_warrior.png", + groups = {armor_shield=15, armor_heal=0, armor_use=50}, + armor_groups = {fleshy=16}, + damage_groups = {cracky=2, snappy=1, level=3}, + reciprocate_damage = true, +}) +end + +for k, v in pairs(armor.materials) do + if k == "blackmithril" then + minetest.register_craft({ + output = "shields:shield_"..k, + recipe = { + {v, v, v}, + {v, v, v}, + {"", v, ""}, + }, + }) + end + minetest.register_craft({ + output = "3d_armor:helmet_"..k, + recipe = { + {v, v, v}, + {v, "", v}, + {"", "", ""}, + }, + }) + minetest.register_craft({ + output = "3d_armor:chestplate_"..k, + recipe = { + {v, "", v}, + {v, v, v}, + {v, v, v}, + }, + }) + minetest.register_craft({ + output = "3d_armor:leggings_"..k, + recipe = { + {v, v, v}, + {v, "", v}, + {v, "", v}, + }, + }) + minetest.register_craft({ + output = "3d_armor:boots_"..k, + recipe = { + {v, "", v}, + {v, "", v}, + }, + nnn}) +end diff --git a/textures/3d_armor_blackmithril_ingot.png b/textures/3d_armor_blackmithril_ingot.png new file mode 100644 index 0000000..e4e5e87 Binary files /dev/null and b/textures/3d_armor_blackmithril_ingot.png differ diff --git a/textures/3d_armor_boots_blackmithril.png b/textures/3d_armor_boots_blackmithril.png new file mode 100644 index 0000000..617c19e Binary files /dev/null and b/textures/3d_armor_boots_blackmithril.png differ diff --git a/textures/3d_armor_boots_blackmithril_preview.png b/textures/3d_armor_boots_blackmithril_preview.png new file mode 100644 index 0000000..a561ce9 Binary files /dev/null and b/textures/3d_armor_boots_blackmithril_preview.png differ diff --git a/textures/3d_armor_boots_hardenedleather.png b/textures/3d_armor_boots_hardenedleather.png new file mode 100644 index 0000000..ac5aa9e Binary files /dev/null and b/textures/3d_armor_boots_hardenedleather.png differ diff --git a/textures/3d_armor_boots_hardenedleather_preview.png b/textures/3d_armor_boots_hardenedleather_preview.png new file mode 100755 index 0000000..61f6303 Binary files /dev/null and b/textures/3d_armor_boots_hardenedleather_preview.png differ diff --git a/textures/3d_armor_boots_reinforcedleather.png b/textures/3d_armor_boots_reinforcedleather.png new file mode 100644 index 0000000..22a5337 Binary files /dev/null and b/textures/3d_armor_boots_reinforcedleather.png differ diff --git a/textures/3d_armor_boots_reinforcedleather_preview.png b/textures/3d_armor_boots_reinforcedleather_preview.png new file mode 100755 index 0000000..14bca15 Binary files /dev/null and b/textures/3d_armor_boots_reinforcedleather_preview.png differ diff --git a/textures/3d_armor_chestplate_blackmithril.png b/textures/3d_armor_chestplate_blackmithril.png new file mode 100644 index 0000000..613a488 Binary files /dev/null and b/textures/3d_armor_chestplate_blackmithril.png differ diff --git a/textures/3d_armor_chestplate_blackmithril_preview.png b/textures/3d_armor_chestplate_blackmithril_preview.png new file mode 100644 index 0000000..f39dd55 Binary files /dev/null and b/textures/3d_armor_chestplate_blackmithril_preview.png differ diff --git a/textures/3d_armor_chestplate_hardenedleather.png b/textures/3d_armor_chestplate_hardenedleather.png new file mode 100644 index 0000000..f378a00 Binary files /dev/null and b/textures/3d_armor_chestplate_hardenedleather.png differ diff --git a/textures/3d_armor_chestplate_hardenedleather_preview.png b/textures/3d_armor_chestplate_hardenedleather_preview.png new file mode 100755 index 0000000..c3ee51d Binary files /dev/null and b/textures/3d_armor_chestplate_hardenedleather_preview.png differ diff --git a/textures/3d_armor_chestplate_reinforcedleather.png b/textures/3d_armor_chestplate_reinforcedleather.png new file mode 100644 index 0000000..3e91840 Binary files /dev/null and b/textures/3d_armor_chestplate_reinforcedleather.png differ diff --git a/textures/3d_armor_chestplate_reinforcedleather_preview.png b/textures/3d_armor_chestplate_reinforcedleather_preview.png new file mode 100755 index 0000000..44fbdd2 Binary files /dev/null and b/textures/3d_armor_chestplate_reinforcedleather_preview.png differ diff --git a/textures/3d_armor_hardenedleather.png b/textures/3d_armor_hardenedleather.png new file mode 100755 index 0000000..ce24e72 Binary files /dev/null and b/textures/3d_armor_hardenedleather.png differ diff --git a/textures/3d_armor_helmet_blackmithril.png b/textures/3d_armor_helmet_blackmithril.png new file mode 100644 index 0000000..45645f9 Binary files /dev/null and b/textures/3d_armor_helmet_blackmithril.png differ diff --git a/textures/3d_armor_helmet_blackmithril_preview.png b/textures/3d_armor_helmet_blackmithril_preview.png new file mode 100644 index 0000000..a9e767d Binary files /dev/null and b/textures/3d_armor_helmet_blackmithril_preview.png differ diff --git a/textures/3d_armor_helmet_hardenedleather.png b/textures/3d_armor_helmet_hardenedleather.png new file mode 100644 index 0000000..26be0a5 Binary files /dev/null and b/textures/3d_armor_helmet_hardenedleather.png differ diff --git a/textures/3d_armor_helmet_hardenedleather_preview.png b/textures/3d_armor_helmet_hardenedleather_preview.png new file mode 100755 index 0000000..3d6f535 Binary files /dev/null and b/textures/3d_armor_helmet_hardenedleather_preview.png differ diff --git a/textures/3d_armor_helmet_reinforcedleather.png b/textures/3d_armor_helmet_reinforcedleather.png new file mode 100644 index 0000000..d48c3f5 Binary files /dev/null and b/textures/3d_armor_helmet_reinforcedleather.png differ diff --git a/textures/3d_armor_helmet_reinforcedleather_preview.png b/textures/3d_armor_helmet_reinforcedleather_preview.png new file mode 100755 index 0000000..f58ae77 Binary files /dev/null and b/textures/3d_armor_helmet_reinforcedleather_preview.png differ diff --git a/textures/3d_armor_inv_boots_blackmithril.png b/textures/3d_armor_inv_boots_blackmithril.png new file mode 100755 index 0000000..498218d Binary files /dev/null and b/textures/3d_armor_inv_boots_blackmithril.png differ diff --git a/textures/3d_armor_inv_boots_hardenedleather.png b/textures/3d_armor_inv_boots_hardenedleather.png new file mode 100755 index 0000000..770f329 Binary files /dev/null and b/textures/3d_armor_inv_boots_hardenedleather.png differ diff --git a/textures/3d_armor_inv_boots_reinforcedleather.png b/textures/3d_armor_inv_boots_reinforcedleather.png new file mode 100644 index 0000000..2ca3e23 Binary files /dev/null and b/textures/3d_armor_inv_boots_reinforcedleather.png differ diff --git a/textures/3d_armor_inv_chestplate_blackmithril.png b/textures/3d_armor_inv_chestplate_blackmithril.png new file mode 100755 index 0000000..9ef01a1 Binary files /dev/null and b/textures/3d_armor_inv_chestplate_blackmithril.png differ diff --git a/textures/3d_armor_inv_chestplate_hardenedleather.png b/textures/3d_armor_inv_chestplate_hardenedleather.png new file mode 100755 index 0000000..0d5a9fc Binary files /dev/null and b/textures/3d_armor_inv_chestplate_hardenedleather.png differ diff --git a/textures/3d_armor_inv_chestplate_reinforcedleather.png b/textures/3d_armor_inv_chestplate_reinforcedleather.png new file mode 100644 index 0000000..c312500 Binary files /dev/null and b/textures/3d_armor_inv_chestplate_reinforcedleather.png differ diff --git a/textures/3d_armor_inv_helmet_blackmithril.png b/textures/3d_armor_inv_helmet_blackmithril.png new file mode 100755 index 0000000..42b2d55 Binary files /dev/null and b/textures/3d_armor_inv_helmet_blackmithril.png differ diff --git a/textures/3d_armor_inv_helmet_hardenedleather.png b/textures/3d_armor_inv_helmet_hardenedleather.png new file mode 100755 index 0000000..c34cd71 Binary files /dev/null and b/textures/3d_armor_inv_helmet_hardenedleather.png differ diff --git a/textures/3d_armor_inv_helmet_reinforcedleather.png b/textures/3d_armor_inv_helmet_reinforcedleather.png new file mode 100644 index 0000000..71717ec Binary files /dev/null and b/textures/3d_armor_inv_helmet_reinforcedleather.png differ diff --git a/textures/3d_armor_inv_leggings_blackmithril.png b/textures/3d_armor_inv_leggings_blackmithril.png new file mode 100755 index 0000000..b7e0eb8 Binary files /dev/null and b/textures/3d_armor_inv_leggings_blackmithril.png differ diff --git a/textures/3d_armor_inv_leggings_hardenedleather.png b/textures/3d_armor_inv_leggings_hardenedleather.png new file mode 100755 index 0000000..21f1d00 Binary files /dev/null and b/textures/3d_armor_inv_leggings_hardenedleather.png differ diff --git a/textures/3d_armor_inv_leggings_reinforcedleather.png b/textures/3d_armor_inv_leggings_reinforcedleather.png new file mode 100644 index 0000000..9289075 Binary files /dev/null and b/textures/3d_armor_inv_leggings_reinforcedleather.png differ diff --git a/textures/3d_armor_leggings_blackmithril.png b/textures/3d_armor_leggings_blackmithril.png new file mode 100644 index 0000000..9a92c63 Binary files /dev/null and b/textures/3d_armor_leggings_blackmithril.png differ diff --git a/textures/3d_armor_leggings_blackmithril_preview.png b/textures/3d_armor_leggings_blackmithril_preview.png new file mode 100644 index 0000000..265882c Binary files /dev/null and b/textures/3d_armor_leggings_blackmithril_preview.png differ diff --git a/textures/3d_armor_leggings_hardenedleather.png b/textures/3d_armor_leggings_hardenedleather.png new file mode 100644 index 0000000..0478a2d Binary files /dev/null and b/textures/3d_armor_leggings_hardenedleather.png differ diff --git a/textures/3d_armor_leggings_hardenedleather_preview.png b/textures/3d_armor_leggings_hardenedleather_preview.png new file mode 100755 index 0000000..bc9a4e8 Binary files /dev/null and b/textures/3d_armor_leggings_hardenedleather_preview.png differ diff --git a/textures/3d_armor_leggings_reinforcedleather.png b/textures/3d_armor_leggings_reinforcedleather.png new file mode 100644 index 0000000..483017a Binary files /dev/null and b/textures/3d_armor_leggings_reinforcedleather.png differ diff --git a/textures/3d_armor_leggings_reinforcedleather_preview.png b/textures/3d_armor_leggings_reinforcedleather_preview.png new file mode 100755 index 0000000..f6e89e7 Binary files /dev/null and b/textures/3d_armor_leggings_reinforcedleather_preview.png differ diff --git a/textures/3d_armor_reinforcedleather.png b/textures/3d_armor_reinforcedleather.png new file mode 100755 index 0000000..ecaa915 Binary files /dev/null and b/textures/3d_armor_reinforcedleather.png differ diff --git a/textures/shields_inv_shield_black_mithril_warrior.png b/textures/shields_inv_shield_black_mithril_warrior.png new file mode 100644 index 0000000..c4e9c9a Binary files /dev/null and b/textures/shields_inv_shield_black_mithril_warrior.png differ diff --git a/textures/shields_shield_blackmithril.png b/textures/shields_shield_blackmithril.png new file mode 100755 index 0000000..f19048a Binary files /dev/null and b/textures/shields_shield_blackmithril.png differ diff --git a/textures/shields_shield_blackmithril_preview.png b/textures/shields_shield_blackmithril_preview.png new file mode 100644 index 0000000..64f58e6 Binary files /dev/null and b/textures/shields_shield_blackmithril_preview.png differ