Compare commits

..

3 commits

Author SHA1 Message Date
220e7a04b7
i feel so soggy! 2025-03-02 01:51:50 -08:00
fc31f49d3f
oops. 2025-03-02 01:23:56 -08:00
b17f526929
update version 2025-03-02 01:16:33 -08:00
5 changed files with 60 additions and 4 deletions

View file

@ -1,9 +1,11 @@
# figura-skin # figura-skin
my figura avatar!! this currently targets version **0.14** my figura avatar!! this currently targets version **0.15**
`textures/vanilla.png` contains the skins base, which can be used as your default minecraft skin if you so choose `textures/main.png` contains the skins base, which can be used as your default minecraft skin if you so choose
## development ## development
to get proper typings, find the correct branch for your figura version [on this repository](github.com/GrandpaScout/FiguraRewriteVSDocs/). then, copy everything from the `src/` folder into your current working folder here to get proper typings, find the correct branch for your figura version [on this repository](github.com/GrandpaScout/FiguraRewriteVSDocs/). then, copy everything from the `src/` folder into your current working folder here
unfortunately, 0.15 typings aren't done yet, so just make sure it works :)

View file

@ -4,9 +4,10 @@
"authors": [ "authors": [
"reidlab", "reidlab",
"mrsirsquishy: Squishy's API", "mrsirsquishy: Squishy's API",
"purpledeni + Manuel_: Gradient Scroll Nickname" "purpledeni + Manuel_: Gradient Scroll Nickname",
"adristel: Wet Clothes/Fur Script"
], ],
"color": "#d87b5a", "color": "#d87b5a",
"version": "0.1.4", "version": "0.1.5",
"autoScripts": [ "scripts/main.lua" ] "autoScripts": [ "scripts/main.lua" ]
} }

17
scripts/libs/utils.lua Normal file
View file

@ -0,0 +1,17 @@
local module = {}
--- @param model ModelPart
--- @param func fun(model: ModelPart)
function module.forEachNonGroup(model, func)
if model:getType() == "GROUP" then
for _, child in pairs(model:getChildren()) do
module.forEachNonGroup(child, func)
end
end
if model:getType() == "CUBE" or model:getType() == "MESH" then
func(model)
end
end
return module

View file

@ -3,4 +3,5 @@ events.ENTITY_INIT:register(function ()
require("scripts.tail_physics") require("scripts.tail_physics")
require("scripts.ear_physics") require("scripts.ear_physics")
require("scripts.nameplate") require("scripts.nameplate")
require("scripts.soggy")
end) end)

35
scripts/soggy.lua Normal file
View file

@ -0,0 +1,35 @@
local utils = require("scripts.libs.utils")
local tw = 1 --top wetness --wet effect
local bw = 1 --bottom wetness
local driptime = 4 --recommended to change based on how low you have TW/BW
local offset = vec(0,0,0)
local offset2 = vec(0,0,0)
events.TICK:register(function ()
if player:isInRain() then --makes clothes wet if in rain
tw = tw - 0.005
bw = bw - 0.005
if tw <= 0.6 then tw = 0.6 end
if bw <= 0.6 then bw = 0.6 end
end
offset = vec((math.random()-0.5), math.random(), (math.random()-0.5)) --random offset of particles
offset2 = vec(math.random(-1,1),math.random(-1,1),math.random(-1,1)) -- velocity
if player:isInWater() then bw = 0.6 end --if player is standing in water, make bottom clothes wet
if player:isUnderwater() then tw = 0.6 end --if player is submerged in water, make top clothes wet
if not player:isUnderwater() and tw ~= 1 and not player:isInRain() then tw = tw + 0.005 end --if not submerged in water, dry top clothes
if not player:isInWater() and bw ~= 1 and not player:isInRain() then bw = bw + 0.005 end --if not standing in water, dry bottom clothes
if bw >= 1 then bw = 1 end
if tw >= 1 then tw = 1 end
if world.getTime() % driptime == 0 and tw ~= 1 and not (player:isUnderwater()) then for _ = 0, driptime*0.5 do particles:newParticle("falling_dripstone_water",player:getPos():add(offset+vec(0,0.7,0)),offset2) end end
if world.getTime() % driptime == 0 and bw ~= 1 and not (player:isInWater()) then for _ = 0, driptime*0.5 do particles:newParticle("falling_dripstone_water",player:getPos():add(offset),offset2:mul(0.5)) end end
utils.forEachNonGroup(models.models.main.LeftArm, function (part) part:setColor(tw,tw,tw) end)
utils.forEachNonGroup(models.models.main.RightArm, function (part) part:setColor(tw,tw,tw) end)
utils.forEachNonGroup(models.models.main.Head, function (part) part:setColor(tw,tw,tw) end)
utils.forEachNonGroup(models.models.main.Body, function (part) part:setColor(tw,tw,tw) end)
utils.forEachNonGroup(models.models.main.LeftLeg, function (part) part:setColor(bw,bw,bw) end)
utils.forEachNonGroup(models.models.main.RightLeg, function (part) part:setColor(bw,bw,bw) end)
end)