Rewrite wearing, use inventory list.
This commit is contained in:
parent
f02676fc15
commit
c75a15525d
@ -1,20 +1,20 @@
|
|||||||
clothing = {}
|
|
||||||
|
|
||||||
--{{{ Wear clothing (on_place)
|
--{{{ Wear clothing (on_place)
|
||||||
local function put_on(item, player)
|
local function put_on(item, player)
|
||||||
local name = player:get_player_name()
|
item = player:get_inventory():add_item("wear", item)
|
||||||
local wear_image = item:get_definition().wear_image
|
print("DEBUG:", item)
|
||||||
local weared = clothing[name] or {}
|
|
||||||
|
|
||||||
table.insert(weared, wear_image)
|
|
||||||
|
|
||||||
|
local weared = player:get_inventory():get_list("wear")
|
||||||
local skin = default.player_get_animation(player).textures[1]
|
local skin = default.player_get_animation(player).textures[1]
|
||||||
for _,clothing in ipairs(weared) do
|
for _,itemstack in ipairs(weared) do
|
||||||
skin = skin .. "^" .. clothing
|
skin = skin .. "^" .. itemstack:get_definition().wear_image
|
||||||
end
|
end
|
||||||
|
|
||||||
default.player_set_textures(player, {skin})
|
default.player_set_textures(player, {skin})
|
||||||
minetest.log("action", name .. " puts on a " .. item:get_name())
|
minetest.log("action",
|
||||||
|
player:get_player_name() ..
|
||||||
|
" puts on a " ..
|
||||||
|
item:get_name()
|
||||||
|
)
|
||||||
|
|
||||||
item:take_item()
|
item:take_item()
|
||||||
return item
|
return item
|
||||||
@ -28,6 +28,10 @@ minetest.register_on_joinplayer(function(player)
|
|||||||
-- player:get_inventory():set_list("wear",{})
|
-- player:get_inventory():set_list("wear",{})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
|
print("DEBUG:", player, dump(formname), dump(fields))
|
||||||
|
end)
|
||||||
|
|
||||||
minetest.register_on_newplayer(function(player)
|
minetest.register_on_newplayer(function(player)
|
||||||
-- Add inventory list for clothing
|
-- Add inventory list for clothing
|
||||||
player:get_inventory():set_list("wear", {})
|
player:get_inventory():set_list("wear", {})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user