Compare commits

...

29 commits

Author SHA1 Message Date
root
e913973650 update 2024-12-20 16:52:44 +01:00
root
4c358cae97 update 2024-12-20 15:35:30 +01:00
root
07c1453dc2 update 2024-12-20 14:33:04 +01:00
root
e68018672c update 2024-12-20 13:07:48 +01:00
root
c33cc778f1 little_fixes 2024-12-19 22:59:49 +01:00
root
92b6efc971 little_fixes 2024-12-19 15:03:11 +01:00
0c7172b177 Aktualizovat setup-mt 2024-12-19 13:37:10 +01:00
root
f11f05a7bb first_try_to_update_after_years 2024-12-19 12:55:40 +01:00
root
ca60e62d70 enable recurse-submodules 2022-02-05 12:30:37 +01:00
root
4f66b7fd4b update 2022-01-16 20:12:39 +01:00
root
b999fa4dc5 update 2022-01-04 16:19:55 +01:00
root
773dd3e119 update 2021-12-27 15:08:16 +01:00
root
f36ea18436 update 2021-12-13 15:04:24 +01:00
root
8069e4cffd update 2021-12-11 12:24:24 +01:00
root
8796c019db update 2021-12-06 17:47:50 +01:00
root
66aabf3909 update 2021-12-05 19:27:15 +01:00
root
d5a3b2480a big_update 2021-12-05 14:17:16 +01:00
root
c343dc620f update 2021-11-16 11:03:22 +01:00
root
d80674055b update 2021-11-06 16:01:45 +01:00
root
fca317a913 update 2021-10-31 12:33:35 +01:00
root
059389f036 update 2021-10-29 13:57:02 +02:00
root
c0ae3551fe update 2021-10-27 12:39:35 +02:00
root
a9bba98e20 update 2021-10-25 14:38:22 +02:00
root
7e3de5f6fc update 2021-10-07 10:05:26 +02:00
root
aee6b25cdd update 2021-10-03 14:58:25 +02:00
root
329d48d26d update 2021-10-02 11:55:17 +02:00
root
2ea8b0dd9f update 2021-09-27 16:46:26 +02:00
root
c62e0c5989 update 2021-09-22 11:53:40 +02:00
root
c5dcd77f43 update 2021-09-21 16:59:25 +02:00
9408 changed files with 115231 additions and 70993 deletions

View file

@ -18,7 +18,7 @@ reset-map-and-players --> reset map and players databases
__Requirements:__
Ubuntu 20.04 (works in LXD)
Ubuntu 20.04/22.04 (works in LXD)
Be in the project directory via cd before you run any scripts!

View file

@ -1,4 +1,5 @@
mt_version="5.4.1"
mt_version="5.10.0"
mt_game_version="5.8.0"
first_install=y
ufw_enable=y
ufw_ssh_port_for_accept=22

124
minetest_mm.lua Normal file
View file

@ -0,0 +1,124 @@
minetest.register_alias("stairs:stair_black", "bakedclay:stair_baked_clay_black")
minetest.log("action", "[minetest_mm] Alias stairs:stair_black -> bakedclay:stair_baked_clay_black registered.")
minetest.register_alias("stairs:stair_yellow", "bakedclay:stair_baked_clay_yellow")
minetest.log("action", "[minetest_mm] Alias stairs:stair_yellow -> bakedclay:stair_baked_clay_yellow registered.")
minetest.register_alias("stairs:stair_white", "bakedclay:stair_baked_clay_white")
minetest.log("action", "[minetest_mm] Alias stairs:stair_white -> bakedclay:stair_baked_clay_white registered.")
minetest.register_alias("stairs:stair_violet", "bakedclay:stair_baked_clay_violet")
minetest.log("action", "[minetest_mm] Alias stairs:stair_violet -> bakedclay:stair_baked_clay_violet registered.")
minetest.register_alias("stairs:stair_red", "bakedclay:stair_baked_clay_red")
minetest.log("action", "[minetest_mm] Alias stairs:stair_red -> bakedclay:stair_baked_clay_red registered.")
minetest.register_alias("stairs:stair_pink", "bakedclay:stair_baked_clay_pink")
minetest.log("action", "[minetest_mm] Alias stairs:stair_pink -> bakedclay:stair_baked_clay_pink registered.")
minetest.register_alias("stairs:stair_natural", "bakedclay:stair_baked_clay_natural")
minetest.log("action", "[minetest_mm] Alias stairs:stair_natural -> bakedclay:stair_baked_clay_natural registered.")
minetest.register_alias("stairs:stair_magenta", "bakedclay:stair_baked_clay_magenta")
minetest.log("action", "[minetest_mm] Alias stairs:stair_magenta -> bakedclay:stair_baked_clay_magenta registered.")
minetest.register_alias("stairs:stair_grey", "bakedclay:stair_baked_clay_grey")
minetest.log("action", "[minetest_mm] Alias stairs:stair_grey -> bakedclay:stair_baked_clay_grey registered.")
minetest.register_alias("stairs:stair_green", "bakedclay:stair_baked_clay_green")
minetest.log("action", "[minetest_mm] Alias stairs:stair_green -> bakedclay:stair_baked_clay_green registered.")
minetest.register_alias("stairs:stair_cyan", "bakedclay:stair_baked_clay_cyan")
minetest.log("action", "[minetest_mm] Alias stairs:stair_cyan -> bakedclay:stair_baked_clay_cyan registered.")
minetest.register_alias("stairs:stair_brown", "bakedclay:stair_baked_clay_brown")
minetest.log("action", "[minetest_mm] Alias stairs:stair_brown -> bakedclay:stair_baked_clay_brown registered.")
minetest.register_alias("stairs:stair_blue", "bakedclay:stair_baked_clay_blue")
minetest.log("action", "[minetest_mm] Alias stairs:stair_blue -> bakedclay:stair_baked_clay_blue registered.")
minetest.register_alias("stairs:stair_dark_green", "bakedclay:stair_baked_clay_dark_green")
minetest.log("action", "[minetest_mm] Alias stairs:stair_dark_green -> bakedclay:stair_baked_clay_dark_green registered.")
minetest.register_alias("stairs:stair_dark_grey", "bakedclay:stair_baked_clay_dark_grey")
minetest.log("action", "[minetest_mm] Alias stairs:stair_dark_grey -> bakedclay:stair_baked_clay_dark_grey registered.")
minetest.register_alias("stairs:slab_apple_tree_planks", "moretrees:slab_apple_tree_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_apple_tree_planks -> moretrees:slab_apple_tree_planks registered.")
minetest.register_alias("stairs:slab_beech_planks", "moretrees:slab_beech_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_beech_planks -> moretrees:slab_beech_planks registered.")
minetest.register_alias("stairs:slab_birch_planks", "moretrees:slab_birch_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_birch_planks -> moretrees:slab_birch_planks registered.")
minetest.register_alias("stairs:slab_cedar_planks", "moretrees:slab_cedar_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_cedar_planks -> moretrees:slab_cedar_planks registered.")
minetest.register_alias("stairs:slab_date_palm_planks", "moretrees:slab_date_palm_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_date_palm_planks -> moretrees:slab_date_palm_planks registered.")
minetest.register_alias("stairs:slab_fir_planks", "moretrees:slab_fir_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_fir_planks -> moretrees:slab_fir_planks registered.")
minetest.register_alias("stairs:slab_oak_planks", "moretrees:slab_oak_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_oak_planks -> moretrees:slab_oak_planks registered.")
minetest.register_alias("stairs:slab_palm_planks", "moretrees:slab_palm_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_palm_planks -> moretrees:slab_palm_planks registered.")
minetest.register_alias("stairs:slab_poplar_planks", "moretrees:slab_poplar_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_poplar_planks -> moretrees:slab_poplar_planks registered.")
minetest.register_alias("stairs:slab_rubber_tree_planks", "moretrees:slab_rubber_tree_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_rubber_tree_planks -> moretrees:slab_rubber_tree_planks registered.")
minetest.register_alias("stairs:slab_sequoia_planks", "moretrees:slab_sequoia_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_sequoia_planks -> moretrees:slab_sequoia_planks registered.")
minetest.register_alias("stairs:slab_spruce_planks", "moretrees:slab_spruce_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_spruce_planks -> moretrees:slab_spruce_planks registered.")
minetest.register_alias("stairs:slab_willow_planks", "moretrees:slab_willow_planks")
minetest.log("action", "[minetest_mm] Alias stairs:slab_willow_planks -> moretrees:slab_willow_planks registered.")
minetest.register_alias("stairs:stair_apple_tree_planks", "moretrees:stair_apple_tree_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_apple_tree_planks -> moretrees:stair_apple_tree_planks registered.")
minetest.register_alias("stairs:stair_beech_planks", "moretrees:stair_beech_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_beech_planks -> moretrees:stair_beech_planks registered.")
minetest.register_alias("stairs:stair_birch_planks", "moretrees:stair_birch_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_birch_planks -> moretrees:stair_birch_planks registered.")
minetest.register_alias("stairs:stair_cedar_planks", "moretrees:stair_cedar_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_cedar_planks -> moretrees:stair_cedar_planks registered.")
minetest.register_alias("stairs:stair_date_palm_planks", "moretrees:stair_date_palm_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_date_palm_planks -> moretrees:stair_date_palm_planks registered.")
minetest.register_alias("stairs:stair_fir_planks", "moretrees:stair_fir_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_fir_planks -> moretrees:stair_fir_planks registered.")
minetest.register_alias("stairs:stair_oak_planks", "moretrees:stair_oak_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_oak_planks -> moretrees:stair_oak_planks registered.")
minetest.register_alias("stairs:stair_palm_planks", "moretrees:stair_palm_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_palm_planks -> moretrees:stair_palm_planks registered.")
minetest.register_alias("stairs:stair_poplar_planks", "moretrees:stair_poplar_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_poplar_planks -> moretrees:stair_poplar_planks registered.")
minetest.register_alias("stairs:stair_rubber_tree_planks", "moretrees:stair_rubber_tree_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_rubber_tree_planks -> moretrees:stair_rubber_tree_planks registered.")
minetest.register_alias("stairs:stair_sequoia_planks", "moretrees:stair_sequoia_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_sequoia_planks -> moretrees:stair_sequoia_planks registered.")
minetest.register_alias("stairs:stair_spruce_planks", "moretrees:stair_spruce_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_spruce_planks -> moretrees:stair_spruce_planks registered.")
minetest.register_alias("stairs:stair_willow_planks", "moretrees:stair_willow_planks")
minetest.log("action", "[minetest_mm] Alias stairs:stair_willow_planks -> moretrees:stair_willow_planks registered.")

View file

