keep only amor and wieldview

master
Juraj Vajda 2016-10-08 13:55:28 +01:00
parent deff41e1fd
commit 6e4fbf2bf8
170 changed files with 2 additions and 1096 deletions

View File

@ -49,11 +49,11 @@ ARMOR_DESTROY = false
-- You can use this to increase or decrease overall armor effectiveness,
-- eg: ARMOR_LEVEL_MULTIPLIER = 0.5 will reduce armor level by half.
ARMOR_LEVEL_MULTIPLIER = 1
ARMOR_LEVEL_MULTIPLIER = 0.5
-- You can use this to increase or decrease overall armor healing,
-- eg: ARMOR_HEAL_MULTIPLIER = 0 will disable healing altogether.
ARMOR_HEAL_MULTIPLIER = 1
ARMOR_HEAL_MULTIPLIER = 0.5
-- You can use this to increase or decrease overall armor radiation protection,
-- eg: ARMOR_RADIATION_MULTIPLIER = 0 will completely disable radiation protection.

View File

@ -1,7 +0,0 @@
[mod] 3d Armor Stand [3d_armor_stand]
=====================================
License Source Code: LGPL v2.1
Lecense Media: CC BY-SA 3.0

View File

@ -1,21 +0,0 @@
[mod] 3d Armor Stand [3d_armor_stand]
=====================================
Depends: 3d_armor
Adds a chest-like armor stand for armor storage and display.
Crafting
--------
F = Wooden Fence [default:fence_wood]
S = Steel Ingot [default:steel_ingot]
+---+---+---+
| | F | |
+---+---+---+
| | F | |
+---+---+---+
| S | S | S |
+---+---+---+

View File

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

View File

@ -1,301 +0,0 @@
local armor_stand_formspec = "size[8,7]" ..
default.gui_bg ..
default.gui_bg_img ..
default.gui_slots ..
default.get_hotbar_bg(0,3) ..
"list[current_name;armor_head;3,0.5;1,1;]" ..
"list[current_name;armor_torso;4,0.5;1,1;]" ..
"list[current_name;armor_legs;3,1.5;1,1;]" ..
"list[current_name;armor_feet;4,1.5;1,1;]" ..
"image[3,0.5;1,1;3d_armor_stand_head.png]" ..
"image[4,0.5;1,1;3d_armor_stand_torso.png]" ..
"image[3,1.5;1,1;3d_armor_stand_legs.png]" ..
"image[4,1.5;1,1;3d_armor_stand_feet.png]" ..
"list[current_player;main;0,3;8,1;]" ..
"list[current_player;main;0,4.25;8,3;8]"
local elements = {"head", "torso", "legs", "feet"}
local function get_stand_object(pos)
local object = nil
local objects = minetest.get_objects_inside_radius(pos, 0.5) or {}
for _, obj in pairs(objects) do
local ent = obj:get_luaentity()
if ent then
if ent.name == "3d_armor_stand:armor_entity" then
-- Remove duplicates
if object then
obj:remove()
else
object = obj
end
end
end
end
return object
end
local function update_entity(pos)
local node = minetest.get_node(pos)
local object = get_stand_object(pos)
if object then
if not string.find(node.name, "3d_armor_stand:") then
object:remove()
return
end
else
object = minetest.add_entity(pos, "3d_armor_stand:armor_entity")
end
if object then
local texture = "3d_armor_trans.png"
local textures = {}
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local yaw = 0
if inv then
for _, element in pairs(elements) do
local stack = inv:get_stack("armor_"..element, 1)
if stack:get_count() == 1 then
local item = stack:get_name() or ""
local def = stack:get_definition() or {}
local groups = def.groups or {}
if groups["armor_"..element] then
local texture = def.texture or item:gsub("%:", "_")
table.insert(textures, texture..".png")
end
end
end
end
if #textures > 0 then
texture = table.concat(textures, "^")
end
if node.param2 then
local rot = node.param2 % 4
if rot == 1 then
yaw = 3 * math.pi / 2
elseif rot == 2 then
yaw = math.pi
elseif rot == 3 then
yaw = math.pi / 2
end
end
object:setyaw(yaw)
object:set_properties({textures={texture}})
end
end
local function has_locked_armor_stand_privilege(meta, player)
local name = ""
if player then
if minetest.check_player_privs(player, "protection_bypass") then
return true
end
name = player:get_player_name()
end
if name ~= meta:get_string("owner") then
return false
end
return true
end
minetest.register_node("3d_armor_stand:armor_stand", {
description = "Armor stand",
drawtype = "mesh",
mesh = "3d_armor_stand.obj",
tiles = {"default_wood.png", "default_steel_block.png"},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.5,-0.5,-0.5, 0.5,1.4,0.5}
},
groups = {choppy=2, oddly_breakable_by_hand=2},
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", "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)
minetest.add_entity(pos, "3d_armor_stand:armor_entity")
end,
allow_metadata_inventory_put = function(pos, listname, index, stack)
local def = stack:get_definition() or {}
local groups = def.groups or {}
if groups[listname] then
return 1
end
return 0
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)
end,
on_blast = function(pos)
local object = get_stand_object(pos)
if object then
object:remove()
end
minetest.after(1, function(pos)
update_entity(pos)
end, pos)
end,
})
minetest.register_node("3d_armor_stand:locked_armor_stand", {
description = "Locked Armor stand",
drawtype = "mesh",
mesh = "3d_armor_stand.obj",
tiles = {"default_wood.png", "default_steel_block.png"},
paramtype = "light",
paramtype2 = "facedir",
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.5,-0.5,-0.5, 0.5,1.4,0.5}
},
groups = {choppy=2, oddly_breakable_by_hand=2},
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", "Armor Stand")
meta:set_string("owner", "")
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("owner", placer:get_player_name() or "")
meta:set_string("infotext", "Armor Stand (owned by " ..
meta:get_string("owner") .. ")")
end,
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
local meta = minetest.get_meta(pos)
if not has_locked_armor_stand_privilege(meta, player) 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)
local meta = minetest.get_meta(pos)
if not has_locked_armor_stand_privilege(meta, player) 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)
end,
on_blast = function(pos)
local object = get_stand_object(pos)
if object then
object:remove()
end
minetest.after(1, function(pos)
update_entity(pos)
end, pos)
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.1,-0.4,-0.1, 0.1,1.3,0.1},
textures = {"3d_armor_trans.png"},
pos = nil,
timer = 0,
on_activate = function(self)
local pos = self.object:getpos()
if pos then
self.pos = vector.round(pos)
update_entity(pos)
end
end,
on_step = function(self, dtime)
if not self.pos then
return
end
self.timer = self.timer + dtime
if self.timer > 1 then
self.timer = 0
local pos = self.object:getpos()
if pos then
if vector.equals(vector.round(pos), self.pos) then
return
end
end
update_entity(self.pos)
self.object:remove()
end
end,
})
minetest.register_craft({
output = "3d_armor_stand:armor_stand",
recipe = {
{"", "default:fence_wood", ""},
{"", "default:fence_wood", ""},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
}
})
minetest.register_craft({
output = "3d_armor_stand:locked_armor_stand",
recipe = {
{"3d_armor_stand:armor_stand", "default:steel_ingot"},
}
})

