Compare commits
5 Commits
58881b06db
...
8428d6e027
Author | SHA1 | Date | |
---|---|---|---|
8428d6e027 | |||
400318bb63 | |||
79cd101467 | |||
7e1f68e6f8 | |||
b3b518dc42 |
2
nulllib
2
nulllib
@ -1 +1 @@
|
||||
Subproject commit b891cf1efce1f68b1be09063e4cb83af5ac8a180
|
||||
Subproject commit a65b6b323dc7c3c80f0305b28f126cd9d2b317ac
|
58
script.lua
58
script.lua
@ -3,12 +3,6 @@
|
||||
--- Initial definitions ---
|
||||
-- rewrite compat
|
||||
model=models.player_model
|
||||
armor_model={
|
||||
["BOOTS"]=vanilla_model.BOOTS,
|
||||
["LEGGINGS"]=vanilla_model.LEGGINGS,
|
||||
["CHESTPLATE"]=vanilla_model.CHESTPLATE,
|
||||
["HELMET"]=vanilla_model.HELMET
|
||||
}
|
||||
ping=pings
|
||||
|
||||
-- Texture dimensions --
|
||||
@ -27,13 +21,21 @@ sharedconfig=require("nulllib.sharedconfig")
|
||||
wave=nmath.wave
|
||||
lerp=math.lerp
|
||||
|
||||
-- Master and local state variables -- {{{
|
||||
-- Master config -- {{{
|
||||
-- Local State (these are copied by pings at runtime) --
|
||||
---@deprecated use sharedstate or sharedconfig
|
||||
local_state={}
|
||||
---@deprecated use sharedstate or sharedconfig
|
||||
old_state={}
|
||||
-- master state variables and configuration (do not access within pings) --
|
||||
do
|
||||
local is_host=host:isHost()
|
||||
local function refresh_armor()
|
||||
if player:isLoaded() then PartsManager.refreshPartList(VANILLA_GROUPS.ARMOR) end
|
||||
end
|
||||
local function refresh_tail()
|
||||
if player:isLoaded() then PartsManager.refreshPart(model.Body_Tail) end
|
||||
end
|
||||
|
||||
local defaults={
|
||||
["armor_enabled"]=true,
|
||||
["vanilla_enabled"]=false,
|
||||
@ -41,6 +43,12 @@ do
|
||||
["print_settings"]=false,
|
||||
["tail_enabled"]=true,
|
||||
}
|
||||
local callbacks={
|
||||
["armor_enabled"]=refresh_armor,
|
||||
["tail_enabled"]=refresh_tail
|
||||
}
|
||||
|
||||
sharedconfig.load_defaults(defaults, callbacks)
|
||||
end
|
||||
|
||||
function printSettings()
|
||||
@ -56,20 +64,19 @@ end
|
||||
-- Part groups {{{
|
||||
VANILLA_GROUPS={
|
||||
["HEAD"]={vanilla_model.HEAD, vanilla_model.HAT},
|
||||
["TORSO"]={vanilla_model.TORSO, vanilla_model.JACKET},
|
||||
["TORSO"]={vanilla_model.BODY, vanilla_model.JACKET},
|
||||
["LEFT_ARM"]={vanilla_model.LEFT_ARM, vanilla_model.LEFT_SLEEVE},
|
||||
["RIGHT_ARM"]={vanilla_model.RIGHT_ARM, vanilla_model.RIGHT_SLEEVE},
|
||||
["LEFT_LEG"]={vanilla_model.LEFT_LEG, vanilla_model.LEFT_PANTS_LEG},
|
||||
["RIGHT_LEG"]={vanilla_model.RIGHT_LEG, vanilla_model.RIGHT_PANTS_LEG},
|
||||
["OUTER"]={ vanilla_model.HAT, vanilla_model.JACKET, vanilla_model.LEFT_SLEEVE, vanilla_model.RIGHT_SLEEVE, vanilla_model.LEFT_PANTS_LEG, vanilla_model.RIGHT_PANTS_LEG },
|
||||
["INNER"]={ vanilla_model.HEAD, vanilla_model.TORSO, vanilla_model.LEFT_ARM, vanilla_model.RIGHT_ARM, vanilla_model.LEFT_LEG, vanilla_model.RIGHT_LEG },
|
||||
["LEFT_LEG"]={vanilla_model.LEFT_LEG, vanilla_model.LEFT_PANTS},
|
||||
["RIGHT_LEG"]={vanilla_model.RIGHT_LEG, vanilla_model.RIGHT_PANTS},
|
||||
["OUTER"]={ vanilla_model.HAT, vanilla_model.JACKET, vanilla_model.LEFT_SLEEVE, vanilla_model.RIGHT_SLEEVE, vanilla_model.LEFT_PANTS, vanilla_model.RIGHT_PANTS },
|
||||
["INNER"]={ vanilla_model.HEAD, vanilla_model.BODY, vanilla_model.LEFT_ARM, vanilla_model.RIGHT_ARM, vanilla_model.LEFT_LEG, vanilla_model.RIGHT_LEG },
|
||||
["ALL"]={},
|
||||
["ARMOR"]={}
|
||||
["ARMOR"]={vanilla_model.HELMET, vanilla_model.LEGGINGS, vanilla_model.BOOTS, vanilla_model.CHESTPLATE}
|
||||
}
|
||||
|
||||
for _, v in pairs(VANILLA_GROUPS.INNER) do table.insert(VANILLA_GROUPS.ALL,v) end
|
||||
for _, v in pairs(VANILLA_GROUPS.OUTER) do table.insert(VANILLA_GROUPS.ALL,v) end
|
||||
for _, v in pairs(armor_model) do table.insert(VANILLA_GROUPS.ARMOR, v) end
|
||||
|
||||
MAIN_GROUPS={model.Head, model.RightArm, model.LeftArm, model.RightLeg, model.LeftLeg, model.Body } -- RightArm LeftArm RightLeg LeftLeg Body Head
|
||||
TAIL_BONES={model.Body_Tail, model.Body_Tail.Tail2, model.Body_Tail.Tail2.Tail3, model.Body_Tail.Tail2.Tail3.Tail4}
|
||||
@ -142,11 +149,11 @@ TAIL_ROT={vec( 37.5, 0, 0 ), vec( -17.5, 0, 0 ), vec( -17.5, 0, 0 ), vec( -15, 0
|
||||
do
|
||||
local can_modify_vanilla=avatar:canEditVanillaModel()
|
||||
local function forceVanilla()
|
||||
return not can_modify_vanilla or local_state.vanilla_enabled
|
||||
return not can_modify_vanilla or sharedconfig.load("vanilla_enabled")
|
||||
end
|
||||
|
||||
local function vanillaPartial()
|
||||
return not local_state.vanilla_enabled and local_state.vanilla_partial
|
||||
return not sharedconfig.load("vanilla_enabled") and sharedconfig.load("vanilla_partial")
|
||||
end
|
||||
|
||||
|
||||
@ -155,23 +162,23 @@ do
|
||||
local vanilla_partial_disabled=MAIN_GROUPS
|
||||
|
||||
-- Vanilla state
|
||||
PM.addPartGroupFunction(VANILLA_GROUPS.ALL, function() return false end)
|
||||
PM.addPartGroupFunction(VANILLA_GROUPS.ALL, function(last) return last or forceVanilla() end)
|
||||
PM.addPartListFunction(VANILLA_GROUPS.ALL, function() return false end)
|
||||
PM.addPartListFunction(VANILLA_GROUPS.ALL, function(last) return last or forceVanilla() end)
|
||||
|
||||
PM.addPartGroupFunction(VANILLA_GROUPS.ALL, function(last) return last or vanillaPartial() end)
|
||||
PM.addPartListFunction(VANILLA_GROUPS.ALL, function(last) return last or vanillaPartial() end)
|
||||
|
||||
-- disable cape if tail enabled
|
||||
PM.addPartFunction(vanilla_model.CAPE, function(last) return last and not local_state.tail_enabled end)
|
||||
PM.addPartFunction(vanilla_model.CAPE, function(last) return last and not sharedconfig.load("tail_enabled") end)
|
||||
|
||||
-- Custom state
|
||||
PM.addPartGroupFunction(vanilla_partial_disabled, function(last) return last and not vanillaPartial() end)
|
||||
PM.addPartGroupFunction(MAIN_GROUPS, function(last) return last and not forceVanilla() end)
|
||||
PM.addPartListFunction(vanilla_partial_disabled, function(last) return last and not vanillaPartial() end)
|
||||
PM.addPartListFunction(MAIN_GROUPS, function(last) return last and not forceVanilla() end)
|
||||
|
||||
-- enable tail
|
||||
PM.addPartFunction(model.Body_Tail, function(last) return last and local_state.tail_enabled end)
|
||||
PM.addPartFunction(model.Body_Tail, function(last) return last and sharedconfig.load("tail_enabled") end)
|
||||
|
||||
-- Armor state
|
||||
PM.addPartGroupFunction(VANILLA_GROUPS.ARMOR, function(last) return last and local_state.armor_enabled end)
|
||||
PM.addPartListFunction(VANILLA_GROUPS.ARMOR, function(last) return last and sharedconfig.load("armor_enabled") end)
|
||||
|
||||
|
||||
end
|
||||
@ -197,6 +204,7 @@ function player_init()
|
||||
-- end
|
||||
-- syncState()
|
||||
events.ENTITY_INIT:remove("player_init")
|
||||
PartsManager.refreshAll()
|
||||
end
|
||||
|
||||
events.ENTITY_INIT:register(function() return player_init() end, "player_init")
|
||||
|
Loading…
x
Reference in New Issue
Block a user