@ -3,149 +3,159 @@ rm -rf mods
mkdir mods
cd mods
git clone --depth 1 --branch master https://github.com/minetest-mods/3d_armor.git
git clone --depth 1 --branch master https://github.com/minetest-mods/unified_inventory.git
git clone --depth 1 --branch master https://github.com/minetest-mods/unifiedbricks.git
git clone --depth 1 --branch master https://github.com/minetest-mods/moreblocks.git
git clone --depth 1 --branch master https://github.com/minetest-mods/moreores.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mywalls.git
git clone --depth 1 --branch master https://github.com/minetest-mods/xdecor.git
git clone --depth 1 --branch master https://github.com/minetest-mods/vehicle_mash.git
git clone --depth 1 --branch master https://github.com/minetest-mods/lib_mount
git clone --depth 1 --branch master https://github.com/minetest-mods/workbench.git
git clone --depth 1 --branch master https://github.com/minetest-mods/ts_furniture.git
git clone --depth 1 --branch master https://github.com/minetest-mods/playeranim.git
git clone --depth 1 --branch master https://github.com/minetest-mods/skinsdb.git
git clone --depth 1 --branch master https://github.com/minetest-mods/letters.git
git clone --depth 1 --branch master https://github.com/minetest-mods/ts_doors.git
git clone --depth 1 --branch master https://github.com/minetest-mods/trash_can.git
git clone --depth 1 --branch master https://github.com/minetest-mods/throwing_arrows.git
git clone --depth 1 --branch master https://github.com/minetest-mods/throwing.git
git clone --depth 1 --branch master https://github.com/minetest-mods/stained_glass.git
git clone --depth 1 --branch master https://github.com/minetest-mods/xban2.git
git clone --depth 1 --branch master https://github.com/minetest-mods/drinks.git
git clone --depth 1 --branch master https://github.com/minetest-mods/jukebox.git
git clone --depth 1 --branch master https://github.com/minetest-mods/carpets.git
git clone --depth 1 --branch master https://github.com/minetest-mods/chat2.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mymillwork.git
git clone --depth 1 --branch master https://github.com/minetest-mods/signs_api.git
git clone --depth 1 --branch master https://github.com/minetest-mods/crops.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mtfoods.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mysheetmetal.git
git clone --depth 1 --branch master https://github.com/minetest-mods/ts_workshop.git
git clone --depth 1 --branch master https://github.com/minetest-mods/myroofs.git
git clone --depth 1 --branch master https://github.com/minetest-mods/ts_paper.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mydeck.git
git clone --depth 1 --branch master https://github.com/minetest-mods/enchanting.git
git clone --depth 1 --branch master https://github.com/minetest-mods/interact.git
git clone --depth 1 --branch master https://github.com/minetest-mods/stargate.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mypaths.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mycorners.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mymasonhammer.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mywoodslopes.git
git clone --depth 1 --branch master https://github.com/minetest-mods/display_api.git
git clone --depth 1 --branch master https://github.com/minetest-mods/font_api.git
git clone --depth 1 --branch master https://github.com/minetest-mods/trees_lib.git
git clone --depth 1 --branch master https://github.com/minetest-mods/intllib.git
git clone --depth 1 --branch master https://github.com/minetest-mods/more_chests.git
git clone --depth 1 --branch master https://github.com/minetest-mods/flowerpot.git
git clone --depth 1 --branch master https://github.com/minetest-mods/cloud_items.git
git clone --depth 1 --branch master https://github.com/minetest-mods/compost.git
git clone --depth 1 --branch master https://github.com/minetest-mods/death_compass.git
git clone --depth 1 --branch master https://github.com/minetest-mods/smartfs.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/unifieddyes.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/basic_materials.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/biome_lib.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/moretrees.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/homedecor_modpack.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/signs_lib.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/currency.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/plantlife_modpack.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/new_campfire.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/coloredwood.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/basic_signs.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/roads.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/blox.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/plasticbox.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/charcoal.git
git clone --depth 1 --branch master https://github.com/Sokomine/windmill.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/farming.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/protector.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/playerplus.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/mobs_npc.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/mobs_redo.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/mobs_water.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/mobs_monster.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/mobs_animal.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/mob_horse.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/bows.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/builtin_item.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/bonemeal.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/stamina.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/wine.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/bees.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/wool.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/regrow.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/ambience.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/bakedclay.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/stairs.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/anvils.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/carts.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/doors.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/pie.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/castle.git
git clone --depth 1 --branch master https://notabug.org/TenPlus1/mobs_sky.git
git clone --depth 1 --branch master https://github.com/Uberi/Minetest-WorldEdit.git
git clone --depth 1 --branch master https://github.com/minetest-mods/realchess.git
git clone --depth 1 --branch master https://github.com/Grizzly-Adam/BBQ.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mydoors.git
git clone --depth 1 --branch master https://github.com/TumeniNodes/angledwalls.git
git clone --depth 1 --branch master https://github.com/pyrollo/display_modpack.git
git clone --depth 1 --branch master https://github.com/Sokomine/cottages.git
git clone --depth 1 --branch master https://github.com/joe7575/techpack.git
git clone --depth 1 --branch master https://github.com/random-geek/morelights.git
git clone --depth 1 --branch master https://repo.or.cz/minetest_mtg_plus.git
git clone --depth 1 --branch master https://github.com/minetest-mods/spectator_mode.git
git clone --depth 1 --branch master https://github.com/Extex101/christmas.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/gloopblocks.git
git clone --depth 1 --branch master https://github.com/minetest-mods/mylandscaping.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/minislots.git
git clone --depth 1 --branch master https://github.com/v-rob/bridger.git
git clone --depth 1 --branch master https://github.com/AiTechEye/smartshop.git
git clone --depth 1 --branch master https://repo.or.cz/minetest_colorcubes.git
git clone --depth 1 --branch master https://github.com/DonBatman/myboardgames.git
git clone --depth 1 --branch master https://gitlab.com/VanessaE/ilights.git
git clone --depth 1 --branch master https://github.com/TumeniNodes/angledstairs.git
git clone --depth 1 --branch master https://github.com/TumeniNodes/artdeco.git
git clone --depth 1 --branch master https://github.com/TumeniNodes/facade.git
git clone --depth 1 --branch master https://github.com/TumeniNodes/stoneworks.git
git clone --depth 1 --branch master https://github.com/Delaroyas/simplyslopes.git
git clone --depth 1 --branch master https://github.com/joe7575/tubelib2.git
git clone --depth 1 --branch master https://github.com/Ezhh/abriflame.git
git clone --depth 1 --branch master https://github.com/Ezhh/abriglass.git
git clone --depth 1 --branch master https://github.com/brittm3/Minetest-lpanes.git
git clone --depth 1 --branch master https://github.com/qwrwed/lightsplus.git
git clone --depth 1 --branch master https://github.com/khonkhortisan/rubiks.git
git clone --branch master https://git.bananach.space/advtrains.git
git clone --depth 1 --branch master https://github.com/Dragonop/claycrafter
git clone --depth 1 --branch master https://notabug.org/NetherEran/hot_air_balloons.git
git clone --branch master https://cheapiesystems.com/git/prefab_redo
git clone --branch master https://cheapiesystems.com/git/mail
git clone --branch master https://gitlab.com/VanessaE/home_workshop_modpack.git
git clone --branch master https://git.bananach.space/basic_trains.git
#Clean git stuff
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/digilines.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mesecons.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/xcompat.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/3d_armor.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/unified_inventory.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/unifiedbricks.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/moreblocks.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/moreores.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mywalls.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/xdecor.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/vehicle_mash.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/lib_mount
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/workbench.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/ts_furniture.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/playeranim.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/skinsdb.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/letters.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/ts_doors.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/trash_can.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/throwing_arrows.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/throwing.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/stained_glass.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/xban2.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/drinks.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/jukebox.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/carpets.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/chat2.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mymillwork.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/signs_api.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/crops.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mtfoods.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mysheetmetal.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/ts_workshop.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/myroofs.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/ts_paper.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mydeck.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/enchanting.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/interact.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/stargate.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mypaths.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mycorners.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mymasonhammer.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mywoodslopes.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/display_api.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/font_api.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/trees_lib.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/intllib.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/more_chests.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/flowerpot.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/cloud_items.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/compost.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/death_compass.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/smartfs.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/unifieddyes.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/basic_materials.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/biome_lib.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/moretrees.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/homedecor_modpack.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/signs_lib.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/currency.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/plantlife_modpack.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/new_campfire.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/coloredwood.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/basic_signs.git
git clone --recurse-submodules --depth 1 --branch master https://cheapiesystems.com/git/roads
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/blox.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/cheapie/plasticbox.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/torusJKL/charcoal.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/Sokomine/windmill.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/farming.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/protector.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/playerplus.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/mobs_npc.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/mobs_redo.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/mobs_water.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/mobs_monster.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/mobs_animal.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/mob_horse.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/bows.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/builtin_item.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/bonemeal.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/stamina.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/wine.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/bees.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/wool.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/regrow.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/ambience.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/bakedclay.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/stairs.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/anvils.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/carts.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/doors.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/pie.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/castle.git
git clone --recurse-submodules --depth 1 --branch master https://codeberg.org/tenplus1/mobs_sky.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/Uberi/Minetest-WorldEdit.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/realchess.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/Grizzly-Adam/BBQ.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mydoors.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/TumeniNodes/angledwalls.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/pyrollo/display_modpack.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/Sokomine/cottages.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/joe7575/techpack.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/random-geek/morelights.git
git clone --recurse-submodules --depth 1 --branch master https://repo.or.cz/minetest_mtg_plus.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/spectator_mode.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/Extex101/christmas.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/gloopblocks.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/minetest-mods/mylandscaping.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/minislots.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/v-rob/bridger.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/AiTechEye/smartshop.git
git clone --recurse-submodules --depth 1 --branch master https://repo.or.cz/minetest_colorcubes.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/DonBatman/myboardgames.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/mt-mods/ilights.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/TumeniNodes/angledstairs.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/TumeniNodes/artdeco.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/TumeniNodes/facade.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/TumeniNodes/stoneworks.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/Delaroyas/simplyslopes.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/joe7575/tubelib2.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/Ezhh/abriflame.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/Ezhh/abriglass.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/brittm3/Minetest-lpanes.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/qwrwed/lightsplus.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/khonkhortisan/rubiks.git
git clone --recurse-submodules --branch master https://git.bananach.space/advtrains.git
git clone --recurse-submodules --depth 1 --branch master https://github.com/Dragonop/claycrafter
git clone --recurse-submodules --depth 1 --branch master https://notabug.org/NetherEran/hot_air_balloons.git
git clone --recurse-submodules --branch master https://cheapiesystems.com/git/prefab_redo
git clone --recurse-submodules --branch master https://cheapiesystems.com/git/mail
git clone --recurse-submodules --branch master https://github.com/mt-mods/home_workshop_modpack.git
git clone --recurse-submodules --branch master https://git.bananach.space/basic_trains.git
echo "Cleaning some git stuff"
rm -rf $(find . -name .git*)
#Make some fixes
#1
if [[ $(grep -R "run_at_every_load = false" homedecor_modpack/homedecor_kitchen/init.lua | wc -l) = 1 ]]
then
echo "Applying fix for unknown kitchen_cabinet blocks: https://git.my-web.xyz/milan/minetest-mm/issues/34"
echo "This fix can be removed after some time"
sed -i 's/run_at_every_load = false,/run_at_every_load = true,/' homedecor_modpack/homedecor_kitchen/init.lua
fi
#update skins-db
echo "Disabling plasticbox homedecor dependency"
sed -i 's/homedecor/homedecor?/' plasticbox/depends.txt
echo "Removing bugged cloud_car"
sed -i 's/loadfile(minetest.get_modpath(minetest.get_current_modname()) .. "\/car.lua")(table.copy(car_def))//' cloud_items/init.lua
rm -f cloud_items/car.lua
echo "Installing minetest_mm mod for some fixes"
mkdir minetest_mm
cp ../minetest_mm.lua minetest_mm/init.lua
echo "Updating skins-db"
cd skinsdb/updater
python3 update_skins.py

View file

@ -1,5 +1,5 @@
load_mod_interact = false
load_mod_christmas = false
load_mod_christmas = true
load_mod_advtrains_luaautomation = false
load_mod_advtrains_interlocking = false
load_mod_advtrains_line_automation = false
@ -16,7 +16,6 @@ load_mod_letters = true
load_mod_trafficlight = true
load_mod_jukebox = true
load_mod_tubelib_addons1 = true
load_mod_plasmascreen = true
load_mod_mobs_npc = true
load_mod_my_future_doors = true
load_mod_itemframes = true
@ -29,7 +28,6 @@ load_mod_builtin_item = true
load_mod_homedecor_exterior = true
load_mod_flowerpot = true
load_mod_3d_armor_stand = true
load_mod_junglegrass = true
load_mod_mobs_crocs = true
load_mod_homedecor_electrical = true
load_mod_homedecor_doors_and_gates = true
@ -47,7 +45,6 @@ load_mod_nature_classic = true
load_mod_homedecor_clocks = true
load_mod_signs_road = true
load_mod_homedecor_cobweb = true
load_mod_along_shore = true
load_mod_artdeco = true
load_mod_carts = true
load_mod_mobs_butterfly = true
@ -76,9 +73,7 @@ load_mod_bbq = true
load_mod_wieldview = true
load_mod_death_compass = true
load_mod_facade = true
load_mod_inbox = true
load_mod_cloud_items = true
load_mod_flowers_plus = true
load_mod_bows = true
load_mod_3dmushrooms = true
load_mod_minislots_engine = true
@ -264,7 +259,6 @@ load_mod_serialize_lib = true
load_mod_hot_air_balloons = true
load_mod_mobs_bat = true
load_mod_home_workshop_machines = true
load_mod_home_workshop_common = true
load_mod_home_workshop_misc = true
load_mod_computers = true
load_mod_advtrains_assets = true
@ -272,3 +266,55 @@ load_mod_advtrains_train_subway = true
load_mod_advtrains_train_japan = true
load_mod_advtrains_train_industrial = true
load_mod_advtrains_train_steam = true
load_mod_home_vending_machines = true
load_mod_pl_sunflowers = true
load_mod_pl_seaweed = true
load_mod_pl_waterlilies = true
load_mod_homedecor_inbox = true
load_mod_armor_steel = true
load_mod_armor_nether = true
load_mod_armor_mithril = true
load_mod_armor_gold = true
load_mod_armor_diamond = true
load_mod_armor_cactus = true
load_mod_armor_bronze = true
load_mod_armor_admin = true
load_mod_armor_crystal = true
load_mod_homedecor_plasmascreen = true
load_mod_armor_wood = true
load_mod_xcompat = true
load_mod_mesecons_wires = true
load_mod_mesecons_walllever = true
load_mod_mesecons_torch = true
load_mod_mesecons_solarpanel = true
load_mod_mesecons_random = true
load_mod_mesecons_pressureplates = true
load_mod_mesecons_powerplant = true
load_mod_mesecons_pistons = true
load_mod_mesecons_mvps = true
load_mod_mesecons_luacontroller = true
load_mod_mesecons_movestones = true
load_mod_mesecons_lightstone = true
load_mod_mesecons_lamp = true
load_mod_mesecons_insulated = true
load_mod_mesecons_gates = true
load_mod_mesecons_extrawires = true
load_mod_mesecons_detector = true
load_mod_mesecons_delayer = true
load_mod_mesecons_commandblock = true
load_mod_mesecons_button = true
load_mod_mesecons_blinkyplant = true
load_mod_digilines = true
load_mod_mesecons_microcontroller = true
load_mod_mesecons_gamecompat = true
load_mod_mesecons_alias = true
load_mod_mesecons_receiver = true
load_mod_mesecons_fpga = true
load_mod_mesecons = true
load_mod_mesecons_materials = true
load_mod_mesecons_hydroturbine = true
load_mod_mesecons_switch = true
load_mod_mesecons_stickyblocks = true
load_mod_mesecons_noteblock = true
load_mod_mesecons_doors = true
load_mod_minetest_mm = true

View file

@ -0,0 +1,39 @@
--- 3D Armor Crafting
--
-- @topic crafting
--- 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 │ │
-- └───┴───┴───┘ └───┴───┴───┘

View file

@ -31,7 +31,7 @@ rm -rf "${d_export}"
# generate items, settings, & crafts topics temp files
echo -e "\ngenerating temp files ..."
for script in "src" "settings" "crafts"; do
for script in src settings; do
script="${d_ldoc}/parse_${script}.py"
if test ! -f "${script}"; then
echo "ERROR: script doesn't exist: ${script}"
@ -48,7 +48,7 @@ done
echo
# generate new doc files
"${cmd_ldoc}" --UNSAFE_NO_SANDBOX -c "${f_config}" -d "${d_export}" "${d_root}"; retval=$?
"${cmd_ldoc}" --unsafe_no_sandbox -c "${f_config}" -d "${d_export}" "${d_root}"; retval=$?
# check exit status
if test ${retval} -ne 0; then
@ -57,7 +57,7 @@ if test ${retval} -ne 0; then
fi
echo -e "\ncleaning temp files ..."
rm -vf "${d_ldoc}/"*.luadoc
find "${d_ldoc}" -type f -name "*.luadoc" ! -name "crafting.luadoc" -exec rm -vf {} +
# HACK: ldoc does not seem to like the "shields:" prefix
echo -e "\ncompensating for LDoc's issue with \"shields:\" prefix ..."
@ -72,7 +72,7 @@ sed -i \
printf "\ncopying textures ..."
mkdir -p "${d_data}"
texture_count=0
for d_mod in "3d_armor" "shields"; do
for d_mod in armor_* shields; do
printf "\rcopying textures from ${d_mod} ...\n"
for png in $(find "${d_root}/${d_mod}/textures" -maxdepth 1 -type f -name "*.png"); do
if test -f "${d_data}/$(basename ${png})"; then

View file

@ -1,46 +0,0 @@
#!/usr/bin/env python
# This script will parse source files for craft recipes.
import sys, os, codecs, errno
path = os.path.realpath(__file__)
script = os.path.basename(path)
d_root = os.path.dirname(os.path.dirname(path))
d_ldoc = os.path.join(d_root, ".ldoc")
craftfile = os.path.realpath(os.path.join(d_root, "3d_armor/armor.lua"))
if not os.path.isfile(craftfile):
print("ERROR: craft file does not exist for parsing: {}".format(craftfile))
sys.exit(errnor.ENOENT)
buffer = codecs.open(craftfile, "r", "utf-8")
if not buffer:
print("ERROR: could not open file for reading: {}".format(craftfile))
sys.exit(errno.EIO)
data_in = buffer.read()
buffer.close()
craft = ""
data_in = data_in.replace("\r\n", "\n").replace("\r", "\n")
for sect in data_in.split("\n---"):
if "@craft armor" in sect:
sect = "---{}".format(sect)
for li in sect.split("\n"):
if li.startswith("--"):
craft = "{}\n{}".format(craft, li)
outfile = os.path.join(d_ldoc, "crafting.luadoc")
buffer = codecs.open(outfile, "w", "utf-8")
if not buffer:
print("ERROR: could not open file for writing: {}".format(outfile))
sys.exit(errno.EIO)
buffer.write("\n--- 3D Armor Crafting\n--\n-- @topic crafting\n\n{}\n".format(craft))
buffer.close()
print("crafts exported to\t{}".format(outfile))

View file

