Add hand_monoid support (#81)

This commit is contained in:
fluxionary 2023-01-15 05:16:44 -08:00 committed by GitHub
parent 6db9a55f0c
commit b49907c4b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 5 deletions

View File

@ -10,4 +10,5 @@ globals = {
read_globals = { read_globals = {
string = {fields = {"split", "trim"}}, string = {fields = {"split", "trim"}},
table = {fields = {"copy", "getn"}}, table = {fields = {"copy", "getn"}},
"hand_monoid",
} }

View File

@ -1,5 +1,5 @@
name = skinsdb name = skinsdb
description = Player skin mod, supporting unified_inventory, sfinv and smart_inventory description = Player skin mod, supporting unified_inventory, sfinv and smart_inventory
depends = player_api depends = player_api
optional_depends = unified_inventory,3d_armor,clothing,sfinv optional_depends = unified_inventory,3d_armor,clothing,sfinv,hand_monoid
min_minetest_version = 5.4.0 min_minetest_version = 5.4.0

View File

@ -1,5 +1,7 @@
skins.meta = {} skins.meta = {}
local has_hand_monoid = minetest.get_modpath("hand_monoid")
local skin_class = {} local skin_class = {}
skin_class.__index = skin_class skin_class.__index = skin_class
skins.skin_class = skin_class skins.skin_class = skin_class
@ -208,11 +210,19 @@ function skin_class:apply_skin_to_player(player)
}) })
local hand = self:get_hand() local hand = self:get_hand()
if hand then if has_hand_monoid then
player:get_inventory():set_size("hand", 1) if hand then
player:get_inventory():set_stack("hand", 1, hand) hand_monoid.monoid:add_change(player, {name = hand}, "skinsdb:hand")
else
hand_monoid.monoid:del_change(player, "skinsdb:hand")
end
else else
player:get_inventory():set_stack("hand", 1, "") if hand then
player:get_inventory():set_size("hand", 1)
player:get_inventory():set_stack("hand", 1, hand)
else
player:get_inventory():set_stack("hand", 1, "")
end
end end
end end