119 Commits

Author SHA1 Message Date
11ee2778ff
Enable all models in case disabled in Blockbench
This is done before running PartsManager.refreshAll(). All parts are
managed by PartsManager instead of using Blockbench visibility
2022-03-24 09:39:36 -04:00
0d3568e3d4
Merge branch 'feature/rate_limiter' into feature/aquatic 2022-03-24 09:04:12 -04:00
b6e4ec8a49
Add mertail to vanilla_partial list 2022-03-24 02:18:40 -04:00
858c7d401b
Add tpose emote 2022-03-24 02:15:07 -04:00
f0af26d609
Add mertail to model 2022-03-24 01:15:21 -04:00
0f16fc3579
Add rate limiter and rate limit refreshAll
refreshAll is a very instruction heavy call, it will easily overrun
instruction limit on unstrusted clients if not controlled
2022-03-23 22:13:43 -04:00
3c21c6c581
Add math function for animation 2022-03-23 21:31:27 -04:00
f0fa8ef459
Merge branch 'hotfix/data-load' into feature/aquatic 2022-03-23 15:53:31 -04:00
45d47b2a56
Fix settings loading if no settings file exists 2022-03-23 15:51:43 -04:00
6b64bc0a13
Add setting for tail enabled, PM manage cape
Move cape to PartsManager so it can be disabled when tail is enabled
2022-03-23 14:35:17 -04:00
5f745154d9
Add tail to vanilla_partial whitelist 2022-03-23 02:02:22 -04:00
9dc09da1b1
Add PartsManager rule for normal tail 2022-03-23 01:43:44 -04:00
6b27777cb9
Change vim modeline 2022-03-23 01:43:43 -04:00
cf7db74863
Add function to get all child parts recursively 2022-03-23 01:31:05 -04:00
6f37b20c5d
Add *UNSAFE* json dump for debugging
ripped from stackoverflow
2022-03-23 01:30:07 -04:00
d37ec04dc0
Use local PM instead of global PartsManager for
This will ease in converting PartsManager to OOP
2022-03-22 22:42:53 -04:00
9bd53b7e75
Improve dumpTable function 2022-03-22 22:42:19 -04:00
d34c5204df
Clean up and document PartsManger 2022-03-22 14:24:38 -04:00
89dbf2ef2c
Move health to old state, add underwater state
Sync when underwater state changes
2022-03-21 23:12:22 -04:00
f1ad854993
Move all visibility management to PartsManager 2022-03-21 23:08:29 -04:00
aa4772ca02
Add PartsManager visibility rules, new config opts 2022-03-21 21:48:43 -04:00
e1108238a4
Refactor model groups 2022-03-21 21:47:59 -04:00
4a19ddf72b
Fix a lot of bugs in PartsManager 2022-03-21 21:46:42 -04:00
0ca5905ab6
Parts manager: actually evaluate functions 2022-03-21 18:17:59 -04:00
1cfe63e7de
Add basic parts management code 2022-03-21 18:12:50 -04:00
72a8670e13
Fix reduce and ireduce parameter order 2022-03-21 18:11:34 -04:00
63472fac77
Add more vim folds 2022-03-21 15:39:34 -04:00
59d9e7ff7a
Add reduce and ireduce functions (untested) 2022-03-21 15:30:58 -04:00
cd3ecae481
Add basic settings manager 2022-03-21 15:28:29 -04:00
3eb3dacfb0
Fix filter function 2022-03-21 10:32:44 -04:00
7de0e7f399
Refactor state management, other changes
- State information stored in a table that is automatically populated
- Changing state data handled by function instead of duplicating code
- Add configuration to print all configs on skin load
- Add debugPrint function which prints variable and returns it
- Use local scope for snore functions
2022-03-20 23:43:27 -04:00
96da4a7cbd
Add function to merge two tables 2022-03-20 22:27:49 -04:00
fb64a26414
Add EmmyLua annotations to utility functions 2022-03-20 22:27:25 -04:00
147c1a2f69
Fix unstring number conversion 2022-03-20 22:02:08 -04:00
5c41c4d1d5
Change parameter order for filter and map 2022-03-20 22:01:28 -04:00
42f3f96a19
Add filter function
Works like other programming languages
filter(table, func): return table of items
2022-03-20 21:56:24 -04:00
4011493f39
Add unstring and map utility functions
unstring(str): Attempt to convert str to a different type
map(table, func): apply func to every item in table
2022-03-20 21:51:36 -04:00
99d8a96af4
Rearrange ping functions 2022-03-20 21:39:32 -04:00
74c47bb8dc
Add armor command, make verbose 2022-03-20 01:28:16 -04:00
c124048cd7
Make command syntax more consistent 2022-03-20 01:24:20 -04:00
98d613c227
Change command prefix 2022-03-20 01:20:39 -04:00
5c0768fdcd
Add snoring, including toggle and state sync 2022-03-20 01:16:07 -04:00
f065564cea
Add named cooldowns
Function takes name and tick count. Return true and insert new cooldown
if no matching cooldown present, else return false
2022-03-20 00:41:39 -04:00
74608ed27c
Add skin state persistence using data api 2022-03-19 01:36:40 -04:00
7f64ee43c9
Add trust check, disable model if untrusted 2022-03-19 01:04:39 -04:00
f109c763c1
Add vanilla toggle function 2022-03-19 00:51:12 -04:00
b4c71f509d
Fix armor toggle function 2022-03-19 00:49:26 -04:00
81d66720fe
Add sync state function, fix tick optimization 2022-03-19 00:17:57 -04:00
042405cb63
Avoid accessing state variables within pings
The host instance of the variable should be authoritative to ensure host
and clients are in sync
2022-03-18 23:55:52 -04:00
776de24593
Refactor visor expression/damage code
- Scope entire expression change code
- Use tables for related values
- Make certain variables and functions local
2022-03-16 20:23:51 -04:00