mirror of
https://github.com/minetest-mods/3d_armor.git
synced 2025-07-02 08:10:37 +02:00
From the start my prior PR was aiming at compatibility with legacy clients and servers. If you scan the MT forum you will become aware that there seem to be quite many MT 0.4 servers around which are actively used by many players. However, the best solution may be this example of a new piece of improved code, if I understand the MT Lua code correctly. ``` -- print to log after mod was loaded successfully local load_message = "[MOD] XXX loaded" if minetest.log then minetest.log("info", load_message) -- aims at state of the art MT software else print (load_message) -- aims at legacy MT software used in the field end ``` Hope this helps.
192 lines
5.5 KiB
Lua
192 lines
5.5 KiB
Lua
|
|
--- Registered armors.
|
|
--
|
|
-- @topic armor
|
|
|
|
|
|
-- support for i18n
|
|
local S = armor.get_translator
|
|
|
|
--- Cactus
|
|
--
|
|
-- Requires setting `armor_material_cactus`.
|
|
--
|
|
-- @section cactus
|
|
|
|
if armor.materials.cactus then
|
|
--- Cactus Helmet
|
|
--
|
|
-- @helmet 3d_armor:helmet_cactus
|
|
-- @img 3d_armor_inv_helmet_cactus.png
|
|
-- @grp armor_head 1
|
|
-- @grp armor_heal 0
|
|
-- @grp armor_use 1000
|
|
-- @armorgrp fleshy 5
|
|
-- @damagegrp cracky 3
|
|
-- @damagegrp snappy 3
|
|
-- @damagegrp choppy 2
|
|
-- @damagegrp crumbly 2
|
|
-- @damagegrp level 1
|
|
armor:register_armor(":3d_armor:helmet_cactus", {
|
|
description = S("Cactus Helmet"),
|
|
inventory_image = "3d_armor_inv_helmet_cactus.png",
|
|
groups = {armor_head=1, armor_heal=0, armor_use=1000},
|
|
armor_groups = {fleshy=5},
|
|
damage_groups = {cracky=3, snappy=3, choppy=2, crumbly=2, level=1},
|
|
})
|
|
--- Cactus Chestplate
|
|
--
|
|
-- @chestplate 3d_armor:chestplate_cactus
|
|
-- @img 3d_armor_inv_chestplate_cactus.png
|
|
-- @grp armor_torso 1
|
|
-- @grp armor_heal 0
|
|
-- @grp armor_use 1000
|
|
-- @armorgrp fleshy 10
|
|
-- @damagegrp cracky 3
|
|
-- @damagegrp snappy 3
|
|
-- @damagegrp choppy 2
|
|
-- @damagegrp crumbly 2
|
|
-- @damagegrp level 1
|
|
armor:register_armor(":3d_armor:chestplate_cactus", {
|
|
description = S("Cactus Chestplate"),
|
|
inventory_image = "3d_armor_inv_chestplate_cactus.png",
|
|
groups = {armor_torso=1, armor_heal=0, armor_use=1000},
|
|
armor_groups = {fleshy=10},
|
|
damage_groups = {cracky=3, snappy=3, choppy=2, crumbly=2, level=1},
|
|
})
|
|
--- Cactus Leggings
|
|
--
|
|
-- @leggings 3d_armor:leggings_cactus
|
|
-- @img 3d_armor_inv_leggings_cactus.png
|
|
-- @grp armor_legs 1
|
|
-- @grp armor_heal 0
|
|
-- @grp armor_use 1000
|
|
-- @armorgrp fleshy 10
|
|
-- @damagegrp cracky 3
|
|
-- @damagegrp snappy 3
|
|
-- @damagegrp choppy 2
|
|
-- @damagegrp crumbly 2
|
|
-- @damagegrp level 1
|
|
armor:register_armor(":3d_armor:leggings_cactus", {
|
|
description = S("Cactus Leggings"),
|
|
inventory_image = "3d_armor_inv_leggings_cactus.png",
|
|
groups = {armor_legs=1, armor_heal=0, armor_use=1000},
|
|
armor_groups = {fleshy=10},
|
|
damage_groups = {cracky=3, snappy=3, choppy=2, crumbly=2, level=1},
|
|
})
|
|
--- Cactus Boots
|
|
--
|
|
-- @boots 3d_armor:boots_cactus
|
|
-- @img 3d_armor_inv_boots_cactus.png
|
|
-- @grp armor_feet 1
|
|
-- @grp armor_heal 0
|
|
-- @grp armor_use 1000
|
|
-- @armorgrp fleshy 5
|
|
-- @damagegrp cracky 3
|
|
-- @damagegrp snappy 3
|
|
-- @damagegrp choppy 2
|
|
-- @damagegrp crumbly 2
|
|
-- @damagegrp level 1
|
|
armor:register_armor(":3d_armor:boots_cactus", {
|
|
description = S("Cactus Boots"),
|
|
inventory_image = "3d_armor_inv_boots_cactus.png",
|
|
groups = {armor_feet=1, armor_heal=0, armor_use=1000},
|
|
armor_groups = {fleshy=5},
|
|
damage_groups = {cracky=3, snappy=3, choppy=2, crumbly=2, level=1},
|
|
})
|
|
local cactus_armor_fuel = {
|
|
helmet = 14,
|
|
chestplate = 16,
|
|
leggings = 15,
|
|
boots = 13
|
|
}
|
|
for armor, burn in pairs(cactus_armor_fuel) do
|
|
minetest.register_craft({
|
|
type = "fuel",
|
|
recipe = "3d_armor:" .. armor .. "_cactus",
|
|
burntime = burn,
|
|
})
|
|
end
|
|
|
|
|
|
--- Crafting
|
|
--
|
|
-- @section craft
|
|
|
|
--- Craft recipes for helmets, chestplates, leggings, boots, & shields.
|
|
--
|
|
-- @craft armor
|
|
-- @usage
|
|
-- Key:
|
|
-- - m: material
|
|
-- - wood: group:wood
|
|
-- - cactus: default:cactus
|
|
-- - steel: default:steel_ingot
|
|
-- - bronze: default:bronze_ingot
|
|
-- - diamond: default:diamond
|
|
-- - gold: default:gold_ingot
|
|
-- - mithril: moreores:mithril_ingot
|
|
-- - crystal: ethereal:crystal_ingot
|
|
-- - nether: nether:nether_ingot
|
|
--
|
|
-- helmet: chestplate: leggings:
|
|
-- ┌───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┐
|
|
-- │ m │ m │ m │ │ m │ │ m │ │ m │ m │ m │
|
|
-- ├───┼───┼───┤ ├───┼───┼───┤ ├───┼───┼───┤
|
|
-- │ m │ │ m │ │ m │ m │ m │ │ m │ │ m │
|
|
-- ├───┼───┼───┤ ├───┼───┼───┤ ├───┼───┼───┤
|
|
-- │ │ │ │ │ m │ m │ m │ │ m │ │ m │
|
|
-- └───┴───┴───┘ └───┴───┴───┘ └───┴───┴───┘
|
|
--
|
|
-- boots: shield:
|
|
-- ┌───┬───┬───┐ ┌───┬───┬───┐
|
|
-- │ │ │ │ │ m │ m │ m │
|
|
-- ├───┼───┼───┤ ├───┼───┼───┤
|
|
-- │ m │ │ m │ │ m │ m │ m │
|
|
-- ├───┼───┼───┤ ├───┼───┼───┤
|
|
-- │ m │ │ m │ │ │ m │ │
|
|
-- └───┴───┴───┘ └───┴───┴───┘
|
|
|
|
local s = "cactus"
|
|
local m = armor.materials.cactus
|
|
minetest.register_craft({
|
|
output = "3d_armor:helmet_"..s,
|
|
recipe = {
|
|
{m, m, m},
|
|
{m, "", m},
|
|
{"", "", ""},
|
|
},
|
|
})
|
|
minetest.register_craft({
|
|
output = "3d_armor:chestplate_"..s,
|
|
recipe = {
|
|
{m, "", m},
|
|
{m, m, m},
|
|
{m, m, m},
|
|
},
|
|
})
|
|
minetest.register_craft({
|
|
output = "3d_armor:leggings_"..s,
|
|
recipe = {
|
|
{m, m, m},
|
|
{m, "", m},
|
|
{m, "", m},
|
|
},
|
|
})
|
|
minetest.register_craft({
|
|
output = "3d_armor:boots_"..s,
|
|
recipe = {
|
|
{m, "", m},
|
|
{m, "", m},
|
|
},
|
|
})
|
|
end
|
|
|
|
-- print to log after mod was loaded successfully
|
|
local load_message = "[MOD] 3D Armor - Armor Cactus loaded"
|
|
if minetest.log then
|
|
minetest.log("info", load_message) -- aims at state of the art MT software
|
|
else
|
|
print (load_message) -- aims at legacy MT software used in the field
|
|
end
|