forked from Sokomine/yl_speak_up
store cape and shield texture without the mask (apply that in on_activate)
This commit is contained in:
parent
48243f2ddc
commit
20735916c1
@ -141,6 +141,12 @@ yl_speak_up.mesh_update_textures = function(pname, textures)
|
|||||||
if(not(obj) or not(textures)) then
|
if(not(obj) or not(textures)) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
-- store the textures without added masks for cape and shield:
|
||||||
|
yl_speak_up.speak_to[pname].skins = textures
|
||||||
|
local entity = obj:get_luaentity()
|
||||||
|
if(entity) then
|
||||||
|
entity.yl_speak_up.skin = textures
|
||||||
|
end
|
||||||
-- the skins with wielded items need some conversion,
|
-- the skins with wielded items need some conversion,
|
||||||
-- while simpler models may just apply the texture
|
-- while simpler models may just apply the texture
|
||||||
local mesh = yl_speak_up.get_mesh(pname)
|
local mesh = yl_speak_up.get_mesh(pname)
|
||||||
@ -148,11 +154,6 @@ yl_speak_up.mesh_update_textures = function(pname, textures)
|
|||||||
textures = yl_speak_up.textures2skin(textures)
|
textures = yl_speak_up.textures2skin(textures)
|
||||||
end
|
end
|
||||||
obj:set_properties({ textures = textures })
|
obj:set_properties({ textures = textures })
|
||||||
yl_speak_up.speak_to[pname].skins = textures
|
|
||||||
local entity = obj:get_luaentity()
|
|
||||||
if(entity) then
|
|
||||||
entity.yl_speak_up.skin = textures
|
|
||||||
end
|
|
||||||
-- scrolling through the diffrent skins updates the skin; avoid spam in the log
|
-- scrolling through the diffrent skins updates the skin; avoid spam in the log
|
||||||
-- yl_speak_up.log_change(pname, n_id,
|
-- yl_speak_up.log_change(pname, n_id,
|
||||||
-- "(fashion) skin changed to "..tostring(new_skin)..".")
|
-- "(fashion) skin changed to "..tostring(new_skin)..".")
|
||||||
|
@ -86,6 +86,34 @@ function yl_speak_up.do_mobs_after_activate(self, staticdata, def, dtime)
|
|||||||
-- load the texture/skin of the NPC
|
-- load the texture/skin of the NPC
|
||||||
if self.yl_speak_up and self.yl_speak_up.skin then
|
if self.yl_speak_up and self.yl_speak_up.skin then
|
||||||
local tex = self.yl_speak_up.skin
|
local tex = self.yl_speak_up.skin
|
||||||
|
-- only use the cape as such:
|
||||||
|
if(tex[1]) then
|
||||||
|
local p = string.split(tex[1], "=")
|
||||||
|
if(#p > 1) then
|
||||||
|
tex[1] = p[#p]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- the shield:
|
||||||
|
if(tex[3]) then
|
||||||
|
local p = string.split(tex[3], "=")
|
||||||
|
if(#p > 1) then
|
||||||
|
tex[3] = p[#p]
|
||||||
|
local start = 1
|
||||||
|
local ende = string.len(tex[3])
|
||||||
|
if(string.sub(tex[3], 1, 1)=="(") then
|
||||||
|
start = 2
|
||||||
|
end
|
||||||
|
if(string.sub(tex[3], ende)==")") then
|
||||||
|
ende = ende - 1
|
||||||
|
end
|
||||||
|
tex[3] = string.sub(tex[3], start, ende)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- store only the basic texture names without shield and text mask:
|
||||||
|
self.yl_speak_up.skin = tex
|
||||||
|
-- add back cape and shield mask:
|
||||||
|
tex[1] = yl_speak_up.cape2texture(tex[1])
|
||||||
|
tex[3] = yl_speak_up.shield2texture(tex[3])
|
||||||
self.object:set_properties({textures = {tex[1], tex[2], tex[3], tex[4]}})
|
self.object:set_properties({textures = {tex[1], tex[2], tex[3], tex[4]}})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user