forked from mtcontrib/3d_armor
Add support for sfinv
This commit is contained in:
parent
3df7802439
commit
8b8a554ff7
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
Depends: default
|
Depends: default
|
||||||
|
|
||||||
Recommends: inventory_plus or unified_inventory (use only one)
|
Recommends: sfinv, inventory_plus or unified_inventory (use only one to avoid conflicts)
|
||||||
|
|
||||||
Adds craftable armor that is visible to other players. Each armor item worn contributes to
|
Adds craftable armor that is visible to other players. Each armor item worn contributes to
|
||||||
a player's armor group level making them less vulnerable to weapons.
|
a player's armor group level making them less vulnerable to weapons.
|
||||||
@ -21,4 +21,3 @@ Armor can be configured by adding a file called armor.conf in 3d_armor mod and/o
|
|||||||
see armor.conf.example for all available options.
|
see armor.conf.example for all available options.
|
||||||
|
|
||||||
Note: worldpath config settings override any settings made in the mod's directory.
|
Note: worldpath config settings override any settings made in the mod's directory.
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ if minetest.get_modpath("inventory_plus") then
|
|||||||
inventory_plus.get_formspec = function(player, page)
|
inventory_plus.get_formspec = function(player, page)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif minetest.get_modpath("unified_inventory") then
|
elseif minetest.get_modpath("unified_inventory") and not unified_inventory.sfinv_compat_layer then
|
||||||
inv_mod = "unified_inventory"
|
inv_mod = "unified_inventory"
|
||||||
unified_inventory.register_button("armor", {
|
unified_inventory.register_button("armor", {
|
||||||
type = "image",
|
type = "image",
|
||||||
@ -120,6 +120,17 @@ elseif minetest.get_modpath("inventory_enhanced") then
|
|||||||
inv_mod = "inventory_enhanced"
|
inv_mod = "inventory_enhanced"
|
||||||
elseif minetest.get_modpath("smart_inventory") then
|
elseif minetest.get_modpath("smart_inventory") then
|
||||||
inv_mod = "smart_inventory"
|
inv_mod = "smart_inventory"
|
||||||
|
elseif minetest.get_modpath("sfinv") then
|
||||||
|
inv_mod = "sfinv"
|
||||||
|
armor.formspec = "image[2,0.5;2,4;armor_preview]"
|
||||||
|
|
||||||
|
sfinv.register_page("3d_armor:armor", {
|
||||||
|
title = "Armor",
|
||||||
|
get = function(self, player, context)
|
||||||
|
return sfinv.make_formspec(player, context,
|
||||||
|
armor:get_armor_formspec(player:get_player_name()), true)
|
||||||
|
end
|
||||||
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
if minetest.get_modpath("skins") then
|
if minetest.get_modpath("skins") then
|
||||||
@ -248,7 +259,7 @@ end
|
|||||||
|
|
||||||
armor.update_armor = function(self, player)
|
armor.update_armor = function(self, player)
|
||||||
-- Legacy support: Called when armor levels are changed
|
-- Legacy support: Called when armor levels are changed
|
||||||
-- Other mods can hook on to this function, see hud mod for example
|
-- Other mods can hook on to this function, see hud mod for example
|
||||||
end
|
end
|
||||||
|
|
||||||
armor.get_player_skin = function(self, name)
|
armor.get_player_skin = function(self, name)
|
||||||
@ -297,9 +308,16 @@ armor.update_inventory = function(self, player)
|
|||||||
if state then
|
if state then
|
||||||
state:get("update_hook"):submit()
|
state:get("update_hook"):submit()
|
||||||
end
|
end
|
||||||
return
|
elseif inv_mod == "sfinv" then
|
||||||
end
|
if sfinv.set_page then
|
||||||
if inv_mod == "unified_inventory" then
|
sfinv.set_page(player, "3d_armor:armor")
|
||||||
|
else
|
||||||
|
-- Backwards compat
|
||||||
|
sfinv.set_player_inventory_formspec(player, {
|
||||||
|
page = "3d_armor:armor"
|
||||||
|
})
|
||||||
|
end
|
||||||
|
elseif inv_mod == "unified_inventory" then
|
||||||
if unified_inventory.current_page[name] == "armor" then
|
if unified_inventory.current_page[name] == "armor" then
|
||||||
unified_inventory.set_inventory_formspec(player, "armor")
|
unified_inventory.set_inventory_formspec(player, "armor")
|
||||||
end
|
end
|
||||||
@ -428,7 +446,7 @@ minetest.register_on_joinplayer(function(player)
|
|||||||
for i=1, 6 do
|
for i=1, 6 do
|
||||||
local stack = player_inv:get_stack("armor", i)
|
local stack = player_inv:get_stack("armor", i)
|
||||||
armor_inv:set_stack("armor", i, stack)
|
armor_inv:set_stack("armor", i, stack)
|
||||||
end
|
end
|
||||||
armor.def[name] = {
|
armor.def[name] = {
|
||||||
state = 0,
|
state = 0,
|
||||||
count = 0,
|
count = 0,
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
default
|
default
|
||||||
inventory_plus?
|
inventory_plus?
|
||||||
unified_inventory?
|
unified_inventory?
|
||||||
|
sfinv?
|
||||||
fire?
|
fire?
|
||||||
ethereal?
|
ethereal?
|
||||||
bakedclay?
|
bakedclay?
|
||||||
|
Loading…
Reference in New Issue
Block a user