View File

@ -1,193 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: '3d_armor_entity_3.blend'
# www.blender.org
mtllib 3d_armor_entity.mtl
o Player_Cube
v 2.200000 9.763893 1.200000
v 2.200000 9.763893 -1.200000
v 2.200000 2.663871 1.200000
v 2.200000 2.663871 -1.200000
v -2.200000 9.763893 -1.200000
v -2.200000 9.763893 1.200000
v -2.200000 2.663871 -1.200000
v -2.200000 2.663871 1.200000
v 2.300000 13.863962 2.300000
v 2.300000 13.863962 -2.300000
v 2.300000 9.263885 2.300000
v 2.300000 9.263885 -2.300000
v -2.300000 13.863962 -2.300000
v -2.300000 13.863962 2.300000
v -2.300000 9.263885 -2.300000
v -2.300000 9.263885 2.300000
v -2.322686 2.473175 -1.300000
v -2.322686 2.473175 1.300000
v -4.713554 2.682348 1.300000
v -4.713554 2.682348 -1.300000
v -1.686446 9.745432 -1.300000
v -1.686446 9.745432 1.300000
v -4.077313 9.954605 1.300000
v -4.077313 9.954605 -1.300000
v 4.077313 9.954605 -1.300000
v 4.077313 9.954605 1.300000
v 1.686446 9.745432 1.300000
v 1.686446 9.745432 -1.300000
v 4.713554 2.682348 -1.300000
v 4.713554 2.682348 1.300000
v 2.322686 2.473175 1.300000
v 2.322686 2.473175 -1.300000
v 0.139099 2.938947 -1.200000
v 0.139099 2.938947 1.200000
v 0.261266 -4.059988 1.200000
v 0.261266 -4.059988 -1.200000
v 2.660901 -4.018101 1.190000
v 2.660901 -4.018101 -1.210000
v 2.538733 2.980834 1.190000
v 2.538733 2.980834 -1.210000
v -0.139099 2.938947 -1.200000
v -0.139099 2.938947 1.200000
v -0.261266 -4.059988 1.200000
v -0.261266 -4.059988 -1.200000
v -2.538734 2.980834 -1.210000
v -2.538734 2.980834 1.190000
v -2.660901 -4.018101 -1.210000
v -2.660901 -4.018101 1.190000
v -2.799999 -4.387500 1.390000
v -2.799999 -4.387500 -1.410000
v -2.800000 -0.812499 1.390000
v -2.800000 -0.812499 -1.410000
v -0.000000 -4.387500 -1.400000
v -0.000000 -4.387500 1.400000
v -0.000000 -0.812499 1.400000
v -0.000000 -0.812499 -1.400000
v 2.800000 -0.812499 -1.410000
v 2.800000 -0.812499 1.390000
v 2.799999 -4.387500 -1.410000
v 2.799999 -4.387500 1.390000
v 0.000000 -4.387500 -1.400000
v 0.000000 -4.387500 1.400000
v 0.000000 -0.812499 1.400000
v 0.000000 -0.812499 -1.400000
v 2.267006 13.830965 2.267006
v 2.267006 13.830965 -2.267006
v 2.267006 9.296881 2.267006
v 2.267006 9.296881 -2.267006
v -2.267006 13.830965 -2.267006
v -2.267006 13.830965 2.267006
v -2.267006 9.296881 -2.267006
v -2.267006 9.296881 2.267006
vt 0.250000 0.375000
vt 0.250000 0.000000
vt 0.312500 0.000000
vt 0.312500 0.375000
vt 0.437500 0.375000
vt 0.437500 0.500000
vt 0.312500 0.500000
vt 0.562500 0.375000
vt 0.562500 0.500000
vt 0.437500 0.000000
vt 0.500000 0.000000
vt 0.500000 0.375000
vt 0.625000 0.000000
vt 0.625000 0.375000
vt 0.500000 0.750000
vt 0.500000 0.500000
vt 0.625000 0.500000
vt 0.625000 0.750000
vt 0.750000 0.750000
vt 0.750000 1.000000
vt 0.625000 1.000000
vt 0.875000 0.750000
vt 0.875000 1.000000
vt 0.750000 0.500000
vt 0.875000 0.500000
vt 1.000000 0.750000
vt 1.000000 0.500000
vt 0.750000 0.375000
vt 0.812500 0.500000
vt 0.812500 0.375000
vt 0.687500 0.375000
vt 0.687500 0.500000
vt 0.687500 0.000000
vt 0.750000 0.000000
vt 0.812500 0.000000
vt 0.875000 0.375000
vt 0.875000 0.000000
vt 0.125000 0.375000
vt 0.062500 0.375000
vt 0.062500 0.500000
vt 0.125000 0.500000
vt 0.187500 0.375000
vt 0.187500 0.500000
vt 0.000000 0.375000
vt 0.000000 0.000000
vt 0.062500 0.000000
vt 0.187500 0.000000
vt 0.125000 0.000000
vt 0.437500 0.875000
vt 0.437500 1.000000
vt 0.375000 1.000000
vt 0.375000 0.875000
vt 0.250000 0.875000
vt 0.312500 0.875000
vt 0.312500 0.656250
vt 0.250000 0.656250
vt 0.500000 0.875000
vt 0.437500 0.656250
vt 0.500000 0.656250
vt 0.375000 0.656250
vt 0.312500 1.000000
usemtl Armor
s off
f 1/1 3/2 4/3 2/4
f 5/5 6/6 1/7 2/4
f 8/6 7/5 4/8 3/9
f 5/5 2/4 4/3 7/10
f 7/10 8/11 6/12 5/5
f 8/11 3/13 1/14 6/12
f 9/15 11/16 12/17 10/18
f 13/19 14/20 9/21 10/18
f 12/22 11/23 16/20 15/19
f 13/19 10/18 12/17 15/24
f 14/22 13/19 15/24 16/25
f 9/26 14/22 16/25 11/27
f 17/28 18/24 19/29 20/30
f 24/31 23/32 22/24 21/28
f 23/31 24/14 20/13 19/33
f 24/31 21/28 17/34 20/33
f 21/28 22/30 18/35 17/34
f 22/30 23/36 19/37 18/35
f 27/30 31/35 30/37 26/36
f 28/28 32/34 31/35 27/30
f 25/31 29/33 32/34 28/28
f 26/31 30/33 29/13 25/14
f 25/31 28/28 27/24 26/32
f 32/28 29/30 30/29 31/24
f 40/38 33/39 34/40 39/41
f 36/42 38/38 37/41 35/43
f 39/44 37/45 38/46 40/39
f 34/1 35/2 37/47 39/42
f 40/38 38/48 36/46 33/39
f 33/42 36/47 35/48 34/38
f 45/38 46/41 42/40 41/39
f 41/42 42/38 43/48 44/47
f 45/38 41/39 44/46 47/48
f 42/1 46/42 48/47 43/2
f 46/44 45/39 47/46 48/45
f 44/42 43/43 48/41 47/38
f 53/49 54/50 49/51 50/52
f 51/53 52/54 50/55 49/56
f 55/57 51/49 49/58 54/59
f 52/52 56/54 53/55 50/60
f 56/49 55/52 54/60 53/58
f 52/52 51/51 55/61 56/54
f 64/49 61/58 62/60 63/52
f 57/52 59/60 61/55 64/54
f 63/57 62/59 60/58 58/49
f 58/53 60/56 59/55 57/54
f 61/49 59/52 60/51 62/50
f 57/52 64/54 63/61 58/51
f 65/15 66/18 68/17 67/16
f 69/19 66/18 65/21 70/20
f 68/22 71/19 72/20 67/23
f 69/19 71/24 68/17 66/18
f 70/22 72/25 71/24 69/19
f 65/26 67/27 72/25 70/22