@ -18,6 +18,7 @@ read_globals = {
-- deps
"default",
"player_api",
"minetest",
"unified_inventory",
"wardrobe",

View file

@ -1,26 +0,0 @@
[mod] 3d Armor [3d_armor]
=========================
License Source Code
-------------------
Copyright (C) 2012-2019 stujones11, Stuart Jones <stujones111@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
License Textures
----------------
Copyright (C) 2017-2019 davidthecreator - CC-BY-SA 3.0

View file

@ -6,7 +6,7 @@
|-[Armor Configuration](#armor-configuration) |||- - [3d_Armor Item Storage](#3d_armor-item-storage)
|- - [disable_specific_materials](#to-disable-individual-armor-materials) |||- - [Armor Registration](#armor-registration)
|- - [armor_init_delay](#initialization-glitches-when-a-player-first-joins) |||- - [Registering Armor Groups](#registering-armor-groups)
|- - [armor_init_times](#number-of-initialization-attempts) |||- - [Groups used by 3d_Armor](#groups-used-by-3d_armor)
|- - [wieldview_update_time](#how-often-player-wield-items-are-updated) |||- - [Groups used by 3d_Armor](#groups-used-by-3d_armor)
|- - [armor_bones_delay](#armor-not-in-bones-due-to-server-lag) |||- - - [Elements](#elements)
|- - [armor_update_time](#how-often-player-armor-items-are-updated) |||- - - [Attributes](#attributes)
|- - [armor_drop](#drop-armor-when-a-player-dies) |||- - - [Physics](#physics)
@ -19,7 +19,7 @@
|- - [armor_fire_protect](#enable-fire-protection) |||- - - [armor:remove_all](#armor-remove_all)
|- - [armor_punch_damage](#enable-punch-damage-effects) |||- - - [armor:equip](#armor-equip)
|- - [armor_migrate_old_inventory](#migration-of-old-armor-inventories) |||- - - [armor:unequip](#armor-unequip)
|- - [wieldview_update_time](#how-often-player-wield-items-are-updated) |||- - - [armor:update_skin](#armor-update_skin)
| |||- - - [armor:update_skin](#armor-update_skin)
|-[Credits](#credits) |||- - [Callbacks](#Callbacks)
| |||- - - [Item callbacks](#item-callbacks)
| |||- - - [Global callbacks](#global-callbacks)
@ -53,17 +53,13 @@ Change the following default settings by going to Main Menu>>Settings(Tab)>>All
armor_material_gold = true
armor_material_mithril = true
armor_material_crystal = true
armor_material_nether = true
### Initialization glitches when a player first joins
**Increase to prevent glitches**
armor_init_delay = 2
### Number of initialization attempts
**Increase to prevent glitches - Use in conjunction with armor_init_delay if initialization problems persist.**
armor_init_times = 10
### Armor not in bones due to server lag
**Increase to help resolve**
@ -253,7 +249,7 @@ The above allows armor to block/prevent new damage types but you also need to as
## Groups used by 3d_Armor
3d_armor has many default groups already registered, these are categorized under 4 main headings
- **Elements:** armor_head, armor_torso, armor_legs, armor_feet
- **Attributes:** armor_heal, armor_fire, armor_water
- **Attributes:** armor_heal, armor_fire, armor_water, armor_feather
- **Physics:** physics_jump, physics_speed, physics_gravity
- **Durability:** armor_use, flammable
@ -333,6 +329,9 @@ The below Diamond chestplate has a 12% chance to completely block all damage (ar
damage_groups = {cracky=2, snappy=1, choppy=1, level=3},
})
#### Armor_feather
***"Armor_feather"*** will slow a player when falling. This only has one level or state, which is armor_feather=1
### Physics
The physics attributes supported by 3d_armor are ***physics_jump, physics_speed and physics_gravity***. Although 3d_armor supports the use of this with no other mods it is recommended that the mod [player_monoids](https://forum.minetest.net/viewtopic.php?t=14895) is used to help with intermod compatability.

View file

@ -112,7 +112,7 @@ armor = {
timer = 0,
elements = {"head", "torso", "legs", "feet"},
physics = {"jump", "speed", "gravity"},
attributes = {"heal", "fire", "water"},
attributes = {"heal", "fire", "water", "feather"},
formspec = "image[2.5,0;2,4;armor_preview]"..
default.gui_bg..
default.gui_bg_img..
@ -132,6 +132,7 @@ armor = {
gold = "default:gold_ingot",
mithril = "moreores:mithril_ingot",
crystal = "ethereal:crystal_ingot",
nether = "nether:nether_ingot",
},
fire_nodes = {
{"nether:lava_source", 5, 8},
@ -161,7 +162,6 @@ armor = {
armor.config = {
init_delay = 2,
init_times = 10,
bones_delay = 1,
update_time = 1,
drop = minetest.get_modpath("bones") ~= nil,
@ -176,11 +176,13 @@ armor.config = {
material_gold = true,
material_mithril = true,
material_crystal = true,
material_nether = true,
set_elements = "head torso legs feet shield",
set_multiplier = 1.1,
water_protect = true,
fire_protect = minetest.get_modpath("ethereal") ~= nil,
fire_protect_torch = minetest.get_modpath("ethereal") ~= nil,
feather_fall = true,
punch_damage = true,
}
@ -350,7 +352,7 @@ armor.update_player_visuals = function(self, player)
end
local name = player:get_player_name()
if self.textures[name] then
default.player_set_textures(player, {
player_api.set_textures(player, {
self.textures[name].skin,
self.textures[name].armor,
self.textures[name].wielditem,
@ -371,7 +373,7 @@ armor.set_player_armor = function(self, player)
local state = 0
local count = 0
local preview = armor:get_preview(name)
local texture = "3d_armor_trans.png"
local texture = "blank.png"
local physics = {}
local attributes = {}
local levels = {}
@ -413,7 +415,7 @@ armor.set_player_armor = function(self, player)
end
-- DEPRECATED, use armor_groups instead
if def.groups["armor_radiation"] and levels["radiation"] then
levels["radiation"] = def.groups["armor_radiation"]
levels["radiation"] = levels["radiation"] + def.groups["armor_radiation"]
end
end
local item = stack:get_name()
@ -488,10 +490,13 @@ armor.set_player_armor = function(self, player)
armor_monoid.monoid:add_change(player, change, "3d_armor:armor")
else
-- Preserve immortal group (damage disabled for player)
local immortal = player:get_armor_groups().immortal
local player_groups = player:get_armor_groups()
local immortal = player_groups.immortal
if immortal and immortal ~= 0 then
groups.immortal = 1
end
-- Preserve fall_damage_add_percent group (fall damage modifier)
groups.fall_damage_add_percent = player_groups.fall_damage_add_percent
player:set_armor_groups(groups)
end
if use_player_monoids then
@ -625,6 +630,9 @@ end
armor.damage = function(self, player, index, stack, use)
local old_stack = ItemStack(stack)
local worn_armor = armor:get_weared_armor_elements(player)
if not worn_armor then
return
end
local armor_worn_cnt = 0
for k,v in pairs(worn_armor) do
armor_worn_cnt = armor_worn_cnt + 1
@ -675,6 +683,10 @@ armor.equip = function(self, player, itemstack)
for i=1, armor_inv:get_size("armor") do
local stack = armor_inv:get_stack("armor", i)
if self:get_element(stack:get_name()) == armor_element then
--prevents equiping an armor that would unequip a cursed armor.
if minetest.get_item_group(stack:get_name(), "cursed") ~= 0 then
return itemstack
end
index = i
self:unequip(player, armor_element)
break
@ -707,11 +719,14 @@ armor.unequip = function(self, player, armor_element)
if self:get_element(stack:get_name()) == armor_element then
armor_inv:set_stack("armor", i, "")
minetest.after(0, function()
local inv = player:get_inventory()
if inv:room_for_item("main", stack) then
inv:add_item("main", stack)
else
minetest.add_item(player:get_pos(), stack)
local pplayer = minetest.get_player_by_name(name)
if pplayer then -- player is still online
local inv = pplayer:get_inventory()
if inv:room_for_item("main", stack) then
inv:add_item("main", stack)
else
minetest.add_item(pplayer:get_pos(), stack)
end
end
end)
self:run_callbacks("on_unequip", player, i, stack)
@ -796,9 +811,6 @@ end
-- @tparam[opt] bool listring Use `listring` formspec element (default: `false`).
-- @treturn string Formspec formatted string.
armor.get_armor_formspec = function(self, name, listring)
if armor.def[name].init_time == 0 then
return "label[0,0;Armor not initialized!]"
end
local formspec = armor.formspec..
"list[detached:"..name.."_armor;armor;0,0.5;2,3;]"
if listring == true then
@ -927,6 +939,10 @@ armor.get_valid_player = function(self, player, msg)
minetest.log("warning", ("3d_armor%s: Player reference is nil"):format(msg))
return
end
if type(player) ~= "userdata" then
-- Fake player, fail silently
return
end
local name = player:get_player_name()
if not name then
minetest.log("warning", ("3d_armor%s: Player name is nil"):format(msg))

View file

@ -15,6 +15,7 @@ ARMOR_MATERIALS = {
gold = "default:gold_ingot",
mithril = "moreores:mithril_ingot",
crystal = "ethereal:crystal_ingot",
nether = "nether:nether_ingot",
}
-- Enable fire protection (defaults true if using ethereal mod)
@ -34,10 +35,6 @@ ARMOR_FIRE_NODES = {
-- Increase this if you get initialization glitches when a player first joins.
ARMOR_INIT_DELAY = 1
-- Number of initialization attempts.
-- Use in conjunction with ARMOR_INIT_DELAY if initialization problems persist.
ARMOR_INIT_TIMES = 1
-- Increase this if armor is not getting into bones due to server lag.
ARMOR_BONES_DELAY = 1

View file

@ -1,940 +0,0 @@
--- Registered armors.
--
-- @topic armor
-- support for i18n
local S = armor.get_translator
--- Admin Helmet
--
-- @helmet 3d_armor:helmet_admin
-- @img 3d_armor_inv_helmet_admin.png
-- @grp armor_head 1
-- @grp armor_heal 100
-- @grp armor_use 0
-- @grp armor_water 1
-- @grp not_in_creative_inventory 1
-- @armorgrp fleshy 100
armor:register_armor("3d_armor:helmet_admin", {
description = S("Admin Helmet"),
inventory_image = "3d_armor_inv_helmet_admin.png",
armor_groups = {fleshy=100},
groups = {armor_head=1, armor_heal=100, armor_use=0, armor_water=1,
not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
--- Admin Chestplate
--
-- @chestplate 3d_armor:chestplate_admin
-- @img 3d_armor_inv_chestplate_admin.png
-- @grp armor_torso 1
-- @grp armor_heal 100
-- @grp armor_use 0
-- @grp not_in_creative_inventory 1
-- @armorgrp fleshy 100
armor:register_armor("3d_armor:chestplate_admin", {
description = S("Admin Chestplate"),
inventory_image = "3d_armor_inv_chestplate_admin.png",
armor_groups = {fleshy=100},
groups = {armor_torso=1, armor_heal=100, armor_use=0,
not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
--- Admin Leggings
--
-- @leggings 3d_armor:leggings_admin
-- @img 3d_armor_inv_leggings_admin.png
-- @grp armor_legs 1
-- @grp armor_heal 100
-- @grp armor_use 0
-- @grp not_in_creative_inventory 1
-- @armorgrp fleshy 100
armor:register_armor("3d_armor:leggings_admin", {
description = S("Admin Leggings"),
inventory_image = "3d_armor_inv_leggings_admin.png",
armor_groups = {fleshy=100},
groups = {armor_legs=1, armor_heal=100, armor_use=0,
not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
--- Admin Boots
--
-- @boots 3d_armor:boots_admin
-- @img 3d_armor_inv_boots_admin.png
-- @grp armor_feet 1
-- @grp armor_heal 100
-- @grp armor_use 0
-- @grp not_in_creative_inventory 1
-- @armorgrp fleshy 100
armor:register_armor("3d_armor:boots_admin", {
description = S("Admin Boots"),
inventory_image = "3d_armor_inv_boots_admin.png",
armor_groups = {fleshy=100},
groups = {armor_feet=1, armor_heal=100, armor_use=0,
not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
minetest.register_alias("adminboots", "3d_armor:boots_admin")
minetest.register_alias("adminhelmet", "3d_armor:helmet_admin")
minetest.register_alias("adminchestplate", "3d_armor:chestplate_admin")
minetest.register_alias("adminleggings", "3d_armor:leggings_admin")
--- Wood
--
-- Requires setting `armor_material_wood`.
--
-- @section wood
if armor.materials.wood then
--- Wood Helmet
--
-- @helmet 3d_armor:helmet_wood
-- @img 3d_armor_inv_helmet_wood.png
-- @grp armor_head 1
-- @grp armor_heal 0
-- @grp armor_use 2000
-- @grp flammable 1
-- @armorgrp fleshy 5
-- @damagegrp cracky 3
-- @damagegrp snappy 2
-- @damagegrp choppy 3
-- @damagegrp crumbly 2
-- @damagegrp level 1
armor:register_armor("3d_armor:helmet_wood", {
description = S("Wood Helmet"),
inventory_image = "3d_armor_inv_helmet_wood.png",
groups = {armor_head=1, armor_heal=0, armor_use=2000, flammable=1},
armor_groups = {fleshy=5},
damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1},
})
--- Wood Chestplate
--
-- @chestplate 3d_armor:chestplate_wood
-- @img 3d_armor_inv_chestplate_wood.png
-- @grp armor_torso 1
-- @grp armor_heal 0
-- @grp armor_use 2000
-- @grp flammable 1
-- @armorgrp fleshy 10
-- @damagegrp cracky 3
-- @damagegrp snappy 2
-- @damagegrp choppy 3
-- @damagegrp crumbly 2
-- @damagegrp level 1
armor:register_armor("3d_armor:chestplate_wood", {
description = S("Wood Chestplate"),
inventory_image = "3d_armor_inv_chestplate_wood.png",
groups = {armor_torso=1, armor_heal=0, armor_use=2000, flammable=1},
armor_groups = {fleshy=10},
damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1},
})
--- Wood Leggings
--
-- @leggings 3d_armor:leggings_wood
-- @img 3d_armor_inv_leggings_wood.png
-- @grp armor_legs 1
-- @grp armor_heal 0
-- @grp armor_use 1000
-- @grp flammable 1
-- @armorgrp fleshy 10
-- @damagegrp cracky 3
-- @damagegrp snappy 2
-- @damagegrp choppy 3
-- @damagegrp crumbly 2
-- @damagegrp level 1
armor:register_armor("3d_armor:leggings_wood", {
description = S("Wood Leggings"),
inventory_image = "3d_armor_inv_leggings_wood.png",
groups = {armor_legs=1, armor_heal=0, armor_use=2000, flammable=1},
armor_groups = {fleshy=10},
damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1},
})
--- Wood Boots
--
-- @boots 3d_armor:boots_wood
-- @img 3d_armor_inv_boots_wood.png
-- @grp armor_feet 1
-- @grp armor_heal 0
-- @grp armor_use 2000
-- @grp flammable 1
-- @armorgrp fleshy 5
-- @damagegrp cracky 3
-- @damagegrp snappy 2
-- @damagegrp choppy 3
-- @damagegrp crumbly 2
-- @damagegrp level 1
armor:register_armor("3d_armor:boots_wood", {
description = S("Wood Boots"),
inventory_image = "3d_armor_inv_boots_wood.png",
armor_groups = {fleshy=5},
damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1},
groups = {armor_feet=1, armor_heal=0, armor_use=2000, flammable=1},
})
local wood_armor_fuel = {
helmet = 6,
chestplate = 8,
leggings = 7,
boots = 5
}
for armor, burn in pairs(wood_armor_fuel) do
minetest.register_craft({
type = "fuel",
recipe = "3d_armor:" .. armor .. "_wood",
burntime = burn,
})
end
end
--- 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
end
--- Steel
--
-- Requires setting `armor_material_steel`.
--
-- @section steel
if armor.materials.steel then
--- Steel Helmet
--
-- @helmet 3d_armor:helmet_steel
-- @img 3d_armor_inv_helmet_steel.png
-- @grp armor_head 1
-- @grp armor_heal 0
-- @grp armor_use 800
-- @grp physics_speed -0.01
-- @grp physica_gravity 0.01
-- @armorgrp fleshy 10
-- @damagegrp cracky 2
-- @damagegrp snappy 3
-- @damagegrp choppy 2
-- @damagegrp crumbly 1
-- @damagegrp level 2
armor:register_armor("3d_armor:helmet_steel", {
description = S("Steel Helmet"),
inventory_image = "3d_armor_inv_helmet_steel.png",
groups = {armor_head=1, armor_heal=0, armor_use=800,
physics_speed=-0.01, physics_gravity=0.01},
armor_groups = {fleshy=10},
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
})
--- Steel Chestplate
--
-- @chestplate 3d_armor:chestplate_steel
-- @img 3d_armor_inv_chestplate_steel.png
-- @grp armor_torso 1
-- @grp armor_heal 0
-- @grp armor_use 800
-- @grp physics_speed
-- @grp physics_gravity
-- @armorgrp fleshy
-- @damagegrp cracky 2
-- @damagegrp snappy 3
-- @damagegrp choppy 2
-- @damagegrp crumbly 1
-- @damagegrp level 2
armor:register_armor("3d_armor:chestplate_steel", {
description = S("Steel Chestplate"),
inventory_image = "3d_armor_inv_chestplate_steel.png",
groups = {armor_torso=1, armor_heal=0, armor_use=800,
physics_speed=-0.04, physics_gravity=0.04},
armor_groups = {fleshy=15},
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
})
--- Steel Leggings
--
-- @leggings 3d_armor:leggings_steel
-- @img 3d_armor_inv_leggings_steel.png
-- @grp armor_legs 1
-- @grp armor_heal 0
-- @grp armor_use 800
-- @grp physics_speed -0.03
-- @grp physics_gravity 0.03
-- @armorgrp fleshy 15
-- @damagegrp cracky 2
-- @damagegrp snappy 3
-- @damagegrp choppy 2
-- @damagegrp crumbly 1
-- @damagegrp level 2
armor:register_armor("3d_armor:leggings_steel", {
description = S("Steel Leggings"),
inventory_image = "3d_armor_inv_leggings_steel.png",
groups = {armor_legs=1, armor_heal=0, armor_use=800,
physics_speed=-0.03, physics_gravity=0.03},
armor_groups = {fleshy=15},
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
})
--- Steel Boots
--
-- @boots 3d_armor:boots_steel
-- @img 3d_armor_inv_boots_steel.png
-- @grp armor_feet 1
-- @grp armor_heal 0
-- @grp armor_use 800
-- @grp physics_speed -0.01
-- @grp physics_gravity 0.01
-- @armorgrp fleshy 10
-- @damagegrp cracky 2
-- @damagegrp snappy 3
-- @damagegrp choppy 2
-- @damagegrp crumbly 1
-- @damagegrp level 2
armor:register_armor("3d_armor:boots_steel", {
description = S("Steel Boots"),
inventory_image = "3d_armor_inv_boots_steel.png",
groups = {armor_feet=1, armor_heal=0, armor_use=800,
physics_speed=-0.01, physics_gravity=0.01},
armor_groups = {fleshy=10},
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
})
end
--- Bronze
--
-- Requires setting `armor_material_bronze`.
--
-- @section bronze
if armor.materials.bronze then
--- Bronze Helmet
--
-- @helmet 3d_armor:helmet_bronze
-- @img 3d_armor_inv_helmet_bronze.png
-- @grp armor_head 1
-- @grp armor_heal 6
-- @grp armor_use 400
-- @grp physics_speed -0.01
-- @grp physics_gravity 0.01
-- @armorgrp fleshy 10
-- @damagegrp cracky 3
-- @damagegrp snappy 2
-- @damagegrp choppy 2
-- @damagegrp crumbly 1
-- @damagegrp level 2
armor:register_armor("3d_armor:helmet_bronze", {
description = S("Bronze Helmet"),
inventory_image = "3d_armor_inv_helmet_bronze.png",
groups = {armor_head=1, armor_heal=6, armor_use=400,
physics_speed=-0.01, physics_gravity=0.01},
armor_groups = {fleshy=10},
damage_groups = {cracky=3, snappy=2, choppy=2, crumbly=1, level=2},
})
--- Bronze Chestplate
--
-- @chestplate 3d_armor:chestplate_bronze
-- @img 3d_armor_inv_chestplate_bronze.png
-- @grp armor_torso 1
-- @grp armor_heal 6
-- @grp armor_use 400
-- @grp physics_speed -0.04
-- @grp physics_gravity 0.04
-- @armorgrp fleshy 15
-- @damagegrp cracky 3
-- @damagegrp snappy 2
-- @damagegrp choppy 2
-- @damagegrp crumbly 1
-- @damagegrp level 2
armor:register_armor("3d_armor:chestplate_bronze", {
description = S("Bronze Chestplate"),
inventory_image = "3d_armor_inv_chestplate_bronze.png",
groups = {armor_torso=1, armor_heal=6, armor_use=400,
physics_speed=-0.04, physics_gravity=0.04},
armor_groups = {fleshy=15},
damage_groups = {cracky=3, snappy=2, choppy=2, crumbly=1, level=2},
})
--- Bronze Leggings
--
-- @leggings 3d_armor:leggings_bronze
-- @img 3d_armor_inv_leggings_bronze.png
-- @grp armor_legs 1
-- @grp armor_heal 6
-- @grp armor_use 400
-- @grp physics_speed -0.03
-- @grp physics_gravity 0.03
-- @armorgrp fleshy 15
-- @damagegrp cracky 3
-- @damagegrp snappy 2
-- @damagegrp choppy 2
-- @damagegrp crumbly 1
-- @damagegrp level 2
armor:register_armor("3d_armor:leggings_bronze", {
description = S("Bronze Leggings"),
inventory_image = "3d_armor_inv_leggings_bronze.png",
groups = {armor_legs=1, armor_heal=6, armor_use=400,
physics_speed=-0.03, physics_gravity=0.03},
armor_groups = {fleshy=15},
damage_groups = {cracky=3, snappy=2, choppy=2, crumbly=1, level=2},
})
--- Bronze Boots
--
-- @boots 3d_armor:boots_bronze
-- @img 3d_armor_inv_boots_bronze.png
-- @grp armor_feet 1
-- @grp armor_heal 6
-- @grp armor_use 400
-- @grp physics_speed -0.01
-- @grp physics_gravity 0.01
-- @armorgrp fleshy 10
-- @damagegrp cracky 3
-- @damagegrp snappy 2
-- @damagegrp choppy 2
-- @damagegrp crumbly 1
-- @damagegrp level 2
armor:register_armor("3d_armor:boots_bronze", {
description = S("Bronze Boots"),
inventory_image = "3d_armor_inv_boots_bronze.png",
groups = {armor_feet=1, armor_heal=6, armor_use=400,
physics_speed=-0.01, physics_gravity=0.01},
armor_groups = {fleshy=10},
damage_groups = {cracky=3, snappy=2, choppy=2, crumbly=1, level=2},
})
end
--- Diamond
--
-- Requires setting `armor_material_diamond`.
--
-- @section diamond
if armor.materials.diamond then
--- Diamond Helmet
--
-- @helmet 3d_armor:helmet_diamond
-- @img 3d_armor_inv_helmet_diamond.png
-- @grp armor_head 1
-- @grp armor_heal 12
-- @grp armor_use 200
-- @armorgrp fleshy 15
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp choppy 1
-- @damagegrp level 3
armor:register_armor("3d_armor:helmet_diamond", {
description = S("Diamond Helmet"),
inventory_image = "3d_armor_inv_helmet_diamond.png",
groups = {armor_head=1, armor_heal=12, armor_use=200},
armor_groups = {fleshy=15},
damage_groups = {cracky=2, snappy=1, choppy=1, level=3},
})
--- Diamond Chestplate
--
-- @chestplate 3d_armor:chestplate_diamond
-- @img 3d_armor_inv_chestplate_diamond.png
-- @grp armor_torso 1
-- @grp armor_heal 12
-- @grp armor_use 200
-- @armorgrp fleshy 20
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp choppy 1
-- @damagegrp level 3
armor:register_armor("3d_armor:chestplate_diamond", {
description = S("Diamond Chestplate"),
inventory_image = "3d_armor_inv_chestplate_diamond.png",
groups = {armor_torso=1, armor_heal=12, armor_use=200},
armor_groups = {fleshy=20},
damage_groups = {cracky=2, snappy=1, choppy=1, level=3},
})
--- Diamond Leggings
--
-- @leggings 3d_armor:leggings_diamond
-- @img 3d_armor_inv_leggings_diamond.png
-- @grp armor_legs 1
-- @grp armor_heal 12
-- @grp armor_use 200
-- @armorgrp fleshy 20
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp choppy 1
-- @damagegrp level 3
armor:register_armor("3d_armor:leggings_diamond", {
description = S("Diamond Leggings"),
inventory_image = "3d_armor_inv_leggings_diamond.png",
groups = {armor_legs=1, armor_heal=12, armor_use=200},
armor_groups = {fleshy=20},
damage_groups = {cracky=2, snappy=1, choppy=1, level=3},
})
--- Diamond Boots
--
-- @boots 3d_armor:boots_diamond
-- @img 3d_armor_inv_boots_diamond.png
-- @grp armor_feet 1
-- @grp armor_heal 12
-- @grp armor_use 200
-- @armorgrp fleshy 15
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp choppy 1
-- @damagegrp level 3
armor:register_armor("3d_armor:boots_diamond", {
description = S("Diamond Boots"),
inventory_image = "3d_armor_inv_boots_diamond.png",
groups = {armor_feet=1, armor_heal=12, armor_use=200},
armor_groups = {fleshy=15},
damage_groups = {cracky=2, snappy=1, choppy=1, level=3},
})
end
--- Gold
--
-- Requires `armor_material_gold`.
--
-- @section gold
if armor.materials.gold then
--- Gold Helmet
--
-- @helmet 3d_armor:helmet_gold
-- @img 3d_armor_inv_helmet_gold.png
-- @grp armor_head 1
-- @grp armor_heal 6
-- @grp armor_use 300
-- @grp physics_speed -0.02
-- @grp physics_gravity 0.02
-- @armorgrp fleshy 10
-- @damagegrp cracky 1
-- @damagegrp snappy 2
-- @damagegrp choppy 2
-- @damagegrp crumbly 3
-- @damagegrp level 2
armor:register_armor("3d_armor:helmet_gold", {
description = S("Gold Helmet"),
inventory_image = "3d_armor_inv_helmet_gold.png",
groups = {armor_head=1, armor_heal=6, armor_use=300,
physics_speed=-0.02, physics_gravity=0.02},
armor_groups = {fleshy=10},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
})
--- Gold Chestplate
--
-- @chestplate 3d_armor:chestplate_gold
-- @img 3d_armor_inv_chestplate_gold.png
-- @grp armor_torso 1
-- @grp armor_heal 6
-- @grp armor_use 300
-- @grp physics_speed -0.05
-- @grp physics_gravity 0.05
-- @armorgrp fleshy 15
-- @damagegrp cracky 1
-- @damagegrp snappy 2
-- @damagegrp choppy 2
-- @damagegrp crumbly 3
-- @damagegrp level 2
armor:register_armor("3d_armor:chestplate_gold", {
description = S("Gold Chestplate"),
inventory_image = "3d_armor_inv_chestplate_gold.png",
groups = {armor_torso=1, armor_heal=6, armor_use=300,
physics_speed=-0.05, physics_gravity=0.05},
armor_groups = {fleshy=15},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
})
--- Gold Leggings
--
-- @leggings 3d_armor:leggings_gold
-- @img 3d_armor_inv_leggings_gold.png
-- @grp armor_legs 1
-- @grp armor_heal 6
-- @grp armor_use 300
-- @grp physics_speed -0.04
-- @grp physics_gravity 0.04
-- @armorgrp fleshy 15
-- @damagegrp cracky 1
-- @damagegrp snappy 2
-- @damagegrp choppy 2
-- @damagegrp crumbly 3
-- @damagegrp level 2
armor:register_armor("3d_armor:leggings_gold", {
description = S("Gold Leggings"),
inventory_image = "3d_armor_inv_leggings_gold.png",
groups = {armor_legs=1, armor_heal=6, armor_use=300,
physics_speed=-0.04, physics_gravity=0.04},
armor_groups = {fleshy=15},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
})
--- Gold Boots
--
-- @boots 3d_armor:boots_gold
-- @img 3d_armor_inv_boots_gold.png
-- @grp armor_feet 1
-- @grp armor_heal 6
-- @grp armor_use 300
-- @grp physics_speed -0.02
-- @grp physics_gravity 0.02
-- @armorgrp fleshy 10
-- @damagegrp cracky 1
-- @damagegrp snappy 2
-- @damagegrp choppy 2
-- @damagegrp crumbly 3
-- @damagegrp level 2
armor:register_armor("3d_armor:boots_gold", {
description = S("Gold Boots"),
inventory_image = "3d_armor_inv_boots_gold.png",
groups = {armor_feet=1, armor_heal=6, armor_use=300,
physics_speed=-0.02, physics_gravity=0.02},
armor_groups = {fleshy=10},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
})
end
--- Mithril
--
-- Requires `armor_material_mithril`.
--
-- @section mithril
if armor.materials.mithril then
--- Mithril Helmet
--
-- @helmet 3d_armor:helmet_mithril
-- @img 3d_armor_inv_helmet_mithril.png
-- @grp armor_head 1
-- @grp armor_heal 12
-- @grp armor_use 100
-- @armorgrp fleshy 15
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp level 3
armor:register_armor("3d_armor:helmet_mithril", {
description = S("Mithril Helmet"),
inventory_image = "3d_armor_inv_helmet_mithril.png",
groups = {armor_head=1, armor_heal=12, armor_use=100},
armor_groups = {fleshy=15},
damage_groups = {cracky=2, snappy=1, level=3},
})
--- Mithril Chestplate
--
-- @chestplate 3d_armor:chestplate_mithril
-- @img 3d_armor_inv_chestplate_mithril.png
-- @grp armor_torso 1
-- @grp armor_heal 12
-- @grp armor_use 100
-- @armorgrp fleshy 20
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp level 3
armor:register_armor("3d_armor:chestplate_mithril", {
description = S("Mithril Chestplate"),
inventory_image = "3d_armor_inv_chestplate_mithril.png",
groups = {armor_torso=1, armor_heal=12, armor_use=100},
armor_groups = {fleshy=20},
damage_groups = {cracky=2, snappy=1, level=3},
})
--- Mithril Leggings
--
-- @leggings 3d_armor:leggings_mithril
-- @img 3d_armor_inv_leggings_mithril.png
-- @grp armor_legs 1
-- @grp armor_heal 12
-- @grp armor_use 100
-- @armorgrp fleshy 20
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp level 3
armor:register_armor("3d_armor:leggings_mithril", {
description = S("Mithril Leggings"),
inventory_image = "3d_armor_inv_leggings_mithril.png",
groups = {armor_legs=1, armor_heal=12, armor_use=100},
armor_groups = {fleshy=20},
damage_groups = {cracky=2, snappy=1, level=3},
})
--- Mithril Boots
--
-- @boots 3d_armor:boots_mithril
-- @img 3d_armor_inv_boots_mithril.png
-- @grp armor_feet 1
-- @grp armor_heal 12
-- @grp armor_use 100
-- @armorgrp fleshy 15
-- @damagegrp cracky 2
-- @damagegrp snappy 1
-- @damagegrp level 3
armor:register_armor("3d_armor:boots_mithril", {
description = S("Mithril Boots"),
inventory_image = "3d_armor_inv_boots_mithril.png",
groups = {armor_feet=1, armor_heal=12, armor_use=100},
armor_groups = {fleshy=15},
damage_groups = {cracky=2, snappy=1, level=3},
})
end
--- 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},
})
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
--
-- 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 │ │
-- └───┴───┴───┘ └───┴───┴───┘
for k, v in pairs(armor.materials) do
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},
},
})
end

View file

@ -19,6 +19,7 @@ Helmets:
[3d_armor:helmet_gold] X = [default:gold_ingot]
[3d_armor:helmet_mithril] X = [moreores:mithril_ingot] *
[3d_armor:helmet_crystal] X = [ethereal:crystal_ingot] **
[3d_armor:helmet_nether] X = [ethereal:nether_ingot] **
Chestplates:
@ -38,6 +39,7 @@ Chestplates:
[3d_armor:chestplate_gold] X = [default:gold_ingot]
[3d_armor:chestplate_mithril] X = [moreores:mithril_ingot] *
[3d_armor:chestplate_crystal] X = [ethereal:crystal_ingot] **
[3d_armor:chestplate_nether] X = [ethereal:nether_ingot] **
Leggings:
@ -57,6 +59,7 @@ Leggings:
[3d_armor:leggings_gold] X = [default:gold_ingot]
[3d_armor:leggings_mithril] X = [moreores:mithril_ingot] *
[3d_armor:leggings_crystal] X = [ethereal:crystal_ingot] **
[3d_armor:leggings_nether] X = [ethereal:nether_ingot] **
Boots:
@ -74,6 +77,8 @@ Boots:
[3d_armor:boots_gold] X = [default:gold_ingot]
[3d_armor:boots_mithril] X = [moreores:mithril_ingot] *
[3d_armor:boots_crystal] X = [ethereal:crystal_ingot] **
[3d_armor:boots_nether] X = [ethereal:nether_ingot] **
* Requires moreores mod by Calinou - https://forum.minetest.net/viewtopic.php?id=549
** Requires ethereal mod by Chinchow & TenPlus1 - https://github.com/tenplus1/ethereal
** Requires nether mod - https://github.com/minetest-mods/nether.git

View file

@ -1,8 +0,0 @@
default
player_monoids?
armor_monoid?
pova?
fire?
ethereal?
bakedclay?
moreores?

View file

@ -1 +0,0 @@
Adds craftable armor that is visible to other players.

View file

@ -2,7 +2,6 @@ local modname = minetest.get_current_modname()
local modpath = minetest.get_modpath(modname)
local worldpath = minetest.get_worldpath()
local last_punch_time = {}
local pending_players = {}
local timer = 0
dofile(modpath.."/api.lua")
@ -99,14 +98,7 @@ for _, mod in pairs(skin_mods) do
armor.set_skin_mod(mod)
end
end
if not minetest.get_modpath("moreores") then
armor.materials.mithril = nil
end
if not minetest.get_modpath("ethereal") then
armor.materials.crystal = nil
end
dofile(modpath.."/armor.lua")
-- Armor Initialization
@ -188,11 +180,7 @@ local function validate_armor_inventory(player)
end
local function init_player_armor(initplayer)
local name = initplayer:get_player_name()
local pos = initplayer:get_pos()
if not name or not pos then
return false
end
local name = assert(initplayer:get_player_name())
local armor_inv = minetest.create_detached_inventory(name.."_armor", {
on_put = function(inv, listname, index, stack, player)
validate_armor_inventory(player)
@ -231,6 +219,11 @@ local function init_player_armor(initplayer)
if player:get_player_name() ~= name then
return 0
end
--cursed items cannot be unequiped by the player
local is_cursed = minetest.get_item_group(stack:get_name(), "cursed") ~= 0
if not minetest.is_creative_enabled(player) and is_cursed then
return 0
end
return stack:get_count()
end,
allow_move = function(inv, from_list, from_index, to_list, to_index, count, player)
@ -258,7 +251,6 @@ local function init_player_armor(initplayer)
end
end
armor.def[name] = {
init_time = minetest.get_gametime(),
level = 0,
state = 0,
count = 0,
@ -276,8 +268,8 @@ local function init_player_armor(initplayer)
local skin = armor:get_player_skin(name)
armor.textures[name] = {
skin = skin,
armor = "3d_armor_trans.png",
wielditem = "3d_armor_trans.png",
armor = "blank.png",
wielditem = "blank.png",
preview = armor.default_skin.."_preview.png",
}
local texture_path = minetest.get_modpath("player_textures")
@ -291,17 +283,16 @@ local function init_player_armor(initplayer)
end
end
armor:set_player_armor(initplayer)
return true
end
-- Armor Player Model
default.player_register_model("3d_armor_character.b3d", {
player_api.register_model("3d_armor_character.b3d", {
animation_speed = 30,
textures = {
armor.default_skin..".png",
"3d_armor_trans.png",
"3d_armor_trans.png",
"blank.png",
"blank.png",
},
animations = {
stand = {x=0, y=79},
@ -310,6 +301,10 @@ default.player_register_model("3d_armor_character.b3d", {
mine = {x=189, y=198},
walk_mine = {x=200, y=219},
sit = {x=81, y=160},
-- compatibility w/ the emote mod
wave = {x = 192, y = 196, override_local = true},
point = {x = 196, y = 196, override_local = true},
freeze = {x = 205, y = 205, override_local = true},
},
})
@ -327,16 +322,8 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end)
minetest.register_on_joinplayer(function(player)
default.player_set_model(player, "3d_armor_character.b3d")
local player_name = player:get_player_name()
minetest.after(0, function()
-- TODO: Added in 7566ecc - What's the prupose?
local pplayer = minetest.get_player_by_name(player_name)
if pplayer and init_player_armor(pplayer) == false then
pending_players[pplayer] = 0
end
end)
player_api.set_model(player, "3d_armor_character.b3d")
init_player_armor(player)
end)
minetest.register_on_leaveplayer(function(player)
@ -345,7 +332,6 @@ minetest.register_on_leaveplayer(function(player)
armor.def[name] = nil
armor.textures[name] = nil
end
pending_players[player] = nil
end)
if armor.config.drop == true or armor.config.destroy == true then
@ -358,9 +344,12 @@ if armor.config.drop == true or armor.config.destroy == true then
for i=1, armor_inv:get_size("armor") do
local stack = armor_inv:get_stack("armor", i)
if stack:get_count() > 0 then
table.insert(drop, stack)
armor:run_callbacks("on_unequip", player, i, stack)
armor_inv:set_stack("armor", i, nil)
--soulbound armors remain equipped after death
if minetest.get_item_group(stack:get_name(), "soulbound") == 0 then
table.insert(drop, stack)
armor:run_callbacks("on_unequip", player, i, stack)
armor_inv:set_stack("armor", i, nil)
end
end
end
armor:save_armor_inventory(player)
@ -396,8 +385,8 @@ if armor.config.drop == true or armor.config.destroy == true then
end)
end
end)
else -- reset un-dropped armor and it's effects
minetest.register_on_respawnplayer(function(player)
-- reset un-dropped armor and it's effects
armor:set_player_armor(player)
end)
end
@ -406,10 +395,14 @@ if armor.config.punch_damage == true then
minetest.register_on_punchplayer(function(player, hitter,
time_from_last_punch, tool_capabilities)
local name = player:get_player_name()
local hit_ip = hitter:is_player()
if name and hit_ip and minetest.is_protected(player:get_pos(), "") then
return
elseif name then
if hitter then
local hit_ip = hitter:is_player()
if name and hit_ip and minetest.is_protected(player:get_pos(), "") then
return
end
end
if name then
armor:punch(player, hitter, time_from_last_punch, tool_capabilities)
last_punch_time[name] = minetest.get_gametime()
end
@ -417,43 +410,53 @@ if armor.config.punch_damage == true then
end
minetest.register_on_player_hpchange(function(player, hp_change, reason)
if player and reason.type ~= "drown" and reason.hunger == nil
and hp_change < 0 then
local name = player:get_player_name()
if name then
local heal = armor.def[name].heal
if heal >= math.random(100) then
hp_change = 0
end
-- check if armor damage was handled by fire or on_punchplayer
local time = last_punch_time[name] or 0
if time == 0 or time + 1 < minetest.get_gametime() then
armor:punch(player)
end
if not minetest.is_player(player) then
return hp_change
end
if reason.type == "drown" or reason.hunger or hp_change >= 0 then
return hp_change
end
local name = player:get_player_name()
local properties = player:get_properties()
local hp = player:get_hp()
if hp + hp_change < properties.hp_max then
local heal = armor.def[name].heal
if heal >= math.random(100) then
hp_change = 0
end
-- check if armor damage was handled by fire or on_punchplayer
local time = last_punch_time[name] or 0
if time == 0 or time + 1 < minetest.get_gametime() then
armor:punch(player)
end
end
return hp_change
end, true)
minetest.register_globalstep(function(dtime)
timer = timer + dtime
if armor.config.feather_fall == true then
for _,player in pairs(minetest.get_connected_players()) do
local name = player:get_player_name()
if armor.def[name].feather > 0 then
local vel_y = player:get_velocity().y
if vel_y < -0.5 then
vel_y = -(vel_y * 0.05)
player:add_velocity({x = 0, y = vel_y, z = 0})
end
end
end
end
if timer <= armor.config.init_delay then
return
end
timer = 0
for player, count in pairs(pending_players) do
local remove = init_player_armor(player) == true
pending_players[player] = count + 1
if remove == false and count > armor.config.init_times then
minetest.log("warning", S("3d_armor: Failed to initialize player"))
remove = true
end
if remove == true then
pending_players[player] = nil
end
end
-- water breathing protection, added by TenPlus1
if armor.config.water_protect == true then
for _,player in pairs(minetest.get_connected_players()) do
@ -466,22 +469,14 @@ minetest.register_globalstep(function(dtime)
end
end)
-- Fire Protection, added by TenPlus1.
if armor.config.fire_protect == true then
-- override any hot nodes that do not already deal damage
for _, row in pairs(armor.fire_nodes) do
if minetest.registered_nodes[row[1]] then
local damage = minetest.registered_nodes[row[1]].damage_per_second
if not damage or damage == 0 then
minetest.override_item(row[1], {damage_per_second = row[3]})
end
end
end
else
print ("[3d_armor] Fire Nodes disabled")
end
if armor.config.fire_protect == true then
-- make torches hurt
minetest.override_item("default:torch", {damage_per_second = 1})
minetest.override_item("default:torch_wall", {damage_per_second = 1})
minetest.override_item("default:torch_ceiling", {damage_per_second = 1})
-- check player damage for any hot nodes we may be protected against
minetest.register_on_player_hpchange(function(player, hp_change, reason)
if reason.type == "node_damage" and reason.node then
@ -490,9 +485,7 @@ if armor.config.fire_protect == true then
local name = player:get_player_name()
for _,igniter in pairs(armor.fire_nodes) do
if reason.node == igniter[1] then
if armor.def[name].fire < igniter[2] then
armor:punch(player, "fire")
else
if armor.def[name].fire >= igniter[2] then
hp_change = 0
end
end

View file

@ -0,0 +1,7 @@
# textdomain: 3d_armor
Radiation=Strahlung
Level=Stufe
Heal=Heilung
Fire=Feuer
Your @1 is almost broken!=@1 ist fast kaputt!
Your @1 got destroyed!=@1 wurde zerstört!

View file

@ -0,0 +1,7 @@
# textdomain: 3d_armor
Radiation=Radiado
Level=Nivelo
Heal=Blokŝanco
Fire=Fajro
Your @1 is almost broken!=Via @1 estas preskaŭ rompita!
Your @1 got destroyed!=Via @1 detruiĝis!

View file

@ -1,58 +1,7 @@
# textdomain: 3d_armor
### api.lua ###
3d_armor: Detached armor inventory is nil @1=3d_armor: La armadura desconectada es nula @1
3d_armor: Player name is nil @1=3d_armor: El nombre del jugador es nulo @1
3d_armor: Player reference is nil @1=3d_armor: La referencia del jugador es nula @1
### armor.lua ###
Admin Boots=Botas de admin
Admin Chestplate=Peto de admin
Admin Helmet=Casco de admin
Admin Leggings=Grebas de admin
Bronze Boots=Botas de bronce
Bronze Chestplate=Peto de bronce
Bronze Helmet=Casco de bronce
Bronze Leggings=Grebas de bronce
Cactus Boots=Botas de cactus
Cactus Chestplate=Peto de cactus
Cactus Helmet=Casco de cactus
Cactus Leggings=Grebas de cactus
Crystal Boots=Botas de cristal
Crystal Chestplate=Peto de cristal
Crystal Helmet=Casco de cristal
Crystal Leggings=Grebas de cristal
Diamond Boots=Botas de diamante
Diamond Chestplate=Peto de diamante
Diamond Helmet=Casco de diamante
Diamond Leggings=Grebas de diamante
Gold Boots=Botas de oro
Gold Chestplate=Peto de oro
Gold Helmet=Casco de oro
Gold Leggings=Grebas de oro
Mithril Boots=Botas de mitrilo
Mithril Chestplate=Peto de mitrilo
Mithril Helmet=Casco de mitrilo
Mithril Leggings=Grebas de mitrilo
Steel Boots=Botas de acero
Steel Chestplate=Peto de acero
Steel Helmet=Casco de acero
Steel Leggings=Grebas de acero
Wood Boots=Botas de madera
Wood Chestplate=Peto de madera
Wood Helmet=Casco de madera
Wood Leggings=Grebas de madera
### init.lua ###
3d_armor: Failed to initialize player=3d_armor: Fallo en la inicialización del jugador
Fire=Fuego
Heal=Salud
Level=Nivel
Radiation=Radiación
Your @1 got destroyed!=¡Tu @1 fue destruído!
Level=Nivel
Heal=Salud
Fire=Fuego
Your @1 is almost broken!=¡Tu @1 esta a punto de romperse!
[3d_armor] Fire Nodes disabled=[3d_armor] Nodos de fuego desabilitados
Your @1 got destroyed!=¡Tu @1 fue destruído!

View file

@ -1,58 +1,7 @@
# textdomain: 3d_armor
### api.lua ###
3d_armor: Detached armor inventory is nil @1=3d_armor : Inventaire détaché pour l'armure non trouvé @1
3d_armor: Player name is nil @1=3d_armor : Nom du joueur non trouvé @1
3d_armor: Player reference is nil @1=3d_armor : Référence au joueur non trouvée @1
### armor.lua ###
Admin Boots=Bottes d'admin
Admin Chestplate=Cuirasse d'admin
Admin Helmet=Casque d'admin
Admin Leggings=Jambières d'admin
Bronze Boots=Bottes en bronze
Bronze Chestplate=Cuirasse en bronze
Bronze Helmet=Casque en bronze
Bronze Leggings=Jambières en bronze
Cactus Boots=Bottes en cactus
Cactus Chestplate=Cuirasse en cactus
Cactus Helmet=Casque en cactus
Cactus Leggings=Jambières en cactus
Crystal Boots=Bottes en cristal
Crystal Chestplate=Cuirasse en cristal
Crystal Helmet=Casque en cristal
Crystal Leggings=Jambières en cristal
Diamond Boots=Bottes en diamant
Diamond Chestplate=Cuirasse en diamant
Diamond Helmet=Casque en diamant
Diamond Leggings=Jambières en diamant
Gold Boots=Bottes en or
Gold Chestplate=Cuirasse en or
Gold Helmet=Casque en or
Gold Leggings=Jambières en or
Mithril Boots=Bottes en mithril
Mithril Chestplate=Cuirasse en mithril
Mithril Helmet=Casque en mithril
Mithril Leggings=Jambières en mithril
Steel Boots=Bottes en acier
Steel Chestplate=Cuirasse en acier
Steel Helmet=Casque en acier
Steel Leggings=Jambières en acier
Wood Boots=Bottes en bois
Wood Chestplate=Cuirasse en bois
Wood Helmet=Casque en bois
Wood Leggings=Jambières en bois
### init.lua ###
3d_armor: Failed to initialize player=3d_armor : Impossible d'initialiser le joueur
Fire=Fire
Heal=Soins
Level=Niveau
Radiation=Radiation
Your @1 got destroyed!=Une partie de votre armure a été détruite : @1 !
Level=Niveau
Heal=Soins
Fire=Fire
Your @1 is almost broken!=Une partie de votre armure est presque détruite : @1 !
[3d_armor] Fire Nodes disabled=[3d_armor] Nœuds de type feu désactivés
Your @1 got destroyed!=Une partie de votre armure a été détruite : @1 !

View file

@ -1,85 +1,7 @@
# textdomain: 3d_armor
### api.lua ###
3d_armor: Detached armor inventory is nil @1=3d_armor: L'inventario separato dell'armatura è nullo @1
3d_armor: Player name is nil @1=3d_armor: Il nome dell'utente è nullo @1
3d_armor: Player reference is nil @1=3d_armor: Il riferimento all'utente è nullo @1
### armor.lua ###
Admin Boots=Stivali dell'amministratrice/tore
Admin Chestplate=Corazza dell'amministratrice/tore
Admin Helmet=Elmo dell'amministratrice/tore
Admin Leggings=Gambali dell'amministratrice/tore
Bronze Boots=Stivali di bronzo
Bronze Chestplate=Corazza di bronzo
Bronze Helmet=Elmo di bronzo
Bronze Leggings=Gambali di bronzo
Cactus Boots=Stivali di cactus
Cactus Chestplate=Corazza di cactus
Cactus Helmet=Elmo di cactus
Cactus Leggings=Gambali di cactus
Crystal Boots=Stivali di cristallo
Crystal Chestplate=Corazza di cristallo
Crystal Helmet=Elmo di cristallo
Crystal Leggings=Gambali di cristallo
Diamond Boots=Stivali di diamante
Diamond Chestplate=Corazza di diamante
Diamond Helmet=Elmo di diamante
Diamond Leggings=Gambali di diamante
Gold Boots=Stivali d'oro
Gold Chestplate=Corazza d'oro
Gold Helmet=Elmo d'oro
Gold Leggings=Gambali d'oro
Mithril Boots=Stivali di mithril
Mithril Chestplate=Corazza di mithril
Mithril Helmet=Elmo di mithril
Mithril Leggings=Gambali di mithril
Steel Boots=Stivali d'acciaio
Steel Chestplate=Corazza d'acciaio
Steel Helmet=Elmo d'acciaio
Steel Leggings=Gambali d'acciaio
Wood Boots=Stivali di legno
Wood Chestplate=Corazza di legno
Wood Helmet=Elmo di legno
Wood Leggings=Gambali di legno
### init.lua ###
3d_armor: Failed to initialize player=3d_armor: Inizializzazione dell'utente fallita
Fire=Fuoco
Heal=Guarigione
Level=Livello
Radiation=Radiazione
Your @1 got destroyed!=@1 in frantumi!
Level=Livello
Heal=Guarigione
Fire=Fuoco
Your @1 is almost broken!=@1 quasi in frantumi!
[3d_armor] Fire Nodes disabled=[3d_armor] Nodi fuoco disabilitati
##### not used anymore #####
3d_armor_ip: Mod loaded but unused.=3d_armor_ip: Mod caricata ma inutilizzata.
Back=Indietro
Armor=Armatura
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv: Mod caricata ma inutilizzata.
Armor stand top=Parte superiore del supporto per armatura
Armor stand=Supporto per armatura
Armor Stand=Supporto per armatura
Locked Armor stand=Supporto per armatura chiuso a chiave
Armor Stand (owned by @1)=Supporto per armatura (di proprietà di @1)
3d_armor_ui: Mod loaded but unused.=3d_armor_ui: Mod caricata ma inutilizzata.
3d Armor=Armatura 3D
Armor not initialized!=Armatura non inizializzata!
Admin Shield=Scudo dell'amministratrice/tore
Wooden Shield=Scudo di legno
Enhanced Wood Shield=Scudo di legno migliorato
Cactus Shield=Scudo di cactus
Enhanced Cactus Shield=Scudo di cactus migliorato
Steel Shield=Scudo d'acciaio
Bronze Shield=Scudo di bronzo
Diamond Shield=Scudo di diamante
Gold Shield=Scudo d'oro
Mithril Shield=Scudo di mithril
Crystal Shield=Scudo di cristallo
Your @1 got destroyed!=@1 in frantumi!

View file

@ -1,85 +1,7 @@
# textdomain: 3d_armor
### api.lua ###
3d_armor: Detached armor inventory is nil @1=3d_armor: Inventori perisai terpisah tiada nilai @1
3d_armor: Player name is nil @1=3d_armor: Nama pemain tiada nilai @1
3d_armor: Player reference is nil @1=3d_armor: Rujukan pemain tiada nilai @1
### armor.lua ###
Admin Boots=But Pentadbir
Admin Chestplate=Perisai Dada Pentadbir
Admin Helmet=Helmet Pentadbir
Admin Leggings=Perisai Kaki Pentadbir
Bronze Boots=But Gangsa
Bronze Chestplate=Perisai Dada Gangsa
Bronze Helmet=Helmet Gangsa
Bronze Leggings=Perisai Kaki Gangsa
Cactus Boots=But Kaktus
Cactus Chestplate=Perisai Dada Kaktus
Cactus Helmet=Helmet Kaktus
Cactus Leggings=Perisai Kaki Kaktus
Crystal Boots=But Kristal
Crystal Chestplate=Perisai Dada Kristal
Crystal Helmet=Helmet Kristal
Crystal Leggings=Perisai Kaki Kristal
Diamond Boots=But Intan
Diamond Chestplate=Perisai Dada Intan
Diamond Helmet=Helmet Intan
Diamond Leggings=Perisai Kaki Intan
Gold Boots=But Emas
Gold Chestplate=Perisai Dada Emas
Gold Helmet=Helmet Emas
Gold Leggings=Perisai Kaki Emas
Mithril Boots=But Mithril
Mithril Chestplate=Perisai Dada Mithril
Mithril Helmet=Helmet Mithril
Mithril Leggings=Perisai Kaki Mithril
Steel Boots=But Keluli
Steel Chestplate=Perisai Dada Keluli
Steel Helmet=Helmet Keluli
Steel Leggings=Perisai Kaki Keluli
Wood Boots=But Kayu
Wood Chestplate=Perisai Dada Kayu
Wood Helmet=Helmet Kayu
Wood Leggings=Perisai Kaki Kayu
### init.lua ###
3d_armor: Failed to initialize player=3d_armor: Gagal mengasalkan pemain
Fire=Api
Heal=Pulih
Level=Tahap
Radiation=Radiasi
Your @1 got destroyed!=@1 anda telah musnah!
Level=Tahap
Heal=Pulih
Fire=Api
Your @1 is almost broken!=
[3d_armor] Fire Nodes disabled=[3d_armor] Nod-nod Api dilumpuhkan
##### not used anymore #####
3d_armor_ip: Mod loaded but unused.=3d_armor_ip: Mods dimuatkan tetapi tidak digunakan.
Back=Kembali
Armor=Perisai
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv: Mods dimuatkan tetapi tidak digunakan.
Armor stand top=Bhg atas dirian perisai
Armor stand=Dirian perisai
Armor Stand=Dirian Perisai
Locked Armor stand=Dirian perisai Berkunci
Armor Stand (owned by @1)=Dirian Perisai (milik @1)
3d_armor_ui: Mod loaded but unused.=3d_armor_ui: Mods dimuatkan tetapi tidak digunakan.
3d Armor=Perisai 3d
Armor not initialized!=Perisai tidak diasalkan!
Admin Shield=Perisai Pegang Pentadbir
Wooden Shield=Perisai Pegang Kayu
Enhanced Wood Shield=Perisai Pegang Kayu Kukuh
Cactus Shield=Perisai Pegang Kaktus
Enhanced Cactus Shield=Perisai Pegang Kaktus Kukuh
Steel Shield=Perisai Pegang Keluli
Bronze Shield=Perisai Pegang Gangsa
Diamond Shield=Perisai Pegang Intan
Gold Shield=Perisai Pegang Emas
Mithril Shield=Perisai Pegang Mithril
Crystal Shield=Perisai Pegang Kristal
Your @1 got destroyed!=@1 anda telah musnah!

View file

@ -0,0 +1,7 @@
# textdomain: 3d_armor
Radiation=Promieniowanie
Level=Poziom
Heal=Uzdrawianie
Fire=Ogień
Your @1 is almost broken!=Twój @1 jest prawie zepsuty!
Your @1 got destroyed!=Twój @1 został zniszczony!

View file

@ -1,85 +1,7 @@
# textdomain: 3d_armor
### api.lua ###
3d_armor: Detached armor inventory is nil @1=3d_armor: Inventario avulso de armadura é nulo @1
3d_armor: Player name is nil @1=3d_armor: Nome de jogador é nulo @1
3d_armor: Player reference is nil @1=3d_armor: Referência Jogador é nula @1
### armor.lua ###
Admin Boots=Botas de Administrador
Admin Chestplate=Peitoral de Administrador
Admin Helmet=Capacete de Administrador
Admin Leggings=Calças de Administrador
Bronze Boots=Botas de Bronze
Bronze Chestplate=Peitoral de Bronze
Bronze Helmet=Capacete de Bronze
Bronze Leggings=Calças de Bronze
Cactus Boots=Botas de Madeira
Cactus Chestplate=Peitoral de Cacto
Cactus Helmet=Capacete de Cacto
Cactus Leggings=Calças de Cacto
Crystal Boots=Botas de Cristal
Crystal Chestplate=Peitoral de Cristal
Crystal Helmet=Capacete de Cristal
Crystal Leggings=Calças de Cristal
Diamond Boots=Botas de Diamante
Diamond Chestplate=Peitoral de Diamante
Diamond Helmet=Capacete de Diamante
Diamond Leggings=Calças de Diamante
Gold Boots=Botas de Ouro
Gold Chestplate=Peitoral de Ouro
Gold Helmet=Capacete de Ouro
Gold Leggings=Calças de Ouro
Mithril Boots=Botas de Mithril
Mithril Chestplate=Peitoral de Mithril
Mithril Helmet=Capacete de Mithril
Mithril Leggings=Calças de Mithril
Steel Boots=Botas de Aço
Steel Chestplate=Peitoral de Aço
Steel Helmet=Capacete de Aço
Steel Leggings=Calças de Aço
Wood Boots=Botas de Madeira
Wood Chestplate=Peitoral de Madeira
Wood Helmet=Capacete de Madeira
Wood Leggings=Calças de Madeira
### init.lua ###
3d_armor: Failed to initialize player=3d_armor: Falha ao inicializar jogador
Fire=Fogo
Heal=Saúde
Level=Nível
Radiation=Radiação
Your @1 got destroyed!=@1 foi destruído(a)!
Level=Nível
Heal=Saúde
Fire=Fogo
Your @1 is almost broken!=
[3d_armor] Fire Nodes disabled=[3d_armor] Nodes de gofo desabilitados
##### not used anymore #####
3d_armor_ip: Mod loaded but unused.=3d_armor_ip: Mod carregado mas inoperante.
Back=Voltar
Armor=Armadura
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv: Mod carregado mas inoperante.
Armor stand top=Topo de estande de armadura
Armor stand=Estande de armadura
Armor Stand=Estande de Armadura
Locked Armor stand=Estande de Armadura Trancada
Armor Stand (owned by @1)=Estande de Armadura (pertente a @1)
3d_armor_ui: Mod loaded but unused.=3d_armor_ui: Mod carregado mas inoperante.
3d Armor=3d Armor
Armor not initialized!=Armadura não inicializada!
Admin Shield=Escudo de Administrador
Wooden Shield=Escudo de Madeira
Enhanced Wood Shield=Escudo de Madeira Melhorado
Cactus Shield=Escudo de Cacto
Enhanced Cactus Shield=Escudo de Cacto Melhorado
Steel Shield=Escudo de Aço
Bronze Shield=Escudo de Bronze
Diamond Shield=Escudo de Diamante
Gold Shield=Escudo de Ouro
Mithril Shield=Escudo de Mithril
Crystal Shield=Escudo de Cristal
Your @1 got destroyed!=@1 foi destruído(a)!

View file

@ -1,85 +1,7 @@
# textdomain: 3d_armor
### api.lua ###
3d_armor: Detached armor inventory is nil @1=3d_armor: Inventario avulso de armadura é nulo @1
3d_armor: Player name is nil @1=3d_armor: Nome de jogador é nulo @1
3d_armor: Player reference is nil @1=3d_armor: Referência Jogador é nula @1
### armor.lua ###
Admin Boots=Botas de Administrador
Admin Chestplate=Peitoral de Administrador
Admin Helmet=Capacete de Administrador
Admin Leggings=Calças de Administrador
Bronze Boots=Botas de Bronze
Bronze Chestplate=Peitoral de Bronze
Bronze Helmet=Capacete de Bronze
Bronze Leggings=Calças de Bronze
Cactus Boots=Botas de Madeira
Cactus Chestplate=Peitoral de Cacto
Cactus Helmet=Capacete de Cacto
Cactus Leggings=Calças de Cacto
Crystal Boots=Botas de Cristal
Crystal Chestplate=Peitoral de Cristal
Crystal Helmet=Capacete de Cristal
Crystal Leggings=Calças de Cristal
Diamond Boots=Botas de Diamante
Diamond Chestplate=Peitoral de Diamante
Diamond Helmet=Capacete de Diamante
Diamond Leggings=Calças de Diamante
Gold Boots=Botas de Ouro
Gold Chestplate=Peitoral de Ouro
Gold Helmet=Capacete de Ouro
Gold Leggings=Calças de Ouro
Mithril Boots=Botas de Mithril
Mithril Chestplate=Peitoral de Mithril
Mithril Helmet=Capacete de Mithril
Mithril Leggings=Calças de Mithril
Steel Boots=Botas de Aço
Steel Chestplate=Peitoral de Aço
Steel Helmet=Capacete de Aço
Steel Leggings=Calças de Aço
Wood Boots=Botas de Madeira
Wood Chestplate=Peitoral de Madeira
Wood Helmet=Capacete de Madeira
Wood Leggings=Calças de Madeira
### init.lua ###
3d_armor: Failed to initialize player=3d_armor: Falha ao inicializar jogador
Fire=Fogo
Heal=Saúde
Level=Nível
Radiation=Radiação
Your @1 got destroyed!=@1 foi destruído(a)!
Level=Nível
Heal=Saúde
Fire=Fogo
Your @1 is almost broken!=
[3d_armor] Fire Nodes disabled=[3d_armor] Nodes de gofo desabilitados
##### not used anymore #####
3d_armor_ip: Mod loaded but unused.=3d_armor_ip: Mod carregado mas inoperante.
Back=Voltar
Armor=Armadura
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv: Mod carregado mas inoperante.
Armor stand top=Topo de estande de armadura
Armor stand=Estande de armadura
Armor Stand=Estande de Armadura
Locked Armor stand=Estande de Armadura Trancada
Armor Stand (owned by @1)=Estande de Armadura (pertente a @1)
3d_armor_ui: Mod loaded but unused.=3d_armor_ui: Mod carregado mas inoperante.
3d Armor=3d Armor
Armor not initialized!=Armadura não inicializada!
Admin Shield=Escudo de Administrador
Wooden Shield=Escudo de Madeira
Enhanced Wood Shield=Escudo de Madeira Melhorado
Cactus Shield=Escudo de Cacto
Enhanced Cactus Shield=Escudo de Cacto Melhorado
Steel Shield=Escudo de Aço
Bronze Shield=Escudo de Bronze
Diamond Shield=Escudo de Diamante
Gold Shield=Escudo de Ouro
Mithril Shield=Escudo de Mithril
Crystal Shield=Escudo de Cristal
Your @1 got destroyed!=@1 foi destruído(a)!

View file

@ -1,85 +1,7 @@
# textdomain: 3d_armor
### api.lua ###
3d_armor: Detached armor inventory is nil @1=3d_armor: Отдельный инвентарь брони является nil @1
3d_armor: Player name is nil @1=3d_armor: Имя игрока является nil @1
3d_armor: Player reference is nil @1=3d_armor: Ссылка игрока является nil @1
### armor.lua ###
Admin Boots=ботинки админа
Admin Chestplate=бронежилет админа
Admin Helmet=шлем админа
Admin Leggings=гамаши админа
Bronze Boots=бронзовые ботинки
Bronze Chestplate=бронзовый бронежилет
Bronze Helmet=бронзовый шлем
Bronze Leggings=бронзовые гамаши
Cactus Boots=кактусовые ботинки
Cactus Chestplate=кактусовый бронежилет
Cactus Helmet=кактусовый шлем
Cactus Leggings=кактусовые гамаши
Crystal Boots=кристалловые ботинки
Crystal Chestplate=кристалловый бронежилет
Crystal Helmet=кристалловый шлем
Crystal Leggings=кристалловые гамаши
Diamond Boots=алмазные ботинки
Diamond Chestplate=алмазный бронежилет
Diamond Helmet=алмазный шлем
Diamond Leggings=алмазные гамаши
Gold Boots=золотые ботинки
Gold Chestplate=золотой бронежилет
Gold Helmet=золотой шлем
Gold Leggings=золотые гамаши
Mithril Boots=мифриловые ботинки
Mithril Chestplate=мифриловый бронежилет
Mithril Helmet=мифриловый шлем
Mithril Leggings=мифриловые гамаши
Steel Boots=стальные ботинки
Steel Chestplate=стальной бронежилет
Steel Helmet=стальной шлем
Steel Leggings=стальные гамаши
Wood Boots=деревянные ботинки
Wood Chestplate=деревянный бронежилет
Wood Helmet=деревянный шлем
Wood Leggings=деревянные гамаши
### init.lua ###
3d_armor: Failed to initialize player=3d_armor: не смог подготовить игрока
Fire=огонь
Heal=исцеление
Level=уровень
Radiation=излучение
Your @1 got destroyed!=твой(и) @1 был(и) разрушен(ы)!
Level=уровень
Heal=исцеление
Fire=огонь
Your @1 is almost broken!=
[3d_armor] Fire Nodes disabled=[3d_armor] блоки огня отключены
##### not used anymore #####
3d_armor_ip: Mod loaded but unused.=3d_armor_ip: мод загружен но не используется.
Back=назад
Armor=бронь
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv: мод загружен но не используется.
Armor stand top=стойка для брони (верх)
Armor stand=стойка для брони
Armor Stand=стойка для брони
Locked Armor stand=защищенная стойка для брони
Armor Stand (owned by @1)=стойка для брони (принадлежит @1)
3d_armor_ui: Mod loaded but unused.=3d_armor_ui: мод загружен но не используется.
3d Armor=3D бронь
Armor not initialized!=бронь не подготовлена!
Admin Shield=щит админа
Wooden Shield=деревянный щит
Enhanced Wood Shield=улучшенный деревянный щит
Cactus Shield=кактусный щит
Enhanced Cactus Shield=улучшенный кактусный щит
Steel Shield=стальной щит
Bronze Shield=бронзовый щит
Diamond Shield=алмазный щит
Gold Shield=золотой щит
Mithril Shield=мифриловый щит
Crystal Shield=кристалловый щит
Your @1 got destroyed!=твой(и) @1 был(и) разрушен(ы)!

View file

@ -0,0 +1,7 @@
# textdomain: 3d_armor
Radiation=Strålning
Level=Nivå
Heal=Läkning
Fire=Eld
Your @1 is almost broken!=Din @1 är nästan förstörd!
Your @1 got destroyed!=Din @1 blev förstörd!

View file

@ -1,58 +1,7 @@
# textdomain: 3d_armor
### api.lua ###
3d_armor: Detached armor inventory is nil @1=
3d_armor: Player name is nil @1=
3d_armor: Player reference is nil @1=
### armor.lua ###
Admin Boots=
Admin Chestplate=
Admin Helmet=
Admin Leggings=
Bronze Boots=
Bronze Chestplate=
Bronze Helmet=
Bronze Leggings=
Cactus Boots=
Cactus Chestplate=
Cactus Helmet=
Cactus Leggings=
Crystal Boots=
Crystal Chestplate=
Crystal Helmet=
Crystal Leggings=
Diamond Boots=
Diamond Chestplate=
Diamond Helmet=
Diamond Leggings=
Gold Boots=
Gold Chestplate=
Gold Helmet=
Gold Leggings=
Mithril Boots=
Mithril Chestplate=
Mithril Helmet=
Mithril Leggings=
Steel Boots=
Steel Chestplate=
Steel Helmet=
Steel Leggings=
Wood Boots=
Wood Chestplate=
Wood Helmet=
Wood Leggings=
### init.lua ###
3d_armor: Failed to initialize player=
Fire=
Heal=
Level=
Radiation=
Your @1 got destroyed!=
Level=
Heal=
Fire=
Your @1 is almost broken!=
[3d_armor] Fire Nodes disabled=
Your @1 got destroyed!=

View file

@ -1,4 +1,5 @@
name = 3d_armor
depends = default
optional_depends = player_monoids, armor_monoid, pova, fire, ethereal, bakedclay, moreores
depends = default, player_api
optional_depends = player_monoids, armor_monoid, pova, moreores
description = Adds craftable armor that is visible to other players.
min_minetest_version = 5.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

View file

@ -1,44 +0,0 @@
3d_armor/textures/3d_armor_helmet_wood.png:head
3d_armor/textures/3d_armor_chestplate_wood.png:torso
3d_armor/textures/3d_armor_leggings_wood.png:legs
3d_armor/textures/3d_armor_boots_wood.png:feet
3d_armor/textures/3d_armor_helmet_cactus.png:head
3d_armor/textures/3d_armor_chestplate_cactus.png:torso
3d_armor/textures/3d_armor_leggings_cactus.png:legs
3d_armor/textures/3d_armor_boots_cactus.png:feet
3d_armor/textures/3d_armor_helmet_steel.png:head
3d_armor/textures/3d_armor_chestplate_steel.png:torso
3d_armor/textures/3d_armor_leggings_steel.png:legs
3d_armor/textures/3d_armor_boots_steel.png:feet
3d_armor/textures/3d_armor_helmet_bronze.png:head
3d_armor/textures/3d_armor_chestplate_bronze.png:torso
3d_armor/textures/3d_armor_leggings_bronze.png:legs
3d_armor/textures/3d_armor_boots_bronze.png:feet
3d_armor/textures/3d_armor_helmet_gold.png:head
3d_armor/textures/3d_armor_chestplate_gold.png:torso
3d_armor/textures/3d_armor_leggings_gold.png:legs
3d_armor/textures/3d_armor_boots_gold.png:feet
3d_armor/textures/3d_armor_helmet_diamond.png:head
3d_armor/textures/3d_armor_chestplate_diamond.png:torso
3d_armor/textures/3d_armor_leggings_diamond.png:legs
3d_armor/textures/3d_armor_boots_diamond.png:feet
3d_armor/textures/3d_armor_helmet_mithril.png:head
3d_armor/textures/3d_armor_chestplate_mithril.png:torso
3d_armor/textures/3d_armor_leggings_mithril.png:legs
3d_armor/textures/3d_armor_boots_mithril.png:feet
3d_armor/textures/3d_armor_helmet_crystal.png:head
3d_armor/textures/3d_armor_chestplate_crystal.png:torso
3d_armor/textures/3d_armor_leggings_crystal.png:legs
3d_armor/textures/3d_armor_boots_crystal.png:feet
3d_armor/textures/3d_armor_helmet_admin.png:head
3d_armor/textures/3d_armor_chestplate_admin.png:torso
3d_armor/textures/3d_armor_leggings_admin.png:legs
3d_armor/textures/3d_armor_boots_admin.png:feet

View file

@ -1,18 +0,0 @@
[mod] 3d Armor integration to inventory plus [3d_armor_ip]
==========================================================
Copyright (C) 2012-2019 stujones11, Stuart Jones <stujones111@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,2 +0,0 @@
3d_armor
inventory_plus?

View file

@ -1 +0,0 @@
Adds 3d_armor page to the inventory plus.

View file

@ -3,7 +3,7 @@ local S = minetest.get_translator(minetest.get_current_modname())
local F = minetest.formspec_escape
if not minetest.global_exists("inventory_plus") then
minetest.log("warning", S("3d_armor_ip: Mod loaded but unused."))
minetest.log("warning", "3d_armor_ip: Mod loaded but unused.")
return
end

View file

@ -0,0 +1,3 @@
# textdomain: 3d_armor_ip
Back=Zurück
Armor=Rüstung

View file

@ -0,0 +1,3 @@
# textdomain: 3d_armor_ip
Back=Dorso
Armor=Armaĵo

View file

@ -1,8 +1,3 @@
# textdomain: 3d_armor_ip
### init.lua ###
3d_armor_ip: Mod loaded but unused.=3d_armor_ip : Mod chargé mais inutilisé.
Armor=Armure
Back=Retour
Armor=Armure

View file

@ -0,0 +1,3 @@
# textdomain: 3d_armor_ip
Back=Voltar
Armor=Armadura

View file

@ -0,0 +1,3 @@
# textdomain: 3d_armor_ip
Back=Tillbaka
Armor=Rustning

View file

@ -1,8 +1,3 @@
# textdomain: 3d_armor_ip
### init.lua ###
3d_armor_ip: Mod loaded but unused.=
Armor=
Back=
Armor=

View file

@ -1,18 +0,0 @@
[mod] 3d Armor sfinv integration [3d_armor_sfinv]
=================================================
Copyright (C) 2012-2019 stujones11, Stuart Jones <stujones111@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,2 +0,0 @@
3d_armor
sfinv?

View file

@ -1 +0,0 @@
Adds 3d_armor page to the sfinv inventory.

View file

@ -2,7 +2,7 @@
local S = minetest.get_translator(minetest.get_current_modname())
if not minetest.global_exists("sfinv") then
minetest.log("warning", S("3d_armor_sfinv: Mod loaded but unused."))
minetest.log("warning", "3d_armor_sfinv: Mod loaded but unused.")
return
end

View file

@ -0,0 +1,2 @@
# textdomain: 3d_armor_sfinv
Armor=Rüstung

View file

@ -0,0 +1,2 @@
# textdomain: 3d_armor_sfinv
Armor=Armaĵoj

View file

@ -1,7 +1,2 @@
# textdomain: 3d_armor_sfinv
### init.lua ###
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv : Mod cargado pero no activado.
Armor=Armadura

View file

@ -1,7 +1,2 @@
# textdomain: 3d_armor_sfinv
### init.lua ###
3d_armor_sfinv: Mod loaded but unused.=3d_armor_sfinv : Mod chargé mais inutilisé.
Armor=Armure

View file

@ -0,0 +1,2 @@
# textdomain: 3d_armor_sfinv
Armor=Armadura

View file

@ -0,0 +1,2 @@
# textdomain: 3d_armor_sfinv
Armor=Rustning

View file

@ -1,7 +1,2 @@
# textdomain: 3d_armor_sfinv
### init.lua ###
3d_armor_sfinv: Mod loaded but unused.=
Armor=

View file

@ -1,43 +0,0 @@
[mod] 3d Armor Stand [3d_armor_stand]
=====================================
License Source Code
-------------------
Copyright (C) 2012-2019 stujones11, Stuart Jones <stujones111@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Lecense Models
--------------
Copyright (C) 2016-2019 Stuart Jones - CC BY-SA 3.0
UV model mapping by tobyplowy(aka toby109tt)
License Textures
----------------
3d_armor_stand.png
3d_armor_stand_locked.png
Copyright (C) 2017-2019 tobyplowy - CC BY-SA 3.0
3d_armor_stand_feet.png
3d_armor_stand_head.png
3d_armor_stand_legs.png
3d_armor_stand_torso.png
Copyright (C) 2016-2019 Stuart Jones - CC BY-SA 3.0

View file

@ -1,2 +0,0 @@
3d_armor

View file

@ -62,7 +62,7 @@ local function update_entity(pos)
object = minetest.add_entity(pos, "3d_armor_stand:armor_entity")
end
if object then
local texture = "3d_armor_trans.png"
local texture = "blank.png"
local textures = {}
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
@ -134,7 +134,7 @@ local function remove_hidden_node(pos)
end
minetest.register_node("3d_armor_stand:top", {
description = S("Armor stand top"),
description = S("Armor Stand Top"),
paramtype = "light",
drawtype = "plantlike",
sunlight_propagates = true,
@ -144,12 +144,13 @@ minetest.register_node("3d_armor_stand:top", {
buildable_to = false,
drop = "",
groups = {not_in_creative_inventory = 1},
is_ground_content = false,
on_blast = function() end,
tiles = {"3d_armor_trans.png"},
tiles = {"blank.png"},
})
minetest.register_node("3d_armor_stand:armor_stand", {
description = S("Armor stand"),
description = S("Armor Stand"),
drawtype = "mesh",
mesh = "3d_armor_stand.obj",
tiles = {"3d_armor_stand.png"},
@ -165,6 +166,7 @@ minetest.register_node("3d_armor_stand:armor_stand", {
},
},
groups = {choppy=2, oddly_breakable_by_hand=2},
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
@ -218,7 +220,7 @@ minetest.register_node("3d_armor_stand:armor_stand", {
})
minetest.register_node("3d_armor_stand:locked_armor_stand", {
description = S("Locked Armor stand"),
description = S("Locked Armor Stand"),
drawtype = "mesh",
mesh = "3d_armor_stand.obj",
tiles = {"3d_armor_stand_locked.png"},
@ -234,6 +236,7 @@ minetest.register_node("3d_armor_stand:locked_armor_stand", {
},
},
groups = {choppy=2, oddly_breakable_by_hand=2},
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
@ -299,27 +302,107 @@ minetest.register_node("3d_armor_stand:locked_armor_stand", {
end,
})
minetest.register_node("3d_armor_stand:shared_armor_stand", {
description = S("Shared Armor Stand"),
drawtype = "mesh",
mesh = "3d_armor_stand.obj",
tiles = {"3d_armor_stand_shared.png"},
use_texture_alpha = "clip",
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
selection_box = {
type = "fixed",
fixed = {
{-0.25, -0.4375, -0.25, 0.25, 1.4, 0.25},
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
},
},
groups = {choppy=2, oddly_breakable_by_hand=2},
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", armor_stand_formspec)
meta:set_string("infotext", S("Shared Armor Stand"))
local inv = meta:get_inventory()
for _, element in pairs(elements) do
inv:set_size("armor_"..element, 1)
end
end,
can_dig = function(pos, player)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
for _, element in pairs(elements) do
if not inv:is_empty("armor_"..element) then
return false
end
end
return true
end,
after_place_node = function(pos, placer)
minetest.add_entity(pos, "3d_armor_stand:armor_entity")
local meta = minetest.get_meta(pos)
meta:set_string("infotext", S("Shared Armor Stand"))
add_hidden_node(pos, placer)
end,
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
if not minetest.is_player(player) or minetest.is_protected(pos, player:get_player_name()) then
return 0
end
local def = stack:get_definition() or {}
local groups = def.groups or {}
if groups[listname] then
return 1
end
return 0
end,
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
if not minetest.is_player(player) or minetest.is_protected(pos, player:get_player_name()) then
return 0
end
return stack:get_count()
end,
allow_metadata_inventory_move = function(pos)
return 0
end,
on_metadata_inventory_put = function(pos)
update_entity(pos)
end,
on_metadata_inventory_take = function(pos)
update_entity(pos)
end,
after_destruct = function(pos)
update_entity(pos)
remove_hidden_node(pos)
end,
on_blast = function(pos)
-- Not affected by TNT
end,
})
minetest.register_entity("3d_armor_stand:armor_entity", {
physical = true,
visual = "mesh",
mesh = "3d_armor_entity.obj",
visual_size = {x=1, y=1},
collisionbox = {0,0,0,0,0,0},
textures = {"3d_armor_trans.png"},
pos = nil,
timer = 0,
initial_properties = {
physical = true,
visual = "mesh",
mesh = "3d_armor_entity.obj",
visual_size = {x=1, y=1},
collisionbox = {0,0,0,0,0,0},
textures = {"blank.png"},
},
_pos = nil,
on_activate = function(self)
local pos = self.object:get_pos()
if pos then
self.pos = vector.round(pos)
self._pos = vector.round(pos)
update_entity(pos)
end
end,
on_blast = function(self, damage)
local drops = {}
local node = minetest.get_node(self.pos)
local node = minetest.get_node(self._pos)
if node.name == "3d_armor_stand:armor_stand" then
drop_armor(self.pos)
drop_armor(self._pos)
self.object:remove()
end
return false, false, drops
@ -327,7 +410,7 @@ minetest.register_entity("3d_armor_stand:armor_entity", {
})
minetest.register_abm({
nodenames = {"3d_armor_stand:locked_armor_stand", "3d_armor_stand:armor_stand"},
nodenames = {"3d_armor_stand:locked_armor_stand", "3d_armor_stand:shared_armor_stand", "3d_armor_stand:armor_stand"},
interval = 15,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
@ -353,3 +436,10 @@ minetest.register_craft({
{"3d_armor_stand:armor_stand", "default:steel_ingot"},
}
})
minetest.register_craft({
output = "3d_armor_stand:shared_armor_stand",
recipe = {
{"3d_armor_stand:armor_stand", "default:copper_ingot"},
}
})

View file

@ -0,0 +1,5 @@
# textdomain: 3d_armor_stand
Armor Stand Top=Rüstungsständeroberseite
Armor Stand=Rüstungsständer
Locked Armor Stand=Abgeschlossener Rüstungsständer
Armor Stand (owned by @1)=Rüstungsständer (Eigentum von @1)

View file

@ -0,0 +1,5 @@
# textdomain: 3d_armor_stand
Armor Stand Top=Armaĵtenila Supro
Armor Stand=Armaĵtenilo
Locked Armor Stand=Ŝlosita Armaĵtenilo
Armor Stand (owned by @1)=Ŝlosita Armaĵtenilo (posedata de @1)

View file

@ -0,0 +1,6 @@
# textdomain: 3d_armor_stand
Armor Stand Top=
Armor Stand=Soporte de armadura
Locked Armor Stand=Soporte de armadura privado
Shared Armor Stand=Soporte de armadura compartido
Armor Stand (owned by @1)=Soporte de armadura (de @1)

View file

@ -1,10 +1,5 @@
# textdomain: 3d_armor_stand
### init.lua ###
Armor Stand Top=Haut de support d'armure
Armor Stand=Support d'armure
Locked Armor Stand=Support d'armure verrouillé
Armor Stand (owned by @1)=Support d'armure (propriété de @1)
Armor stand=Support d'armure
Armor stand top=Haut de support d'armure
Locked Armor stand=Support d'armure verrouillé

View file

@ -0,0 +1,5 @@
# textdomain: 3d_armor_stand
Armor Stand Top=Topo do suporte de armadura
Armor Stand=Suporte de Armadura
Locked Armor Stand=Suporte de armadura trancado
Armor Stand (owned by @1)=Suporte de Armadura (dono: @1)

View file

@ -0,0 +1,5 @@
# textdomain: 3d_armor_stand
Armor Stand Top=верх стойки для брони
Armor Stand=стойка для брони
Locked Armor Stand=стойка для брони с замком
Armor Stand (owned by @1)=стойка для бони (владелец @1)

View file

@ -0,0 +1,5 @@
# textdomain: 3d_armor_stand
Armor Stand Top=Rustningställstopp
Armor Stand=Rustningställ
Locked Armor Stand=Låst rustningställ
Armor Stand (owned by @1)=Rustningställ (ägd av @1)

View file

@ -1,10 +1,6 @@
# textdomain: 3d_armor_stand
### init.lua ###
Armor Stand Top=
Armor Stand=
Locked Armor Stand=
Shared Armor Stand=
Armor Stand (owned by @1)=
Armor stand=
Armor stand top=
Locked Armor stand=

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,011 B

View file

@ -1,18 +0,0 @@
[mod] 3d Armor integration to unified inventory [3d_armor_ui]
=============================================================
Copyright (C) 2012-2019 stujones11, Stuart Jones <stujones111@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

View file

@ -1,2 +0,0 @@
3d_armor
unified_inventory?

View file

@ -1 +0,0 @@
Adds 3d_armor page to the unified inventory.

View file

@ -23,7 +23,7 @@ end)
unified_inventory.register_button("armor", {
type = "image",
image = "inventory_plus_armor.png",
tooltip = S("3d Armor")
tooltip = S("3D Armor")
})
unified_inventory.register_page("armor", {
@ -33,9 +33,6 @@ unified_inventory.register_page("armor", {
local gridy = 0.6
local name = player:get_player_name()
if armor.def[name].init_time == 0 then
return {formspec="label[0,0;"..F(S("Armor not initialized!")).."]"}
end
local formspec = perplayer_formspec.standard_inv_bg..
perplayer_formspec.standard_inv..
ui.make_inv_img_grid(gridx, gridy, 2, 3)..

View file

@ -0,0 +1,8 @@
# textdomain: 3d_armor_ui
3D Armor=3D-Rüstung
Armor not initialized!=Rüstung ist nicht initialisiert!
Armor=Rüstung
Level=Stufe
Heal=Heilung
Fire=Feuer
Radiation=Strahlung

View file

@ -0,0 +1,8 @@
# textdomain: 3d_armor_ui
3D Armor=3D Armaĵoj
Armor not initialized!=Armaĵoj ne pretigitaj!
Armor=Armaĵo
Level=Nivelo
Heal=Sanigi
Fire=Fajro
Radiation=Radiado

View file

@ -1,12 +1,8 @@
# textdomain: 3d_armor_ui
### init.lua ###
3d Armor=Armure 3d
Armor=Armure
3D Armor=Armure 3D
Armor not initialized!=Armure non initialisée !
Fire=Feu
Heal=Soins
Armor=Armure
Level=Niveau
Heal=Soins
Fire=Feu
Radiation=Radiation

View file

@ -0,0 +1,8 @@
# textdomain: 3d_armor_ui
3D Armor=3D Armor
Armor not initialized!=Armadura não inicializada!
Armor=Armadura
Level=Nível
Heal=Vida
Fire=Fogo
Radiation=Radiação

View file

@ -0,0 +1,8 @@
# textdomain: 3d_armor_ui
3D Armor=
Armor not initialized!=Rustning har inte initialiserats
Armor=Rustning
Level=Nivå
Heal=Läkning
Fire=Eld
Radiation=Strålning

View file

@ -1,12 +1,8 @@
# textdomain: 3d_armor_ui
### init.lua ###
3d Armor=
Armor=
3D Armor=
Armor not initialized!=
Fire=
Heal=
Armor=
Level=
Heal=
Fire=
Radiation=

View file

@ -1,9 +1,9 @@
3D Armor - Visible Player Armor
===============================
License Source Code: Copyright (C) 2013-2018 Stuart Jones - LGPL v2.1
License Source Code: Copyright (C) 2013-2023 Stuart Jones - LGPL v2.1
Armor Textures: Copyright (C) 2017-2018 davidthecreator - CC-BY-SA 3.0
Armor Textures: Copyright (C) 2017-2023 davidthecreator - CC-BY-SA 3.0
Special credit to Jordach and MirceaKitsune for providing the default 3d character model.

View file

@ -1,5 +1,5 @@
Modpack - 3d Armor [0.4.13]
===========================
Modpack - 3d Armor
==================
![3d_armor screenshot](https://github.com/minetest-mods/3d_armor/blob/master/screenshot.png)
@ -22,7 +22,7 @@ Modpack - 3d Armor [0.4.13]
[mod] Visible Player Armor [3d_armor]
-------------------------------------
Minetest Version: 5.0.0
Minetest Version: 5.0.0 and newer
Game: minetest_game and many derivatives
@ -49,7 +49,24 @@ and [simple_skins] by TenPlus1.
Armor can be configured by adding a file called armor.conf in 3d_armor mod or world directory.
see armor.conf.example for all available options.
For mod installation instructions, please visit: http://wiki.minetest.com/wiki/Installing_Mods
For **mod installation** instructions, please visit: http://wiki.minetest.com/wiki/Installing_Mods
The specific "armors as modpack" refactorization allows anyone to enable/disable any armors they want as mods rather than obscure settings of the past. (See [#78](https://github.com/minetest-mods/3d_armor/commit/9444afd7222a71fc17d40c9793506812d715dcc3) for further explanation.)
Currently, the modpack includes:
- armor_admin
- armor_bronze
- armor_cactus
- armor_crystal
- armor_diamond
- armor_gold
- armor_mithril
- armor_nether
- armor_steel
- armor_wood
as separate armor mods intentionally. All these mods depend on 3d_armor.
[API Reference](https://minetest-mods.github.io/3d_armor/reference/)

View file

@ -0,0 +1,94 @@
--- Registered armors.
--
-- @topic armor
-- support for i18n
local S = minetest.get_translator(minetest.get_current_modname())
--- Admin Helmet
--
-- @helmet 3d_armor:helmet_admin
-- @img 3d_armor_inv_helmet_admin.png
-- @grp armor_head 1
-- @grp armor_heal 100
-- @grp armor_use 0
-- @grp armor_water 1
-- @grp not_in_creative_inventory 1
-- @armorgrp fleshy 100
armor:register_armor(":3d_armor:helmet_admin", {
description = S("Admin Helmet"),
inventory_image = "3d_armor_inv_helmet_admin.png",
armor_groups = {fleshy=100},
groups = {armor_head=1, armor_heal=100, armor_use=0, armor_water=1,
not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
--- Admin Chestplate
--
-- @chestplate 3d_armor:chestplate_admin
-- @img 3d_armor_inv_chestplate_admin.png
-- @grp armor_torso 1
-- @grp armor_heal 100
-- @grp armor_use 0
-- @grp not_in_creative_inventory 1
-- @armorgrp fleshy 100
armor:register_armor(":3d_armor:chestplate_admin", {
description = S("Admin Chestplate"),
inventory_image = "3d_armor_inv_chestplate_admin.png",
armor_groups = {fleshy=100},
groups = {armor_torso=1, armor_heal=100, armor_use=0, armor_water=1,
not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
--- Admin Leggings
--
-- @leggings 3d_armor:leggings_admin
-- @img 3d_armor_inv_leggings_admin.png
-- @grp armor_legs 1
-- @grp armor_heal 100
-- @grp armor_use 0
-- @grp not_in_creative_inventory 1
-- @armorgrp fleshy 100
armor:register_armor(":3d_armor:leggings_admin", {
description = S("Admin Leggings"),
inventory_image = "3d_armor_inv_leggings_admin.png",
armor_groups = {fleshy=100},
groups = {armor_legs=1, armor_heal=100, armor_use=0, armor_water=1,
not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
--- Admin Boots
--
-- @boots 3d_armor:boots_admin
-- @img 3d_armor_inv_boots_admin.png
-- @grp armor_feet 1
-- @grp armor_heal 100
-- @grp armor_use 0
-- @grp not_in_creative_inventory 1
-- @armorgrp fleshy 100
armor:register_armor(":3d_armor:boots_admin", {
description = S("Admin Boots"),
inventory_image = "3d_armor_inv_boots_admin.png",
armor_groups = {fleshy=100},
groups = {armor_feet=1, armor_heal=100, armor_use=0, physics_speed=1,
armor_water=1, not_in_creative_inventory=1},
on_drop = function(itemstack, dropper, pos)
return
end,
})
minetest.register_alias("adminboots", "3d_armor:boots_admin")
minetest.register_alias("adminhelmet", "3d_armor:helmet_admin")
minetest.register_alias("adminchestplate", "3d_armor:chestplate_admin")
minetest.register_alias("adminleggings", "3d_armor:leggings_admin")

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=Adminhelm
Admin Chestplate=Adminbrustplatte
Admin Leggings=Adminhose
Admin Boots=Adminstiefel

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=Administra Kasko
Admin Chestplate=Administra Kiraso
Admin Leggings=Administra Pantalono
Admin Boots=Administraj Botoj

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=Casco de admin
Admin Chestplate=Peto de admin
Admin Leggings=Grebas de admin
Admin Boots=Botas de admin

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=Casque d'admin
Admin Chestplate=Cuirasse d'admin
Admin Leggings=Jambières d'admin
Admin Boots=Bottes d'admin

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=Elmo dell'amministratrice/tore
Admin Chestplate=Corazza dell'amministratrice/tore
Admin Leggings=Gambali dell'amministratrice/tore
Admin Boots=Stivali dell'amministratrice/tore

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=Helmet Pentadbir
Admin Chestplate=Perisai Dada Pentadbir
Admin Leggings=Perisai Kaki Pentadbir
Admin Boots=But Pentadbir

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=
Admin Chestplate=
Admin Leggings=
Admin Boots=

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=Capacete de Administrador
Admin Chestplate=Peitoral de Administrador
Admin Leggings=Calças de Administrador
Admin Boots=Botas de Administrador

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=шлем админа
Admin Chestplate=нагрудник админа
Admin Leggings=штаны админа
Admin Boots=ботинки админа

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=Adminhjälm
Admin Chestplate=Adminbröstplåt
Admin Leggings=Adminbyxor
Admin Boots=Adminstövlar

View file

@ -0,0 +1,5 @@
# textdomain: armor_admin
Admin Helmet=
Admin Chestplate=
Admin Leggings=
Admin Boots=

View file

@ -0,0 +1,3 @@
name = armor_admin
depends = 3d_armor
description = Adds admin armor.

View file

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 258 B

View file

Before

Width:  |  Height:  |  Size: 261 B

After

Width:  |  Height:  |  Size: 261 B

View file

Before

Width:  |  Height:  |  Size: 409 B

After

Width:  |  Height:  |  Size: 409 B

View file

Before

Width:  |  Height:  |  Size: 348 B

After

Width:  |  Height:  |  Size: 348 B

View file

Before

Width:  |  Height:  |  Size: 261 B

After

Width:  |  Height:  |  Size: 261 B

View file

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 216 B

View file

Before

Width:  |  Height:  |  Size: 256 B

After

Width:  |  Height:  |  Size: 256 B

View file

Before

Width:  |  Height:  |  Size: 188 B

After

Width:  |  Height:  |  Size: 188 B

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