teeworlds 2.5.4 → 2.5.6

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.
Files changed (54) hide show
  1. package/README.md +4 -3
  2. package/{index.ts → index.d.ts} +6 -6
  3. package/index.js +25 -24
  4. package/index.js.map +1 -0
  5. package/lib/MsgPacker.d.ts +11 -0
  6. package/lib/MsgPacker.js +47 -55
  7. package/lib/MsgPacker.js.map +1 -0
  8. package/lib/MsgUnpacker.d.ts +16 -0
  9. package/lib/MsgUnpacker.js +53 -53
  10. package/lib/MsgUnpacker.js.map +1 -0
  11. package/lib/UUIDManager.d.ts +27 -0
  12. package/lib/UUIDManager.js +45 -50
  13. package/lib/UUIDManager.js.map +1 -0
  14. package/lib/client.d.ts +135 -0
  15. package/lib/client.js +762 -830
  16. package/lib/client.js.map +1 -0
  17. package/lib/components/game.d.ts +32 -0
  18. package/lib/components/game.js +104 -106
  19. package/lib/components/game.js.map +1 -0
  20. package/lib/components/movement.d.ts +34 -0
  21. package/lib/components/movement.js +75 -82
  22. package/lib/components/movement.js.map +1 -0
  23. package/lib/components/rcon.d.ts +33 -0
  24. package/lib/components/rcon.js +92 -122
  25. package/lib/components/rcon.js.map +1 -0
  26. package/lib/components/snapshot.d.ts +59 -0
  27. package/lib/components/snapshot.js +144 -234
  28. package/lib/components/snapshot.js.map +1 -0
  29. package/lib/enums_types/protocol.d.ts +120 -0
  30. package/lib/enums_types/protocol.js +14 -13
  31. package/lib/enums_types/protocol.js.map +1 -0
  32. package/lib/huffman.d.ts +24 -0
  33. package/lib/huffman.js +187 -192
  34. package/lib/huffman.js.map +1 -0
  35. package/lib/snapshot.d.ts +49 -0
  36. package/lib/snapshot.js +599 -610
  37. package/lib/snapshot.js.map +1 -0
  38. package/package.json +21 -24
  39. package/docs/documentation.md +0 -368
  40. package/docs/examples/chat_bot.js +0 -25
  41. package/docs/examples/kill_on_freeze.js +0 -20
  42. package/lib/MsgPacker.ts +0 -45
  43. package/lib/MsgUnpacker.ts +0 -58
  44. package/lib/UUIDManager.ts +0 -45
  45. package/lib/client.ts +0 -926
  46. package/lib/components/game.ts +0 -133
  47. package/lib/components/movement.ts +0 -88
  48. package/lib/components/rcon.ts +0 -114
  49. package/lib/components/snapshot.ts +0 -187
  50. package/lib/enums_types/protocol.ts +0 -137
  51. package/lib/enums_types/types.d.ts +0 -236
  52. package/lib/huffman.ts +0 -226
  53. package/lib/snapshot.ts +0 -632
  54. package/tsconfig.json +0 -69
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../lib/snapshot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,24 +1,21 @@
1
- {
2
- "name": "teeworlds",
3
- "version": "2.5.4",
4
- "description": "Library for (ingame) teeworlds bots.",
5
- "license": "MIT",
6
- "main": "index.js",
7
- "scripts": {
8
- "test": "echo \"Error: no test specified\" && exit 1",
9
- "build": "tsc",
10
- "prepare": "npm run build"
11
- },
12
- "repository": {
13
- "type": "git",
14
- "url": "git+gitlab.com/swarfey/teeworlds-client.git"
15
- },
16
- "keywords": [
17
- "teeworlds",
18
- "ddracenetwork",
19
- "headless"
20
- ],
21
- "devDependencies": {
22
- "typescript": "^3.9.5"
23
- }
24
- }
1
+ {
2
+ "name": "teeworlds",
3
+ "version": "2.5.6",
4
+ "description": "Library for (ingame) teeworlds bots.",
5
+ "license": "MIT",
6
+ "main": "index.js",
7
+ "types": "index.d.ts",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+github.com/swarfeya/teeworlds-library-ts.git"
11
+ },
12
+ "keywords": [
13
+ "teeworlds",
14
+ "ddracenetwork",
15
+ "headless"
16
+ ],
17
+ "files": [
18
+ "*",
19
+ "lib/**"
20
+ ]
21
+ }
@@ -1,368 +0,0 @@
1
- *version used for this documentation is 2.4.7. Versions below / above that possibly have other syntax.*
2
- <!-- <details> <summary>Events</summary> -->
3
-
4
- # Events
5
- * [connected](#event-connected)
6
- * [disconnect](#event-disconnect)
7
- * [emote](#event-emote)
8
- * [message](#event-chat-message)
9
- * [broadcast](#event-broadcast-message)
10
- * [motd](#event-motd-motto-of-the-day)
11
- * [kill](#event-kill)
12
- * [map_details](#ddnet-event-map-details)
13
- * [capabilities](#ddnet-event-capabilities)
14
- * [snapshot](#event-snapshot)
15
-
16
- ## Snapshot events
17
- These events are accessable using client.SnapUnpacker.on("event", ..)
18
- ###### TODO: make this more clearer with examples
19
- * common
20
- * probably only exists to show for the type (x, y).
21
- * explosion
22
- * grenade explosion event
23
- * spawn
24
- * player spawn event
25
- * hammerhit
26
- * death
27
- * player death event
28
- * sound_global
29
- * sound_world
30
- * damage_indicator
31
-
32
- ### Event: Connected
33
- This event will be fired as soon as the client is connected (specifically when it got 2 snapshot packets).
34
- ```
35
- client.on("connect", () => console.log("Client connected!"));
36
- ```
37
-
38
- ### Event: Disconnect
39
- This event will be fired as soon as the client is kicked. It will also return the reason.
40
- ```
41
- client.on("disconnect", (reason: string) => console.log("Client disconnected. reason: " + reason));
42
- ```
43
-
44
- ### Event: Emote
45
- This event will be fired as soon as anybody on the server sends an emote (or possibly, depending on the server's implementation, only from players near you).
46
- ```
47
- client.on("emote", (emote) => console.log(emote));
48
- /*{
49
- client_id: 0,
50
- emoticon: 7,
51
- author: { ClientInfo: { .. }, PlayerInfo: { .. } }
52
- }*/
53
- ```
54
-
55
- ### Event: Chat message
56
- This event will be fired as soon as anybody on the server sends an chat message.
57
- ```
58
- client.on("message", (message) => console.log(message));
59
- /*{
60
- team: 0,
61
- client_id: 0,
62
- message: 'Hello World!',
63
- author: { ClientInfo: { .. }, PlayerInfo: { .. } }
64
- }*/
65
-
66
- // server messages also do not have an author attribute and will always have an client_id of -1.:
67
-
68
- /*{
69
- team: 0,
70
- client_id: -1,
71
- message: 'please visit DDNet.org or say /info and make sure to read our /rules'
72
- }*/
73
- ```
74
-
75
- ### Event: Broadcast message
76
- This event will be fired as soon as your client receives an broadcast message.
77
- ```
78
- client.on("broadcast", (message: string) => console.log(message));
79
- // (f2 "broadcast Hello World!")
80
- // Hello World!
81
- ```
82
-
83
- ### Event: Motd (Motto of the day)
84
- This event will be fired as soon as your client receives an motd message. Usually right after your client is connected.
85
- ```
86
- client.on("broadcast", (message: string) => console.log(message));
87
- // Testserver with DDraceNetwork Features!\nDon't forget to check server rules by using /rules!
88
- ```
89
-
90
- ### Event: Kill
91
- This event will be fired as soon as anybody on the server dies.
92
- ```
93
- client.on("kill", (message) => console.log(message));
94
- /*{
95
- killer_id: 0,
96
- victim_id: 0, // killer_id == victim_id, its a suicide
97
- weapon: -2,
98
- special_mode: 0,
99
- victim: { ClientInfo: { .. }, PlayerInfo: { .. } },
100
- killer: { ClientInfo: { .. }, PlayerInfo: { .. } }
101
- }
102
- }*/
103
- ```
104
-
105
- ### DDNet Event: Map Details
106
- This event will be fired when the client joins the server. This event only exists on ddnet-based servers.
107
- ```
108
- client.on("map_details", (message) => console.log(message));
109
- /*{
110
- map_name: 'Firewatch',
111
- map_sha256: <Buffer b7 17 80 52 1b 38 16 b3 8d 37 6b a8 84 c6 26 ef 48 db 93 7c 57 c1 8b e8 4b f9 7e e0 94 33 d6 f7>,
112
- map_crc: 1834546968,
113
- map_url: '' // empty, because official ddnet servers dont send their map url, only some non-ddnet servers (for example |*KoG*| servers) do.
114
- }*/
115
- ```
116
-
117
- ### DDNet Event: Capabilities
118
- This event will be fired when the client joins the server. This event only exists on ddnet-based servers.
119
- ```
120
- client.on("capabilities", (message) => console.log(message));
121
- /*{
122
- ChatTimeoutCode: true,
123
- AnyPlayerFlag: true,
124
- PingEx: true,
125
- AllowDummy: true,
126
- SyncWeaponInput: true
127
- }*/
128
- ```
129
-
130
- ### Event: Snapshot
131
- This event will be fired whenever the client receives an snapshot packet (which is up to 25 times per second!).
132
- ```
133
- client.on("snapshot", (items) => console.log(items));
134
- /* returns a list of all items that are being stored. */
135
- ```
136
-
137
-
138
- <!-- </details> -->
139
-
140
- # Game functions
141
-
142
- accessable using client.game
143
- methods:
144
- * Say(message: string, team = false)
145
- - sends the specified `message` in the chat.
146
- * SetTeam(team: number)
147
- - sets the client in a specific team (-1 spectator team, 0 team red/normal team, 1 team blue)
148
- * SpectatorMode(SpectatorID: number)
149
- - spectate a specific player id, if our client already in spectator mode
150
- * ChangePlayerInfo(playerInfo: ClientInfo)
151
- - changes the current player info (name, clan, etc.)
152
- * Kill()
153
- - kills the client
154
- * Emote(emote: number)
155
- - sends an emote
156
- * Vote(vote: boolean)
157
- - votes on an currently running vote
158
- * CallVoteOption(Value: string, Reason: string)
159
- - call an option vote (on ddnet servers, for example an map vote)
160
- * CallVoteKick(PlayerID: string|number, Reason: string)
161
- - sends kick vote for an specific player id
162
- * CallVoteSpectate(PlayerID: string|number, Reason: string)
163
- - sends vote to set an specific player into spectator mode
164
- * (IsDDNetLegacy() -- unused, probably used to verify the client is running on ddnet?)
165
- * Ping(): Promise\<number>
166
- - pings the server and returns the latency in an Promise
167
-
168
-
169
- # Snapshot
170
- * Snapshots are used to deliver most of the information of players. You can access all objects using `client.SnapshotUnpacker.*`
171
- * the SnapshotUnpacker is built with two methods per object:
172
- * getObjX(id: number) - returns the object with the specified id.
173
- * AllObjX - attribute, which returns all objects of the type in an array.
174
-
175
- ## Player/Character information
176
- * [ClientInfo](#clientinfo)
177
- * [PlayerInfo](#playerinfo)
178
- * [Character](#character)
179
- * [DDNetCharacter](#ddnetcharacter)
180
- * [OwnID](#ownid)
181
-
182
- <details><summary>other snapshot objects</summary>
183
-
184
- * PlayerInput
185
- * most servers probably dont use this
186
- * Projectile
187
- * Laser
188
- * Pickup
189
- * (Weapon Pickups)
190
- * Flag
191
- * Red/Blue Flag
192
- * GameInfo
193
- * GameData
194
- * CharacterCore
195
- * probably only used inside of the Character object and not sent by itself.
196
- * [Character](#character)
197
- * [PlayerInfo](#playerinfo)
198
- * [ClientInfo](#clientinfo)
199
- * SpectatorInfo
200
- * MyOwnObject
201
- * extended type by ddnet used for testing.
202
- * [DDNetCharacter](#ddnetcharacter)
203
- * extended type by ddnet
204
- * ExGameInfo
205
- * extended type by ddnet
206
- * DDNetProjectile
207
- * extended type by ddnet
208
- * ExLaser
209
- * extended type by ddnet
210
-
211
-
212
- </details>
213
-
214
- ### ClientInfo
215
- The ClientInfo Object (accessable using `client.SnapshotUnpacker.getObjClientInfo(player_id)` or `client.SnapshotUnpacker.AllObjClientInfo`) contains some of the essential client information. Example ClientInfo object:
216
- ```
217
- {
218
- name: 'Swarfey',
219
- clan: '',
220
- country: 276,
221
- skin: 'coala_toptri',
222
- use_custom_color: 0,
223
- color_body: 4718592,
224
- color_feet: 5046016,
225
- **id: 0**
226
- }
227
- ```
228
-
229
- *The **ID** (player id) is essential for all player-specific informations.*
230
-
231
- ### PlayerInfo
232
- The PlayerInfo Object (`client.SnapshotUnpacker.getObjPlayerInfo(player_id)` / `client.SnapshotUnpacker.AllObjPlayerInfo`) contains information like the ping,
233
- Example PlayerInfo object:
234
- ```
235
- { local: 0, client_id: 0, team: 0, score: -901, latency: 0 }
236
- ```
237
-
238
- *Note*: The Ping ("latency") will always be 0, if the scoreboard is not "opened". To open it, you can use client.movement.FlagScoreboard(true). If you do not need the information anymore, you can always "close" it by passing false as a paremeter.
239
-
240
-
241
- ### Character
242
- The character includes information like the current position of the player
243
- example client.SnapshotUnpacker.getObjCharacter(id):
244
- ```
245
- {
246
- character_core: {
247
- tick: 247926,
248
- x: 700,
249
- y: 1201,
250
- vel_x: 1,
251
- vel_y: 0,
252
- angle: 1032,
253
- direction: 0,
254
- jumped: 0,
255
- hooked_player: -1,
256
- hook_state: 0,
257
- hook_tick: 6,
258
- hook_x: 700,
259
- hook_y: 1201,
260
- hook_dx: -160,
261
- hook_dy: -200
262
- },
263
- player_flags: 1,
264
- health: 0,
265
- armor: 0,
266
- ammo_count: 0,
267
- weapon: 1,
268
- emote: 0,
269
- attack_tick: 24714,
270
- client_id: 0
271
- }
272
- ```
273
- *Note*: all coordinates differ from the one you see in the debug menu ingame. When ingame, it always is divided by 32.
274
-
275
- ### DDNetCharacter
276
- example client.SnapshotUnpacker.getObjExDDNetCharacter(id):
277
- ```
278
- {
279
- m_Flags: 114688,
280
- m_FreezeEnd: 255564,
281
- m_Jumps: 2,
282
- m_TeleCheckpoint: 0,
283
- m_StrongWeakID: 1,
284
- m_JumpedTotal: 0,
285
- m_NinjaActivationTick: -500,
286
- m_FreezeStart: 255415,
287
- m_TargetX: 62,
288
- m_TargetY: 352,
289
- id: 0
290
- }
291
- ```
292
- ### OwnID
293
- returns your own client id. Useful if you need any of your own information.
294
-
295
- # Movement
296
- The movement component is accessable using `client.movement`.
297
- * RunLeft()
298
- * makes the client run left
299
- * RunRight()
300
- * makes the client run right
301
- * RunStop()
302
- * makes the client stop running (if he is)
303
- * Jump(state?: boolean)
304
- * makes the client Jump. if the parameter is false, the bot will stop holding jump.
305
- * Fire()
306
- * makes the client fire his weapon.
307
- * Hook(state?: boolean)
308
- * makes the client hook. if the state parameter is false, he will stop holding hook.
309
- * NextWeapon()
310
- * changes his current weapon to the next weapon.
311
- * PrevWeapon()
312
- * changes his current weapon to the previous weapon.
313
- * SetAim(x: number, y: number)
314
- * sets the aiming to the specified point.
315
- * FlagPlaying(toggle = true)
316
- * FlagInMenu(toggle = true)
317
- * FlagChatting(toggle = true)
318
- * adds a chat bubble to the bot.
319
- * FlagScoreboard(toggle = true)
320
- * useful if you also need the [latency of players](#playerinfo).
321
- * FlagHookline(toggle = true)
322
- * shows a hookline for the bot.
323
- * Reset()
324
- * resets all input back to default (0).
325
-
326
-
327
- # Other useful things
328
- * client.Disconnect() - disconnects the client.
329
- * client.sendInput() - sends an input packet
330
- * client.VoteOptionList - returns the whole vote list.
331
- ### You can also specify some options in the client constructor:
332
- ```
333
- /*options: {
334
- identity?: ClientInfo,
335
- password?: string,
336
- ddnet_version?: {version: number, release_version: string},
337
- timeout?: number, // in ms
338
- NET_VERSION?: string,
339
- lightweight?: boolean // experimental, only sends keepalive's (sendinput has to be called manually)
340
- }
341
- */
342
- // client without options:
343
- var client = new teeworlds.Client("127.0.0.1", 8303, "name");
344
- // client with options:
345
- var client = new teeworlds.Client("127.0.0.1", 8303, "name", {
346
- identity: {
347
- "name": "nameless bot",
348
- "clan": "",
349
- "skin": "eggp",
350
- "use_custom_color": 0,
351
- "color_body": 65408,
352
- "color_feet": 65408,
353
- "country": -1,
354
- }
355
- });
356
- // will create a client with the name "nameless bot", skin eggp, etc.
357
-
358
- client.connect();
359
- ```
360
-
361
- # Examples
362
- You can find some of the examples in the [docs/examples](docs/examples/) folder.
363
-
364
- # Projects using this library
365
- *Note:* If you have or know any projects running using this library, please contact me so i can add them, or PR them yourself.
366
-
367
- * A discord which is bridging all discord messages and ingame messages (currently closed source): https://discord.gg/MSYcjYvU6e
368
-
@@ -1,25 +0,0 @@
1
- let teeworlds = require('teeworlds');
2
- let client = new teeworlds.Client("127.0.0.1", 8303, "nameless bot");
3
-
4
- client.on("connected", () => console.log("connected!"))
5
-
6
- client.on("message", (msg) => {
7
- console.log(msg.author?.ClientInfo?.name, msg.message)
8
- if (msg.message.toLowerCase() == ";help") {
9
- client.game.Say(`${msg.author?.ClientInfo?.name}: Commands: ;help, ;myskin, ;say, ;list`);
10
- } else if (msg.message.toLowerCase() == ";myskin") {
11
- client.game.Say(`${msg.author?.ClientInfo?.name}: Your skin: ${msg.author?.ClientInfo?.skin}`);
12
- } else if (msg.message.toLowerCase().startsWith(";say ")) {
13
- client.game.Say(msg.message.slice(";say ".length))
14
- } else if (msg.message.toLowerCase() == ";list") {
15
- let list = client.SnapshotUnpacker.AllObjClientInfo.map( a => a.name );
16
- client.game.Say(list.join(", "));
17
- }
18
- })
19
-
20
- client.connect();
21
-
22
- process.on("SIGINT", () => {
23
- client.Disconnect().then(() => process.exit(0)); // disconnect on ctrl + c
24
- // process.exit()
25
- })
@@ -1,20 +0,0 @@
1
- let teeworlds = require('teeworlds');
2
- let client = new teeworlds.Client("127.0.0.1", 8303, "nameless bot");
3
-
4
- client.on("connected", () => console.log("connected!"))
5
-
6
- client.on("snapshot", () => {
7
- let myDDNetChar = client.SnapshotUnpacker.getObjExDDNetCharacter(client.SnapshotUnpacker.OwnID);
8
- if (myDDNetChar == undefined)
9
- return;
10
- if (myDDNetChar.m_FreezeEnd != 0) {
11
- client.game.Kill();
12
- }
13
- })
14
-
15
- client.connect();
16
-
17
- process.on("SIGINT", () => {
18
- client.Disconnect().then(() => process.exit(0)); // disconnect on ctrl + c
19
- // process.exit()
20
- })
package/lib/MsgPacker.ts DELETED
@@ -1,45 +0,0 @@
1
- export class MsgPacker {
2
- result: Buffer;
3
- sys: boolean;
4
- flag: number;
5
- constructor(msg: number, sys: boolean, flag: number) {
6
- this.result = Buffer.from([2*msg + (sys ? 1 : 0)]);
7
- this.sys = sys;
8
- this.flag = flag;
9
- }
10
- AddString(str: string) {
11
- this.result = Buffer.concat([this.result, Buffer.from(str), Buffer.from([0x00])])
12
- }
13
- AddBuffer(buffer: Buffer) {
14
- this.result = Buffer.concat([this.result, buffer])
15
- }
16
- AddInt(i: number) {
17
- var result = []
18
- var pDst = (i >> 25) & 0x40
19
- var i = i ^(i>>31)
20
- pDst |= i & 0x3f
21
- i >>= 6
22
- if (i) {
23
- pDst |= 0x80
24
- result.push(pDst)
25
- while (true) {
26
- pDst++;
27
- pDst = i & (0x7f)
28
- i>>= 7;
29
- pDst |= (Number(i != 0)) << 7
30
- result.push(pDst)
31
- if (!i)
32
- break;
33
- }
34
- } else
35
- result.push(pDst)
36
-
37
- this.result = Buffer.concat([this.result, Buffer.from(result)])
38
- }
39
- get size() {
40
- return this.result.byteLength;
41
- }
42
- get buffer() {
43
- return this.result
44
- }
45
- }
@@ -1,58 +0,0 @@
1
- const decoder = new TextDecoder('utf-8');
2
- export function unpackInt(pSrc: Buffer): {result: number, remaining: Buffer} {
3
-
4
- var srcIndex = 0;
5
- const sign = ((pSrc[srcIndex] >> 6) & 1)
6
-
7
- var result = (pSrc[srcIndex] & 0b0011_1111)
8
- while (srcIndex <= 4) {
9
-
10
- if ((pSrc[srcIndex] & 0b1000_0000) === 0)
11
- break;
12
-
13
- srcIndex++;
14
- result |= ((pSrc[srcIndex] & 0b0111_1111)) << (6+7*(srcIndex-1))
15
-
16
- }
17
- result ^= -sign;
18
-
19
- return {result, remaining: pSrc.slice(srcIndex+1)};
20
- }
21
- export function unpackString(pSrc: Buffer): {result: string, remaining: Buffer} {
22
- var result = pSrc.slice(0, pSrc.indexOf(0))
23
- pSrc = pSrc.slice(pSrc.indexOf(0) + 1, pSrc.length)
24
- return {result: decoder.decode(new Uint8Array(result)), remaining: pSrc}
25
- }
26
-
27
- export class MsgUnpacker {
28
- remaining: Buffer;
29
- constructor(pSrc: Buffer) {
30
- this.remaining = pSrc;
31
- }
32
-
33
- unpackInt(): number {
34
- // let unpacked;
35
- // if (!_unpacked) {
36
- let unpacked = unpackInt(this.remaining);
37
- this.remaining = unpacked.remaining;
38
- // } else {
39
- // unpacked = {result: this.remaining[0]};
40
- // this.remaining = this.remaining.slice(1);
41
-
42
- // }
43
- return unpacked.result;
44
- }
45
-
46
- unpackString(): string {
47
- let unpacked = unpackString(this.remaining);
48
- this.remaining = unpacked.remaining;
49
- return unpacked.result;
50
- }
51
-
52
- /** @param size - size in bytes */
53
- unpackRaw(size: number): Buffer {
54
- let unpacked = this.remaining.slice(0, size);
55
- this.remaining = this.remaining.slice(size);
56
- return unpacked;
57
- }
58
- }
@@ -1,45 +0,0 @@
1
- import { createHash } from 'crypto';
2
- export const createTwMD5Hash = (name: string) => { // https://github.com/ddnet/ddnet/blob/6d9284adc1e0be4b5348447d857eae575e06e654/src/engine/shared/uuid_manager.cpp#L26
3
- let hash = createHash("md5")
4
- .update(Buffer.from([0xe0, 0x5d, 0xda, 0xaa, 0xc4, 0xe6, 0x4c, 0xfb, 0xb6, 0x42, 0x5d, 0x48, 0xe8, 0x0c, 0x00, 0x29]))
5
- .update(name)
6
- .digest()
7
- hash[6] &= 0x0f;
8
- hash[6] |= 0x30;
9
- hash[8] &= 0x3f;
10
- hash[8] |= 0x80;
11
- return hash;
12
- }
13
-
14
- // [{name: string, hash: Buffer}, ..]
15
- export class UUIDManager {
16
- uuids: {name: string, hash: Buffer, type_id: number}[] = [];
17
- offset: number;
18
- snapshot: boolean; // snapshot uuids count the index from back (32767, 32766, ..), while normal uuids count with increasing type id (65536, 65537, 65538, ..)
19
- constructor(pOffset = 65536, pSnapshot = false) {
20
- this.offset = pOffset;
21
- this.snapshot = pSnapshot;
22
- }
23
-
24
- LookupUUID(hash: Buffer) {
25
- return this.uuids.find( a => a.hash.compare(hash) == 0 );
26
- }
27
- LookupName(name: string) {
28
- return this.uuids.find( a => a.name === name );
29
- }
30
-
31
- LookupType(ID: number) {
32
- if (!this.snapshot) {
33
- return this.uuids[ID - this.offset]
34
- } else {
35
- return this.uuids.find( a => a.type_id == ID);
36
- }
37
- }
38
- RegisterName(name: string, type_id = this.offset - this.uuids.length) {
39
- this.uuids.push({
40
- name, hash: createTwMD5Hash(name), type_id
41
- });
42
-
43
- }
44
-
45
- }