2014-03-17 06:26:58 +01:00
|
|
|
-- Unified Skins for Minetest - based modified Bags from unfied_inventory and skins from inventory_plus
|
|
|
|
|
|
|
|
-- Copyright (c) 2012 cornernote, Dean Montgomery
|
2017-06-15 18:19:47 +02:00
|
|
|
-- Rework 2017 by bell07
|
2014-03-17 06:26:58 +01:00
|
|
|
-- License: GPLv3
|
2016-09-05 19:20:16 +02:00
|
|
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
|
|
|
|
2017-02-09 23:06:25 +01:00
|
|
|
skins = {}
|
2017-06-15 18:19:47 +02:00
|
|
|
skins.modpath = minetest.get_modpath(minetest.get_current_modname())
|
2017-07-24 17:39:16 +02:00
|
|
|
skins.default = "character"
|
2014-03-17 06:26:58 +01:00
|
|
|
|
2018-02-13 22:31:44 +01:00
|
|
|
local S
|
|
|
|
if minetest.get_modpath("intllib") then
|
|
|
|
skins.S = intllib.Getter()
|
|
|
|
else
|
|
|
|
skins.S = function(s) return s end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
2017-06-16 23:16:22 +02:00
|
|
|
dofile(skins.modpath.."/skin_meta_api.lua")
|
2017-06-16 21:40:54 +02:00
|
|
|
dofile(skins.modpath.."/api.lua")
|
2017-02-09 23:06:25 +01:00
|
|
|
dofile(skins.modpath.."/skinlist.lua")
|
2018-02-13 22:31:44 +01:00
|
|
|
dofile(skins.modpath.."/formspecs.lua")
|
2018-02-13 22:02:22 +01:00
|
|
|
dofile(skins.modpath.."/chatcommands.lua")
|
2017-02-09 23:06:25 +01:00
|
|
|
-- Unified inventory page/integration
|
|
|
|
if minetest.get_modpath("unified_inventory") then
|
|
|
|
dofile(skins.modpath.."/unified_inventory_page.lua")
|
2014-03-17 06:26:58 +01:00
|
|
|
end
|
|
|
|
|
2017-06-15 17:18:51 +02:00
|
|
|
if minetest.get_modpath("sfinv") then
|
|
|
|
dofile(skins.modpath.."/sfinv_page.lua")
|
|
|
|
end
|
2017-06-16 23:00:36 +02:00
|
|
|
|
|
|
|
-- 3d_armor compatibility
|
|
|
|
if minetest.global_exists("armor") then
|
|
|
|
armor.get_player_skin = function(self, name)
|
|
|
|
local skin = skins.get_player_skin(minetest.get_player_by_name(name))
|
2017-06-18 23:15:58 +02:00
|
|
|
return skin:get_texture()
|
2017-06-16 23:00:36 +02:00
|
|
|
end
|
|
|
|
armor.get_preview = function(self, name)
|
|
|
|
local skin = skins.get_player_skin(minetest.get_player_by_name(name))
|
2017-06-16 23:16:22 +02:00
|
|
|
return skin:get_preview()
|
2017-06-16 23:00:36 +02:00
|
|
|
end
|
|
|
|
end
|
2017-06-18 23:15:58 +02:00
|
|
|
|
|
|
|
-- Update skin on join
|
2018-02-14 02:19:15 +01:00
|
|
|
skins.ui_context = {}
|
2017-06-18 23:15:58 +02:00
|
|
|
minetest.register_on_joinplayer(function(player)
|
|
|
|
skins.update_player_skin(player)
|
2018-02-14 02:19:15 +01:00
|
|
|
skins.ui_context[player:get_player_name()] = {}
|
|
|
|
end)
|
|
|
|
|
|
|
|
minetest.register_on_leaveplayer(function(player)
|
|
|
|
skins.ui_context[player:get_player_name()] = nil
|
2017-06-18 23:15:58 +02:00
|
|
|
end)
|