1
0
mirror of https://github.com/minetest-mods/3d_armor.git synced 2024-09-28 23:40:36 +02:00
3d_armor/armor_crystal/init.lua
Zweihorn 04f9123e98 improved load print patch
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.
2022-12-21 19:20:04 +01:00

179 lines
5.2 KiB
Lua

--- Registered armors.
--
-- @topic armor
-- support for i18n
local S = armor.get_translator
--- Crystal
--
-- Requires `armor_material_crystal`.
--
-- @section crystal
if armor.materials.crystal then
--- Crystal Helmet
--
-- @helmet 3d_armor:helmet_crystal
-- @img 3d_armor_inv_helmet_crystal.png
-- @grp armor_head 1
-- @grp armor_heal 12
-- @grp armor_use 100
-- @grp armor_fire 1
-- @armorgrp fleshy 15
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp level 3
armor:register_armor(":3d_armor:helmet_crystal", {
description = S("Crystal Helmet"),
inventory_image = "3d_armor_inv_helmet_crystal.png",
groups = {armor_head=1, armor_heal=12, armor_use=100, armor_fire=1},
armor_groups = {fleshy=15},
damage_groups = {cracky=2, snappy=1, level=3},
})
--- Crystal Chestplate
--
-- @chestplate 3d_armor:chestplate_crystal
-- @img 3d_armor_inv_chestplate_crystal.png
-- @grp armor_torso 1
-- @grp armor_heal 12
-- @grp armor_use 100
-- @grp armor_fire 1
-- @armorgrp fleshy 20
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp level 3
armor:register_armor(":3d_armor:chestplate_crystal", {
description = S("Crystal Chestplate"),
inventory_image = "3d_armor_inv_chestplate_crystal.png",
groups = {armor_torso=1, armor_heal=12, armor_use=100, armor_fire=1},
armor_groups = {fleshy=20},
damage_groups = {cracky=2, snappy=1, level=3},
})
--- Crystal Leggings
--
-- @leggings 3d_armor:leggings_crystal
-- @img 3d_armor_inv_leggings_crystal.png
-- @grp armor_legs 1
-- @grp armor_heal 12
-- @grp armor_use 100
-- @grp armor_fire 1
-- @armorgrp fleshy 20
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp level 3
armor:register_armor(":3d_armor:leggings_crystal", {
description = S("Crystal Leggings"),
inventory_image = "3d_armor_inv_leggings_crystal.png",
groups = {armor_legs=1, armor_heal=12, armor_use=100, armor_fire=1},
armor_groups = {fleshy=20},
damage_groups = {cracky=2, snappy=1, level=3},
})
--- Crystal Boots
--
-- @boots 3d_armor:boots_crystal
-- @img 3d_armor_inv_boots_crystal.png
-- @grp armor_feet 1
-- @grp armor_heal 12
-- @grp armor_use 100
-- @grp physics_speed 1
-- @grp physics_jump 0.5
-- @grp armor_fire 1
-- @armorgrp fleshy 15
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp level 3
armor:register_armor(":3d_armor:boots_crystal", {
description = S("Crystal Boots"),
inventory_image = "3d_armor_inv_boots_crystal.png",
groups = {armor_feet=1, armor_heal=12, armor_use=100, physics_speed=1,
physics_jump=0.5, armor_fire=1},
armor_groups = {fleshy=15},
damage_groups = {cracky=2, snappy=1, level=3},
})
--- 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 = "crystal"
local m = armor.materials.crystal
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 Crystal 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