View File

@ -1,191 +0,0 @@
# Blender v2.73 (sub 0) OBJ File: '3d_armor_stand.blend'
# www.blender.org
mtllib 3d_armor_stand.mtl
o Player_Cube
v 0.062500 1.312500 -0.062500
v 0.062500 1.312500 0.062500
v -0.062500 1.312500 -0.062500
v -0.062500 1.312500 0.062500
v -0.187500 -0.437504 0.062500
v -0.187500 -0.437504 -0.062500
v -0.187500 0.937500 0.062500
v -0.187500 0.937500 -0.062500
v -0.250000 0.250000 0.062500
v -0.250000 0.250000 -0.062500
v -0.250000 0.125003 0.062500
v -0.250000 0.125003 -0.062500
v 0.250000 0.250000 0.062500
v 0.250000 0.250000 -0.062500
v 0.250000 0.125003 0.062500
v 0.250000 0.125003 -0.062500
v -0.062500 -0.437504 -0.062500
v -0.062500 -0.437504 0.062500
v -0.062500 0.937500 0.062500
v -0.062500 0.937500 -0.062500
v 0.062500 0.250000 0.062500
v 0.062500 0.250000 -0.062500
v 0.187500 0.250000 -0.062500
v 0.187500 0.250000 0.062500
v 0.187500 0.937500 -0.062500
v 0.187500 0.937500 0.062500
v 0.187500 -0.437504 -0.062500
v 0.187500 -0.437504 0.062500
v 0.062500 -0.437504 -0.062500
v 0.062500 -0.437504 0.062500
v 0.062500 0.937500 0.062500
v 0.062500 0.937500 -0.062500
v -0.062500 0.812500 -0.062500
v -0.187500 0.812500 -0.062500
v -0.062500 0.812500 0.062500
v -0.187500 0.812500 0.062500
v 0.062500 0.812500 -0.062500
v 0.187500 0.812500 -0.062500
v 0.187500 0.812500 0.062500
v 0.062500 0.812500 0.062500
v 0.375000 0.812500 0.062500
v 0.375000 0.812500 -0.062500
v 0.375000 0.937500 0.062500
v 0.375000 0.937500 -0.062500
v 0.500000 -0.437500 -0.500000
v 0.500000 -0.437500 0.500000
v -0.500000 -0.437500 -0.500000
v -0.500000 -0.437500 0.500000
v -0.062500 0.250000 -0.062500
v -0.187500 0.250000 -0.062500
v -0.062500 0.250000 0.062500
v -0.187500 0.250000 0.062500
v -0.375000 0.937500 0.062500
v -0.375000 0.937500 -0.062500
v -0.375000 0.812500 -0.062500
v -0.375000 0.812500 0.062500
v 0.500000 -0.500000 -0.500000
v 0.500000 -0.500000 0.500000
v -0.500000 -0.500000 -0.500000
v -0.500000 -0.500000 0.500000
v 0.187500 0.124998 0.062500
v 0.187500 0.124998 -0.062500
v 0.062500 0.124998 0.062500
v 0.062500 0.124998 -0.062500
v -0.062500 0.124998 -0.062500
v -0.187500 0.124998 -0.062500
v -0.062500 0.124998 0.062500
v -0.187500 0.124998 0.062500
vt 0.000000 0.000000
vt 0.875000 0.000000
vt 0.875000 0.250000
vt 0.000000 0.250000
vt 0.125000 0.500000
vt 0.125000 0.750000
vt -0.000000 0.750000
vt -0.000000 0.500000
vt 0.750000 0.000000
vt 1.000000 0.000000
vt 1.000000 0.250000
vt 0.750000 0.250000
vt 0.375000 0.500000
vt 0.375000 0.750000
vt 0.875000 0.750000
vt 0.875000 1.000000
vt 0.000000 1.000000
vt 0.875000 0.500000
vt 0.750000 0.500000
vt 1.000000 0.500000
vt 1.000000 0.750000
vt 0.750000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.625000 0.750000
vt 0.625000 0.500000
vt 0.250000 0.500000
vt 0.250000 0.750000
vt 0.625000 0.250000
vt 0.625000 -0.000000
vt 0.250000 0.250000
vt 0.250000 0.000000
vt 0.375000 0.250000
vt 0.250000 1.000000
vt 1.000000 1.000000
vt 0.750000 1.000000
vt 0.375000 -0.000000
vt 0.125000 0.250000
vt 0.125000 1.000000
vt 0.125000 0.000000
vt -0.000000 0.937500
vt 1.000000 0.937500
vt 0.937500 0.000000
vt 0.937500 1.000000
vt 1.000000 0.062500
vt 0.000000 0.062500
vt 0.062500 0.000000
vt 0.062500 1.000000
g Player_Cube_Stand
usemtl Stand
s off
f 64/1 29/2 30/3 63/4
f 52/5 50/6 10/7 9/8
f 17/9 18/10 5/11 6/12
f 68/3 66/2 6/1 5/4
f 7/13 8/14 54/7 53/8
f 67/15 68/16 5/17 18/7
f 62/4 27/3 29/18 64/8
f 66/3 65/18 17/8 6/4
f 9/19 10/20 12/21 11/22
f 63/7 30/15 28/16 61/17
f 65/18 67/15 18/7 17/8
f 61/8 28/18 27/15 62/7
f 19/23 7/24 36/14 35/25
f 8/14 7/13 19/26 20/25
f 23/15 24/18 13/20 14/21
f 13/8 15/27 16/28 14/7
f 39/29 38/30 42/10 41/11
f 29/31 27/4 28/1 30/32
f 25/28 26/27 43/26 44/25
f 38/12 25/19 44/13 42/33
f 25/28 32/7 31/8 26/27
f 8/26 20/13 33/33 34/29
f 25/19 38/12 37/11 32/20
f 31/17 40/7 39/28 26/34
f 26/34 39/28 41/25 43/23
f 43/7 41/28 42/34 44/17
f 53/22 54/21 55/35 56/36
f 36/14 7/24 53/17 56/7
f 8/26 34/29 55/11 54/20
f 34/37 36/33 56/4 55/1
f 51/13 21/26 22/25 49/14
f 20/4 3/12 1/19 32/8
f 40/15 31/16 19/23 35/25
f 35/29 33/30 37/2 40/3
f 33/33 20/13 32/5 37/38
f 3/14 4/24 2/23 1/25
f 19/12 4/4 3/1 20/9
f 31/36 2/17 4/7 19/22
f 32/22 1/7 2/8 31/19
f 23/5 62/38 64/33 22/13
f 21/14 63/24 61/39 24/6
f 61/3 62/2 16/10 15/11
f 62/38 23/5 14/8 16/4
f 24/6 61/39 15/17 13/7
f 50/18 66/3 12/11 10/20
f 66/40 68/38 11/4 12/1
f 50/18 49/26 65/29 66/3
f 51/25 52/15 68/16 67/23
f 68/16 52/15 9/21 11/35
f 49/26 22/13 64/33 65/29
f 51/25 67/23 63/24 21/14
f 67/33 65/37 64/30 63/29
f 37/1 22/2 21/3 40/4
f 38/4 23/3 22/18 37/8
f 40/7 21/15 24/16 39/17
f 39/8 24/18 23/15 38/7
f 36/2 34/3 50/4 52/1
f 35/15 36/16 52/17 51/7
f 34/3 33/18 49/8 50/4
f 33/18 35/15 51/7 49/8
g Player_Cube_Base
usemtl Base
f 47/17 48/1 46/10 45/35
f 59/1 57/10 58/35 60/17
f 48/17 60/41 58/42 46/35
f 46/43 58/10 57/35 45/44
f 47/1 45/10 57/45 59/46
f 48/47 47/48 59/17 60/1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

