@quenty/humanoidtracker 13.17.0 → 13.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [13.17.1](https://github.com/Quenty/NevermoreEngine/compare/@quenty/humanoidtracker@13.17.0...@quenty/humanoidtracker@13.17.1) (2025-04-05)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * Add types to packages ([2374fb2](https://github.com/Quenty/NevermoreEngine/commit/2374fb2b043cfbe0e9b507b3316eec46a4e353a0))
12
+
13
+
14
+
15
+
16
+
6
17
  # [13.17.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/humanoidtracker@13.16.2...@quenty/humanoidtracker@13.17.0) (2025-04-02)
7
18
 
8
19
  **Note:** Version bump only for package @quenty/humanoidtracker
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/humanoidtracker",
3
- "version": "13.17.0",
3
+ "version": "13.17.1",
4
4
  "description": "HumanoidTracker for Roblox - Tracks a player's character's humanoid",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -25,15 +25,15 @@
25
25
  "Quenty"
26
26
  ],
27
27
  "dependencies": {
28
- "@quenty/baseobject": "^10.8.0",
29
- "@quenty/loader": "^10.8.0",
30
- "@quenty/maid": "^3.4.0",
31
- "@quenty/promise": "^10.10.1",
32
- "@quenty/signal": "^7.10.0",
33
- "@quenty/valueobject": "^13.17.0"
28
+ "@quenty/baseobject": "^10.8.1",
29
+ "@quenty/loader": "^10.8.1",
30
+ "@quenty/maid": "^3.4.1",
31
+ "@quenty/promise": "^10.10.2",
32
+ "@quenty/signal": "^7.10.1",
33
+ "@quenty/valueobject": "^13.17.1"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
- "gitHead": "e8ea56930e65322fcffc05a1556d5df988068f0b"
38
+ "gitHead": "78c3ac0ab08dd18085b6e6e6e4f745e76ed99f68"
39
39
  }
@@ -1,3 +1,4 @@
1
+ --!strict
1
2
  --[=[
2
3
  Tracks a player's character's humanoid
3
4
  @class HumanoidTracker
@@ -15,6 +16,17 @@ local HumanoidTracker = setmetatable({}, BaseObject)
15
16
  HumanoidTracker.ClassName = "HumanoidTracker"
16
17
  HumanoidTracker.__index = HumanoidTracker
17
18
 
19
+ export type HumanoidTracker = typeof(setmetatable(
20
+ {} :: {
21
+ _maid: Maid.Maid,
22
+ _player: Player,
23
+ HumanoidDied: Signal.Signal<Humanoid?>,
24
+ AliveHumanoid: ValueObject.ValueObject<Humanoid?>,
25
+ Humanoid: ValueObject.ValueObject<Humanoid?>,
26
+ },
27
+ { __index = HumanoidTracker }
28
+ ))
29
+
18
30
  --[=[
19
31
  Current humanoid
20
32
  @prop Humanoid ValueObject<Humanoid>
@@ -42,8 +54,8 @@ HumanoidTracker.__index = HumanoidTracker
42
54
  @param player Player
43
55
  @return HumanoidTracker
44
56
  ]=]
45
- function HumanoidTracker.new(player)
46
- local self = setmetatable(BaseObject.new(), HumanoidTracker)
57
+ function HumanoidTracker.new(player: Player): HumanoidTracker
58
+ local self = setmetatable(BaseObject.new() :: any, HumanoidTracker)
47
59
 
48
60
  self._player = player or error("No player")
49
61
 
@@ -85,13 +97,13 @@ end
85
97
 
86
98
  @return Promise<Humanoid>
87
99
  ]=]
88
- function HumanoidTracker:PromiseNextHumanoid()
100
+ function HumanoidTracker.PromiseNextHumanoid(self: HumanoidTracker): Promise.Promise<Humanoid>
89
101
  if self.Humanoid.Value then
90
102
  return Promise.resolved(self.Humanoid.Value)
91
103
  end
92
104
 
93
105
  if self._maid._nextHumanoidPromise then
94
- return self._maid._nextHumanoidPromise
106
+ return self._maid._nextHumanoidPromise :: Promise.Promise<Humanoid>
95
107
  end
96
108
 
97
109
  local promise = Promise.new()
@@ -111,7 +123,7 @@ function HumanoidTracker:PromiseNextHumanoid()
111
123
  return promise
112
124
  end
113
125
 
114
- function HumanoidTracker:_onCharacterChanged()
126
+ function HumanoidTracker._onCharacterChanged(self: HumanoidTracker)
115
127
  local maid = Maid.new()
116
128
  self._maid._characterMaid = maid
117
129
 
@@ -130,7 +142,7 @@ function HumanoidTracker:_onCharacterChanged()
130
142
  self.Humanoid.Value = nil
131
143
 
132
144
  -- Listen for changes
