i feel so soggy!
This commit is contained in:
parent
fc31f49d3f
commit
220e7a04b7
4 changed files with 55 additions and 1 deletions
|
@ -4,7 +4,8 @@
|
||||||
"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.5",
|
"version": "0.1.5",
|
||||||
|
|
17
scripts/libs/utils.lua
Normal file
17
scripts/libs/utils.lua
Normal 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
|
|
@ -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
35
scripts/soggy.lua
Normal 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)
|
Loading…
Add table
Add a link
Reference in a new issue