2 local update_time
= tonumber(minetest
.settings
:get("wieldview_update_time"))
3 if not update_time
then
5 minetest
.settings
:set("wieldview_update_time", tostring(update_time
))
7 local node_tiles
= minetest
.settings
:get_bool("wieldview_node_tiles")
10 minetest
.settings
:set("wieldview_node_tiles", "false")
18 dofile(minetest
.get_modpath(minetest
.get_current_modname()).."/transform.lua")
20 wieldview
.get_item_texture
= function(self
, item
)
21 local texture
= "3d_armor_trans.png"
23 if minetest
.registered_items
[item
] then
24 if minetest
.registered_items
[item
].inventory_image
~= "" then
25 texture
= minetest
.registered_items
[item
].inventory_image
26 elseif node_tiles
== true and minetest
.registered_items
[item
].tiles
27 and type(minetest
.registered_items
[item
].tiles
[1]) == "string"
28 and minetest
.registered_items
[item
].tiles
[1] ~= "" then
29 texture
= minetest
.inventorycube(minetest
.registered_items
[item
].tiles
[1])
32 if wieldview
.transform
[item
] then
33 texture
= texture
.."^[transform"..wieldview
.transform
[item
]
39 wieldview
.update_wielded_item
= function(self
, player
)
43 local name
= player
:get_player_name()
44 local stack
= player
:get_wielded_item()
45 local item
= stack
:get_name()
49 if self
.wielded_item
[name
] then
50 if self
.wielded_item
[name
] == item
then
53 armor
.textures
[name
].wielditem
= self
:get_item_texture(item
)
54 armor
:update_player_visuals(player
)
56 self
.wielded_item
[name
] = item
59 minetest
.register_on_joinplayer(function(player
)
60 local name
= player
:get_player_name()
61 wieldview
.wielded_item
[name
] = ""
62 minetest
.after(0, function(player
)
63 wieldview
:update_wielded_item(player
)
67 minetest
.register_globalstep(function(dtime
)
69 if time
> update_time
then
70 for _
,player
in ipairs(minetest
.get_connected_players()) do
71 wieldview
:update_wielded_item(player
)