133
- maid._childAdded = character.ChildAdded:Connect(function(child)
145
+ maid._childAdded = character.ChildAdded:Connect(function(child: Instance)
134
146
  if child:IsA("Humanoid") then
135
147
  maid._childAdded = nil
136
148
  self.Humanoid.Value = child -- TODO: Track if this humanoid goes away
@@ -138,7 +150,7 @@ function HumanoidTracker:_onCharacterChanged()
138
150
  end)
139
151
  end
140
152
 
141
- function HumanoidTracker:_handleHumanoidChanged(newHumanoid, _, maid)
153
+ function HumanoidTracker._handleHumanoidChanged(self: HumanoidTracker, newHumanoid: Humanoid, _, maid: Maid.Maid)
142
154
  if not newHumanoid then
143
155
  self.AliveHumanoid.Value = nil
144
156
  return
@@ -1,3 +1,4 @@
1
+ --!strict
1
2
  --[=[
2
3
  Centralized humanoid tracking service.
3
4
 
@@ -10,6 +11,8 @@ local Players = game:GetService("Players")
10
11
 
11
12
  local HumanoidTracker = require("HumanoidTracker")
12
13
  local Maid = require("Maid")
14
+ local _Observable = require("Observable")
15
+ local _Brio = require("Brio")
13
16
 
14
17
  local HumanoidTrackerService = {}
15
18
  HumanoidTrackerService.ServiceName = "HumanoidTrackerService"
@@ -31,7 +34,7 @@ end
31
34
  @param player Player? -- If not set, uses local player
32
35
  @return HumanoidTracker
33
36
  ]=]
34
- function HumanoidTrackerService:GetHumanoidTracker(player: Player?)
37
+ function HumanoidTrackerService:GetHumanoidTracker(player: Player?): HumanoidTracker.HumanoidTracker?
35
38
  assert((typeof(player) == "Instance" and player:IsA("Player")) or player == nil, "Bad player")
36
39
 
37
40
  player = player or Players.LocalPlayer
@@ -64,7 +67,7 @@ end
64
67
  @param player Player? -- If not set, uses local player
65
68
  @return Humanoid?
66
69
  ]=]
67
- function HumanoidTrackerService:GetHumanoid(player: Player?)
70
+ function HumanoidTrackerService:GetHumanoid(player: Player?): Humanoid?
68
71
  assert((typeof(player) == "Instance" and player:IsA("Player")) or player == nil, "Bad player")
69
72
 
70
73
  player = player or Players.LocalPlayer
@@ -75,9 +78,9 @@ end
75
78
  Observe a player's humanoid
76
79
 
77
80
  @param player Player? -- If not set, uses local player
78
- @return Observable<Humanoid | nil>
81
+ @return Observable<Humanoid?>
79
82
  ]=]
80
- function HumanoidTrackerService:ObserveHumanoid(player: Player?)
83
+ function HumanoidTrackerService:ObserveHumanoid(player: Player?): _Observable.Observable<Humanoid?>
81
84
  assert((typeof(player) == "Instance" and player:IsA("Player")) or player == nil, "Bad player")
82
85
 
83
86
  player = player or Players.LocalPlayer
@@ -91,7 +94,7 @@ end
91
94
  @param player Player? -- If not set, uses local player
92
95
  @return Observable<Brio<Humanoid>>
93
96
  ]=]
94
- function HumanoidTrackerService:ObserveHumanoidBrio(player: Player?)
97
+ function HumanoidTrackerService:ObserveHumanoidBrio(player: Player?): _Observable.Observable<_Brio.Brio<Humanoid>>
95
98
  assert((typeof(player) == "Instance" and player:IsA("Player")) or player == nil, "Bad player")
96
99
 
97
100
  player = player or Players.LocalPlayer
@@ -107,7 +110,7 @@ end
107
110
  @param player Player? -- If not set, uses local player
108
111
  @return Humanoid?
109
112
  ]=]
110
- function HumanoidTrackerService:GetAliveHumanoid(player: Player?)
113
+ function HumanoidTrackerService:GetAliveHumanoid(player: Player?): Humanoid?
111
114
  assert((typeof(player) == "Instance" and player:IsA("Player")) or player == nil, "Bad player")
112
115
 
113
116
  player = player or Players.LocalPlayer
@@ -118,9 +121,9 @@ end
118
121
  Observe a player's alive humanoid
119
122
 
120
123
  @param player Player? -- If not set, uses local player
121
- @return Observable<Humanoid | nil>
124
+ @return Observable<Humanoid?>
122
125
  ]=]
123
- function HumanoidTrackerService:ObserveAliveHumanoid(player: Player?)
126
+ function HumanoidTrackerService:ObserveAliveHumanoid(player: Player?): _Observable.Observable<Humanoid?>
124
127
  assert((typeof(player) == "Instance" and player:IsA("Player")) or player == nil, "Bad player")
125
128
 
126
129
  player = player or Players.LocalPlayer