View File

@ -1,10 +0,0 @@
[mod] Hazmat Suit [hazmat_suit]
===================================
Adds hazmat suit to 3d_armor. It protects rather well from fire (if enabled in configuration) and radiation, and it has built-in oxygen supply.
Requires technic mod.
Depends: 3d_armor, technic
Source code by numZero
Textures by HybridDog and numZero

View File

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

View File

@ -1 +0,0 @@
Adds hazmat suit (protects from water, fire and radiation) to 3d_armor.

View File

@ -1,126 +0,0 @@
local part_count = 4
local level = 35
local heal = 20
local use = 1000
local fire = 4
local water = 1
local radiation = 50
if minetest.get_modpath("shields") then
level = level / 0.9
end
if part_count == #armor.elements then
level = level / 1.1
end
level = math.floor(level / part_count)
heal = math.floor(heal / part_count)
fire = math.floor(fire / part_count)
radiation = math.floor(radiation / part_count)
minetest.register_craftitem("hazmat_suit:helmet_hazmat", {
description = "Hazmat Helmet",
inventory_image = "hazmat_suit_inv_helmet_hazmat.png",
stack_max = 1,
})
minetest.register_craftitem("hazmat_suit:chestplate_hazmat", {
description = "Hazmat Chestplate",
inventory_image = "hazmat_suit_inv_chestplate_hazmat.png",
stack_max = 1,
})
minetest.register_craftitem("hazmat_suit:sleeve_hazmat", {
description = "Hazmat Sleeve",
inventory_image = "hazmat_suit_inv_sleeve_hazmat.png",
stack_max = 1,
})
minetest.register_craftitem("hazmat_suit:leggings_hazmat", {
description = "Hazmat Leggins",
inventory_image = "hazmat_suit_inv_leggings_hazmat.png",
stack_max = 1,
})
minetest.register_craftitem("hazmat_suit:boots_hazmat", {
description = "Hazmat Boots",
inventory_image = "hazmat_suit_inv_boots_hazmat.png",
stack_max = 1,
})
minetest.register_tool("hazmat_suit:suit_hazmat", {
description = "Hazmat Suit",
inventory_image = "hazmat_suit_inv_suit_hazmat.png",
groups = {
armor_head = level,
armor_torso = level,
armor_legs = level,
armor_feet = level,
armor_heal = heal,
armor_use = use,
armor_fire = fire,
armor_water = water,
armor_radiation = radiation,
},
wear = 0,
})
minetest.register_craft({
output = "hazmat_suit:helmet_hazmat",
recipe = {
{"", "technic:stainless_steel_ingot", ""},
{"technic:stainless_steel_ingot", "default:glass", "technic:stainless_steel_ingot"},
{"technic:rubber", "technic:rubber", "technic:rubber"},
},
})
minetest.register_craft({
output = "hazmat_suit:chestplate_hazmat",
recipe = {
{"technic:lead_ingot", "dye:yellow", "technic:lead_ingot"},
{"technic:stainless_steel_ingot", "technic:lead_ingot", "technic:stainless_steel_ingot"},
{"technic:lead_ingot", "technic:stainless_steel_ingot", "technic:lead_ingot"},
},
})
minetest.register_craft({
output = "hazmat_suit:sleeve_hazmat",
recipe = {
{"technic:rubber", "dye:yellow"},
{"", "technic:stainless_steel_ingot"},
{"", "technic:rubber"},
},
})
minetest.register_craft({
output = "hazmat_suit:leggings_hazmat",
recipe = {
{"technic:rubber", "technic:lead_ingot", "technic:rubber"},
{"technic:stainless_steel_ingot", "technic:rubber", "technic:stainless_steel_ingot"},
{"technic:lead_ingot", "", "technic:lead_ingot"},
},
})
minetest.register_craft({
output = "hazmat_suit:boots_hazmat",
recipe = {
{"", "", ""},
{"technic:rubber", "", "technic:rubber"},
{"technic:stainless_steel_ingot", "", "technic:stainless_steel_ingot"},
},
})
minetest.register_craft({
output = "hazmat_suit:suit_hazmat",
type = "shapeless",
recipe = {
"hazmat_suit:helmet_hazmat",
"hazmat_suit:chestplate_hazmat",
"hazmat_suit:leggings_hazmat",
"hazmat_suit:boots_hazmat",
"hazmat_suit:sleeve_hazmat",
"hazmat_suit:sleeve_hazmat",
},
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 792 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1005 B

View File

@ -1,6 +0,0 @@
Adds shields to 3d_armor
Depends: 3d_armor
Originally a part of 3d_armor, shields have been re-included as an optional extra.
If you do not what shields then simply remove the shields folder from the modpack.

View File

@ -1,36 +0,0 @@
Shields -- Crafting Guide
--------------------------
+---+---+---+
| X | X | X |
+---+---+---+
| X | X | X |
+---+---+---+
| | X | |
+---+---+---+
[shields:shield_wood] X = [default:wood]
[shields:shield_cactus] X = [default:cactus]
[shields:shield_steel] X = [default:steel_ingot]
[shields:shield_bronze] X = [default:bronze_ingot]
[shields:shield_diamond] X = [default:diamond]
[shields:shield_gold] X = [default:gold_ingot]
[shields:shield_mithril] X = [moreores:mithril_ingot]
[shields:shield_crystal] X = [ethereal:crystal_ingot]
Enhanced Shields
----------------
+---+
| S |
+---+
| X |
+---+
| S |
+---+
[shields:shield_enhanced_wood] X = [shields:shield_wood]
[shields:shield_enhanced_cactus] X = [shields:shield_cactus]
S = [default:steel_ingot]

View File

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

View File

@ -1 +0,0 @@
Adds visible shields to 3d armor.

View File

@ -1,126 +0,0 @@
local use_moreores = minetest.get_modpath("moreores")
-- Regisiter Shields
minetest.register_tool("shields:shield_admin", {
description = "Admin Shield",
inventory_image = "shields_inv_shield_admin.png",
groups = {armor_shield=1000, armor_heal=100, armor_use=0, not_in_creative_inventory=1},
wear = 0,
})
if ARMOR_MATERIALS.wood then
minetest.register_tool("shields:shield_wood", {
description = "Wooden Shield",
inventory_image = "shields_inv_shield_wood.png",
groups = {armor_shield=5, armor_heal=0, armor_use=2000},
wear = 0,
})
minetest.register_tool("shields:shield_enhanced_wood", {
description = "Enhanced Wood Shield",
inventory_image = "shields_inv_shield_enhanced_wood.png",
groups = {armor_shield=8, armor_heal=0, armor_use=1000},
wear = 0,
})
minetest.register_craft({
output = "shields:shield_enhanced_wood",
recipe = {
{"default:steel_ingot"},
{"shields:shield_wood"},
{"default:steel_ingot"},
},
})
end
if ARMOR_MATERIALS.cactus then
minetest.register_tool("shields:shield_cactus", {
description = "Cactus Shield",
inventory_image = "shields_inv_shield_cactus.png",
groups = {armor_shield=5, armor_heal=0, armor_use=2000},
wear = 0,
})
minetest.register_tool("shields:shield_enhanced_cactus", {
description = "Enhanced Cactus Shield",
inventory_image = "shields_inv_shield_enhanced_cactus.png",
groups = {armor_shield=8, armor_heal=0, armor_use=1000},
wear = 0,
})
minetest.register_craft({
output = "shields:shield_enhanced_cactus",
recipe = {
{"default:steel_ingot"},
{"shields:shield_cactus"},
{"default:steel_ingot"},
},
})
end
if ARMOR_MATERIALS.steel then
minetest.register_tool("shields:shield_steel", {
description = "Steel Shield",
inventory_image = "shields_inv_shield_steel.png",
groups = {armor_shield=10, armor_heal=0, armor_use=500},
wear = 0,
})
end
if ARMOR_MATERIALS.bronze then
minetest.register_tool("shields:shield_bronze", {
description = "Bronze Shield",
inventory_image = "shields_inv_shield_bronze.png",
groups = {armor_shield=10, armor_heal=6, armor_use=250},
wear = 0,
})
end
if ARMOR_MATERIALS.diamond then
minetest.register_tool("shields:shield_diamond", {
description = "Diamond Shield",
inventory_image = "shields_inv_shield_diamond.png",
groups = {armor_shield=15, armor_heal=12, armor_use=100},
wear = 0,
})
end
if ARMOR_MATERIALS.gold then
minetest.register_tool("shields:shield_gold", {
description = "Gold Shield",
inventory_image = "shields_inv_shield_gold.png",
groups = {armor_shield=10, armor_heal=6, armor_use=250},
wear = 0,
})
end
if ARMOR_MATERIALS.mithril then
minetest.register_tool("shields:shield_mithril", {
description = "Mithril Shield",
inventory_image = "shields_inv_shield_mithril.png",
groups = {armor_shield=15, armor_heal=12, armor_use=50},
wear = 0,
})
end
if ARMOR_MATERIALS.crystal then
minetest.register_tool("shields:shield_crystal", {
description = "Crystal Shield",
inventory_image = "shields_inv_shield_crystal.png",
groups = {armor_shield=15, armor_heal=12, armor_use=50, armor_fire=1},
wear = 0,
})
end
for k, v in pairs(ARMOR_MATERIALS) do
minetest.register_craft({
output = "shields:shield_"..k,
recipe = {
{v, v, v},
{v, v, v},
{"", v, ""},
},
})
end
minetest.after(0, function()
table.insert(armor.elements, "shield")
end)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 477 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 502 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 622 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 530 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 787 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,9 +0,0 @@
[mod] Technic Armor [technic_armor]
===================================
Adds tin, silver and technic materials to 3d_armor.
Requires technic (technic_worldgen at least) mod.
Depends: 3d_armor, technic_worldgen
Source code and textures by poet.nohit and numzero

View File

@ -1,3 +0,0 @@
3d_armor
technic_worldgen
moreores?

View File

@ -1 +0,0 @@
Adds tin, silver and technic materials to 3d_armor.

View File

@ -1,56 +0,0 @@
local stats = {
lead = { name="Lead", material="technic:lead_ingot", armor=1.6, heal=0, use=500, radiation=80*1.1 },
brass = { name="Brass", material="technic:brass_ingot", armor=1.8, heal=0, use=650, radiation=43 },
cast = { name="Cast Iron", material="technic:cast_iron_ingot", armor=2.5, heal=8, use=200, radiation=40 },
carbon = { name="Carbon Steel", material="technic:carbon_steel_ingot", armor=2.7, heal=10, use=100, radiation=40 },
stainless = { name="Stainless Steel", material="technic:stainless_steel_ingot", armor=2.7, heal=10, use=75, radiation=40 },
}
if minetest.get_modpath("moreores") then
stats.tin = { name="Tin", material="moreores:tin_ingot", armor=1.6, heal=0, use=750, radiation=37 }
stats.silver = { name="Silver", material="moreores:silver_ingot", armor=1.8, heal=6, use=650, radiation=53 }
end
local parts = {
helmet = { place="head", name="Helmet", level=5, radlevel = 0.10, craft={{1,1,1},{1,0,1}} },
chestplate = { place="torso", name="Chestplate", level=8, radlevel = 0.35, craft={{1,0,1},{1,1,1},{1,1,1}} },
leggings = { place="legs", name="Leggings", level=7, radlevel = 0.15, craft={{1,1,1},{1,0,1},{1,0,1}} },
boots = { place="feet", name="Boots", level=4, radlevel = 0.10, craft={{1,0,1},{1,0,1}} },
}
if minetest.get_modpath("shields") then
parts.shield = { place="shield", name="Shield", level=5, radlevel=0.00, craft={{1,1,1},{1,1,1},{0,1,0}} }
end
-- Makes a craft recipe based on a template
-- template is a recipe-like table but indices are used instead of actual item names:
-- 0 means nothing, everything else is treated as an index in the materials table
local function make_recipe(template, materials)
local recipe = {}
for j, trow in ipairs(template) do
local rrow = {}
for i, tcell in ipairs(trow) do
if tcell == 0 then
rrow[i] = ""
else
rrow[i] = materials[tcell]
end
end
recipe[j] = rrow
end
return recipe
end
for key, armor in pairs(stats) do
for partkey, part in pairs(parts) do
local partname = "technic_armor:"..partkey.."_"..key
minetest.register_tool(partname, {
description = armor.name.." "..part.name,
inventory_image = "technic_armor_inv_"..partkey.."_"..key..".png",
groups = {["armor_"..part.place]=math.floor(part.level*armor.armor), armor_heal=armor.heal, armor_use=armor.use, armor_radiation=math.floor(part.radlevel*armor.radiation)},
wear = 0,
})
minetest.register_craft({
output = partname,
recipe = make_recipe(part.craft, {armor.material}),
})
end
end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 339 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 503 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 936 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 547 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 966 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 893 B

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