Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PrismarineJS
GitHub Repository: PrismarineJS/mineflayer
Path: blob/master/index.d.ts
9426 views
1
import { EventEmitter } from 'events'
2
import TypedEmitter from 'typed-emitter'
3
import { Client, ClientOptions } from 'minecraft-protocol'
4
import { Vec3 } from 'vec3'
5
import { Item } from 'prismarine-item'
6
import { Window } from 'prismarine-windows'
7
import { Recipe } from 'prismarine-recipe'
8
import { Block } from 'prismarine-block'
9
import { Entity } from 'prismarine-entity'
10
import { ChatMessage } from 'prismarine-chat'
11
import { world } from 'prismarine-world'
12
import { Registry } from 'prismarine-registry'
13
import { IndexedData } from 'minecraft-data'
14
15
export function createBot (options: { client: Client } & Partial<BotOptions>): Bot
16
export function createBot (options: BotOptions): Bot
17
18
export interface BotOptions extends ClientOptions {
19
logErrors?: boolean
20
hideErrors?: boolean
21
loadInternalPlugins?: boolean
22
plugins?: PluginOptions
23
chat?: ChatLevel
24
colorsEnabled?: boolean
25
viewDistance?: ViewDistance
26
mainHand?: MainHands
27
difficulty?: number
28
chatLengthLimit?: number
29
physicsEnabled?: boolean
30
/** @default 4 */
31
maxCatchupTicks?: number
32
client?: Client
33
brand?: string
34
defaultChatPatterns?: boolean
35
respawn?: boolean
36
}
37
38
export type ChatLevel = 'enabled' | 'commandsOnly' | 'disabled'
39
export type ViewDistance = 'far' | 'normal' | 'short' | 'tiny' | number
40
export type MainHands = 'left' | 'right'
41
42
export interface PluginOptions {
43
[plugin: string]: boolean | Plugin
44
}
45
46
export type Plugin = (bot: Bot, options: BotOptions) => void
47
48
export interface BotEvents {
49
chat: (
50
username: string,
51
message: string,
52
translate: string | null,
53
jsonMsg: ChatMessage,
54
matches: string[] | null
55
) => Promise<void> | void
56
whisper: (
57
username: string,
58
message: string,
59
translate: string | null,
60
jsonMsg: ChatMessage,
61
matches: string[] | null
62
) => Promise<void> | void
63
actionBar: (jsonMsg: ChatMessage) => Promise<void> | void
64
error: (err: Error) => Promise<void> | void
65
message: (jsonMsg: ChatMessage, position: string) => Promise<void> | void
66
messagestr: (message: string, position: string, jsonMsg: ChatMessage) => Promise<void> | void
67
unmatchedMessage: (stringMsg: string, jsonMsg: ChatMessage) => Promise<void> | void
68
inject_allowed: () => Promise<void> | void
69
login: () => Promise<void> | void
70
/** When `respawn` option is disabled, you can call this method manually to respawn. */
71
spawn: () => Promise<void> | void
72
respawn: () => Promise<void> | void
73
game: () => Promise<void> | void
74
title: (text: string, type: "subtitle" | "title") => Promise<void> | void
75
rain: () => Promise<void> | void
76
time: () => Promise<void> | void
77
kicked: (reason: string, loggedIn: boolean) => Promise<void> | void
78
end: (reason: string) => Promise<void> | void
79
spawnReset: () => Promise<void> | void
80
death: () => Promise<void> | void
81
health: () => Promise<void> | void
82
breath: () => Promise<void> | void
83
entitySwingArm: (entity: Entity) => Promise<void> | void
84
entityHurt: (entity: Entity, source: Entity) => Promise<void> | void
85
entityDead: (entity: Entity) => Promise<void> | void
86
entityTaming: (entity: Entity) => Promise<void> | void
87
entityTamed: (entity: Entity) => Promise<void> | void
88
entityShakingOffWater: (entity: Entity) => Promise<void> | void
89
entityEatingGrass: (entity: Entity) => Promise<void> | void
90
entityHandSwap: (entity: Entity) => Promise<void> | void
91
entityWake: (entity: Entity) => Promise<void> | void
92
entityEat: (entity: Entity) => Promise<void> | void
93
entityCriticalEffect: (entity: Entity) => Promise<void> | void
94
entityMagicCriticalEffect: (entity: Entity) => Promise<void> | void
95
entityCrouch: (entity: Entity) => Promise<void> | void
96
entityUncrouch: (entity: Entity) => Promise<void> | void
97
entityEquip: (entity: Entity) => Promise<void> | void
98
entitySleep: (entity: Entity) => Promise<void> | void
99
entitySpawn: (entity: Entity) => Promise<void> | void
100
entityElytraFlew: (entity: Entity) => Promise<void> | void
101
usedFirework: () => Promise<void> | void
102
itemDrop: (entity: Entity) => Promise<void> | void
103
playerCollect: (collector: Entity, collected: Entity) => Promise<void> | void
104
entityAttributes: (entity: Entity) => Promise<void> | void
105
entityGone: (entity: Entity) => Promise<void> | void
106
entityMoved: (entity: Entity) => Promise<void> | void
107
entityDetach: (entity: Entity, vehicle: Entity) => Promise<void> | void
108
entityAttach: (entity: Entity, vehicle: Entity) => Promise<void> | void
109
entityUpdate: (entity: Entity) => Promise<void> | void
110
entityEffect: (entity: Entity, effect: Effect) => Promise<void> | void
111
entityEffectEnd: (entity: Entity, effect: Effect) => Promise<void> | void
112
playerJoined: (player: Player) => Promise<void> | void
113
playerUpdated: (player: Player) => Promise<void> | void
114
playerLeft: (entity: Player) => Promise<void> | void
115
blockUpdate: (oldBlock: Block | null, newBlock: Block) => Promise<void> | void
116
'blockUpdate:(x, y, z)': (oldBlock: Block | null, newBlock: Block | null) => Promise<void> | void
117
chunkColumnLoad: (entity: Vec3) => Promise<void> | void
118
chunkColumnUnload: (entity: Vec3) => Promise<void> | void
119
soundEffectHeard: (
120
soundName: string,
121
position: Vec3,
122
volume: number,
123
pitch: number
124
) => Promise<void> | void
125
hardcodedSoundEffectHeard: (
126
soundId: number,
127
soundCategory: number,
128
position: Vec3,
129
volume: number,
130
pitch: number
131
) => Promise<void> | void
132
noteHeard: (block: Block, instrument: Instrument, pitch: number) => Promise<void> | void
133
pistonMove: (block: Block, isPulling: number, direction: number) => Promise<void> | void
134
chestLidMove: (block: Block, isOpen: number, block2: Block | null) => Promise<void> | void
135
blockBreakProgressObserved: (block: Block, destroyStage: number) => Promise<void> | void
136
blockBreakProgressEnd: (block: Block) => Promise<void> | void
137
diggingCompleted: (block: Block) => Promise<void> | void
138
diggingAborted: (block: Block) => Promise<void> | void
139
move: (position: Vec3) => Promise<void> | void
140
forcedMove: () => Promise<void> | void
141
mount: () => Promise<void> | void
142
dismount: (vehicle: Entity) => Promise<void> | void
143
windowOpen: (window: Window) => Promise<void> | void
144
windowClose: (window: Window) => Promise<void> | void
145
sleep: () => Promise<void> | void
146
wake: () => Promise<void> | void
147
experience: () => Promise<void> | void
148
physicsTick: () => Promise<void> | void
149
physicTick: () => Promise<void> | void
150
scoreboardCreated: (scoreboard: ScoreBoard) => Promise<void> | void
151
scoreboardDeleted: (scoreboard: ScoreBoard) => Promise<void> | void
152
scoreboardTitleChanged: (scoreboard: ScoreBoard) => Promise<void> | void
153
scoreUpdated: (scoreboard: ScoreBoard, item: number) => Promise<void> | void
154
scoreRemoved: (scoreboard: ScoreBoard, item: number) => Promise<void> | void
155
scoreboardPosition: (position: DisplaySlot, scoreboard: ScoreBoard) => Promise<void> | void
156
teamCreated: (team: Team) => Promise<void> | void
157
teamRemoved: (team: Team) => Promise<void> | void
158
teamUpdated: (team: Team) => Promise<void> | void
159
teamMemberAdded: (team: Team) => Promise<void> | void
160
teamMemberRemoved: (team: Team) => Promise<void> | void
161
bossBarCreated: (bossBar: BossBar) => Promise<void> | void
162
bossBarDeleted: (bossBar: BossBar) => Promise<void> | void
163
bossBarUpdated: (bossBar: BossBar) => Promise<void> | void
164
resourcePack: (url: string, hash?: string, uuid?: string) => Promise<void> | void
165
heldItemChanged: (newItem: Item | null) => Promise<void> | void
166
particle: (particle: Particle) => Promise<void> | void
167
}
168
169
export interface CommandBlockOptions {
170
mode: number,
171
trackOutput: boolean,
172
conditional: boolean,
173
alwaysActive: boolean
174
}
175
176
export interface Bot extends TypedEmitter<BotEvents> {
177
username: string
178
protocolVersion: string
179
majorVersion: string
180
version: string
181
entity: Entity
182
entities: { [id: string]: Entity }
183
fireworkRocketDuration: number
184
spawnPoint: Vec3
185
game: GameState
186
player: Player
187
players: { [username: string]: Player }
188
isRaining: boolean
189
thunderState: number
190
chatPatterns: ChatPattern[]
191
settings: GameSettings
192
experience: Experience
193
health: number
194
food: number
195
foodSaturation: number
196
oxygenLevel: number
197
physics: PhysicsOptions
198
physicsEnabled: boolean
199
time: Time
200
quickBarSlot: number
201
inventory: Window<StorageEvents>
202
targetDigBlock: Block
203
isSleeping: boolean
204
scoreboards: { [name: string]: ScoreBoard }
205
scoreboard: { [slot in DisplaySlot]: ScoreBoard }
206
teams: { [name: string]: Team }
207
teamMap: { [name: string]: Team }
208
controlState: ControlStateStatus
209
creative: creativeMethods
210
world: world.WorldSync
211
_client: Client
212
heldItem: Item | null
213
usingHeldItem: boolean
214
currentWindow: Window | null
215
simpleClick: simpleClick
216
tablist: Tablist
217
registry: Registry
218
219
connect: (options: BotOptions) => void
220
221
supportFeature: IndexedData['supportFeature']
222
223
end: (reason?: string) => void
224
225
blockAt: (point: Vec3, extraInfos?: boolean) => Block | null
226
227
blockInSight: (maxSteps: number, vectorLength: number) => Block | null
228
229
blockAtCursor: (maxDistance?: number, matcher?: Function) => Block | null
230
blockAtEntityCursor: (entity?: Entity, maxDistance?: number, matcher?: Function) => Block | null
231
232
canSeeBlock: (block: Block) => boolean
233
234
findBlock: (options: FindBlockOptions) => Block | null
235
236
findBlocks: (options: FindBlockOptions) => Vec3[]
237
238
canDigBlock: (block: Block) => boolean
239
240
recipesFor: (
241
itemType: number,
242
metadata: number | null,
243
minResultCount: number | null,
244
craftingTable: Block | boolean | null
245
) => Recipe[]
246
247
recipesAll: (
248
itemType: number,
249
metadata: number | null,
250
craftingTable: Block | boolean | null
251
) => Recipe[]
252
253
quit: (reason?: string) => void
254
255
tabComplete: (
256
str: string,
257
assumeCommand?: boolean,
258
sendBlockInSight?: boolean,
259
timeout?: number
260
) => Promise<string[]>
261
262
chat: (message: string) => void
263
264
whisper: (username: string, message: string) => void
265
266
chatAddPattern: (pattern: RegExp, chatType: string, description?: string) => number
267
268
setSettings: (options: Partial<GameSettings>) => void
269
270
loadPlugin: (plugin: Plugin) => void
271
272
loadPlugins: (plugins: Plugin[]) => void
273
274
hasPlugin: (plugin: Plugin) => boolean
275
276
sleep: (bedBlock: Block) => Promise<void>
277
278
isABed: (bedBlock: Block) => boolean
279
280
wake: () => Promise<void>
281
282
elytraFly: () => Promise<void>
283
284
setControlState: (control: ControlState, state: boolean) => void
285
286
getControlState: (control: ControlState) => boolean
287
288
clearControlStates: () => void
289
290
getExplosionDamages: (targetEntity: Entity, position: Vec3, radius: number, rawDamages?: boolean) => number | null
291
292
lookAt: (point: Vec3, force?: boolean) => Promise<void>
293
294
look: (
295
yaw: number,
296
pitch: number,
297
force?: boolean
298
) => Promise<void>
299
300
updateSign: (block: Block, text: string, back?: boolean) => void
301
302
equip: (
303
item: Item | number,
304
destination: EquipmentDestination | null
305
) => Promise<void>
306
307
unequip: (
308
destination: EquipmentDestination | null
309
) => Promise<void>
310
311
tossStack: (item: Item) => Promise<void>
312
313
toss: (
314
itemType: number,
315
metadata: number | null,
316
count: number | null
317
) => Promise<void>
318
319
dig: ((block: Block, forceLook?: boolean | 'ignore') => Promise<void>) & ((block: Block, forceLook: boolean | 'ignore', digFace: 'auto' | Vec3 | 'raycast') => Promise<void>)
320
321
stopDigging: () => void
322
323
digTime: (block: Block) => number
324
325
placeBlock: (referenceBlock: Block, faceVector: Vec3) => Promise<void>
326
327
placeEntity: (referenceBlock: Block, faceVector: Vec3) => Promise<Entity>
328
329
activateBlock: (block: Block, direction?: Vec3, cursorPos?: Vec3) => Promise<void>
330
331
activateEntity: (entity: Entity) => Promise<void>
332
333
activateEntityAt: (entity: Entity, position: Vec3) => Promise<void>
334
335
consume: () => Promise<void>
336
337
fish: () => Promise<void>
338
339
activateItem: (offhand?: boolean) => void
340
341
deactivateItem: () => void
342
343
useOn: (targetEntity: Entity) => void
344
345
attack: (entity: Entity) => void
346
347
swingArm: (hand: 'left' | 'right' | undefined, showHand?: boolean) => void
348
349
mount: (entity: Entity) => void
350
351
dismount: () => void
352
353
moveVehicle: (left: number, forward: number) => void
354
355
setQuickBarSlot: (slot: number) => void
356
357
craft: (
358
recipe: Recipe,
359
count?: number,
360
craftingTable?: Block
361
) => Promise<void>
362
363
writeBook: (
364
slot: number,
365
pages: string[]
366
) => Promise<void>
367
368
openContainer: (chest: Block | Entity, direction?: Vec3, cursorPos?: Vec3) => Promise<Chest | Dispenser>
369
370
openChest: (chest: Block | Entity, direction?: number, cursorPos?: Vec3) => Promise<Chest>
371
372
openFurnace: (furnace: Block) => Promise<Furnace>
373
374
openDispenser: (dispenser: Block) => Promise<Dispenser>
375
376
openEnchantmentTable: (enchantmentTable: Block) => Promise<EnchantmentTable>
377
378
openAnvil: (anvil: Block) => Promise<Anvil>
379
380
openVillager: (
381
villager: Entity
382
) => Promise<Villager>
383
384
trade: (
385
villagerInstance: Villager,
386
tradeIndex: string | number,
387
times?: number
388
) => Promise<void>
389
390
391
392
setCommandBlock: (pos: Vec3, command: string, options: CommandBlockOptions) => void
393
394
clickWindow: (
395
slot: number,
396
mouseButton: number,
397
mode: number
398
) => Promise<void>
399
400
putSelectedItemRange: (
401
start: number,
402
end: number,
403
window: Window,
404
slot: any
405
) => Promise<void>
406
407
putAway: (slot: number) => Promise<void>
408
409
closeWindow: (window: Window) => void
410
411
transfer: (options: TransferOptions) => Promise<void>
412
413
openBlock: (block: Block, direction?: Vec3, cursorPos?: Vec3) => Promise<Window>
414
415
openEntity: (block: Entity, Class: new () => EventEmitter) => Promise<Window>
416
417
moveSlotItem: (
418
sourceSlot: number,
419
destSlot: number
420
) => Promise<void>
421
422
updateHeldItem: () => void
423
424
getEquipmentDestSlot: (destination: string) => number
425
426
waitForChunksToLoad: () => Promise<void>
427
428
entityAtCursor: (maxDistance?: number) => Entity | null
429
nearestEntity: (filter?: (entity: Entity) => boolean) => Entity | null
430
431
waitForTicks: (ticks: number) => Promise<void>
432
433
addChatPattern: (name: string, pattern: RegExp, options?: chatPatternOptions) => number
434
435
addChatPatternSet: (name: string, patterns: RegExp[], options?: chatPatternOptions) => number
436
437
removeChatPattern: (name: string | number) => void
438
439
awaitMessage: (...args: string[] | RegExp[]) => Promise<string>
440
441
acceptResourcePack: () => void
442
443
denyResourcePack: () => void
444
445
respawn: () => void
446
}
447
448
export interface simpleClick {
449
leftMouse: (slot: number) => Promise<void>
450
rightMouse: (slot: number) => Promise<void>
451
}
452
453
export interface Tablist {
454
header: ChatMessage
455
footer: ChatMessage
456
}
457
458
export interface chatPatternOptions {
459
repeat: boolean
460
parse: boolean
461
}
462
463
export interface GameState {
464
levelType: LevelType
465
gameMode: GameMode
466
hardcore: boolean
467
dimension: Dimension
468
difficulty: Difficulty
469
maxPlayers: number
470
serverBrand: string
471
}
472
473
export type LevelType =
474
| 'default'
475
| 'flat'
476
| 'largeBiomes'
477
| 'amplified'
478
| 'customized'
479
| 'buffet'
480
| 'default_1_1'
481
export type GameMode = 'survival' | 'creative' | 'adventure' | 'spectator'
482
export type Dimension = 'the_nether' | 'overworld' | 'the_end'
483
export type Difficulty = 'peaceful' | 'easy' | 'normal' | 'hard'
484
485
export interface Player {
486
uuid: string
487
username: string
488
displayName: ChatMessage
489
gamemode: number
490
ping: number
491
entity: Entity
492
skinData: SkinData | undefined
493
profileKeys?: {
494
publicKey: Buffer
495
signature: Buffer
496
}
497
}
498
499
export interface SkinData {
500
url: string
501
model: string | null
502
}
503
504
export interface ChatPattern {
505
pattern: RegExp
506
type: string
507
description: string
508
}
509
510
export interface SkinParts {
511
showCape: boolean
512
showJacket: boolean
513
showLeftSleeve: boolean
514
showRightSleeve: boolean
515
showLeftPants: boolean
516
showRightPants: boolean
517
showHat: boolean
518
}
519
520
export interface GameSettings {
521
chat: ChatLevel
522
colorsEnabled: boolean
523
viewDistance: ViewDistance
524
difficulty: number
525
skinParts: SkinParts
526
mainHand: MainHands
527
}
528
529
export interface Experience {
530
level: number
531
points: number
532
progress: number
533
}
534
535
export interface PhysicsOptions {
536
maxGroundSpeed: number
537
terminalVelocity: number
538
walkingAcceleration: number
539
gravity: number
540
groundFriction: number
541
playerApothem: number
542
playerHeight: number
543
jumpSpeed: number
544
yawSpeed: number
545
pitchSpeed: number
546
sprintSpeed: number
547
maxGroundSpeedSoulSand: number
548
maxGroundSpeedWater: number
549
}
550
551
export interface Time {
552
doDaylightCycle: boolean
553
bigTime: BigInt
554
time: number
555
timeOfDay: number
556
day: number
557
isDay: boolean
558
moonPhase: number
559
bigAge: BigInt
560
age: number
561
}
562
563
export interface ControlStateStatus {
564
forward: boolean
565
back: boolean
566
left: boolean
567
right: boolean
568
jump: boolean
569
sprint: boolean
570
sneak: boolean
571
}
572
573
export type ControlState =
574
| 'forward'
575
| 'back'
576
| 'left'
577
| 'right'
578
| 'jump'
579
| 'sprint'
580
| 'sneak'
581
582
export interface Effect {
583
id: number
584
amplifier: number
585
duration: number
586
}
587
588
export interface Instrument {
589
id: number
590
name: 'harp' | 'doubleBass' | 'snareDrum' | 'sticks' | 'bassDrum'
591
}
592
593
export interface FindBlockOptions {
594
point?: Vec3
595
matching: number | number[] | ((block: Block) => boolean)
596
maxDistance?: number
597
count?: number
598
useExtraInfo?: boolean | ((block: Block) => boolean)
599
}
600
601
export type EquipmentDestination = 'hand' | 'head' | 'torso' | 'legs' | 'feet' | 'off-hand'
602
603
export interface TransferOptions {
604
window: Window
605
itemType: number
606
metadata: number | null
607
count?: number,
608
sourceStart: number
609
sourceEnd: number
610
destStart: number
611
destEnd: number
612
}
613
614
export interface creativeMethods {
615
setInventorySlot: (
616
slot: number,
617
item: Item | null
618
) => Promise<void>
619
620
clearSlot: (slot: number) => Promise<void>
621
622
clearInventory: () => Promise<void>
623
624
flyTo: (destination: Vec3) => Promise<void>
625
626
startFlying: () => void
627
628
stopFlying: () => void
629
}
630
631
export class Location {
632
floored: Vec3
633
blockPoint: Vec3
634
chunkCorner: Vec3
635
blockIndex: number
636
biomeBlockIndex: number
637
chunkYIndex: number
638
639
constructor (absoluteVector: Vec3);
640
}
641
642
export class Painting {
643
id: number
644
position: Vec3
645
name: string
646
direction: Vec3
647
648
constructor (id: number, position: Vec3, name: string, direction: Vec3);
649
}
650
651
interface StorageEvents {
652
open: () => void
653
close: () => void
654
updateSlot: (slot: number, oldItem: Item | null, newItem: Item | null) => void
655
}
656
657
interface FurnaceEvents extends StorageEvents {
658
update: () => void
659
}
660
661
interface ConditionalStorageEvents extends StorageEvents {
662
ready: () => void
663
}
664
665
export class Chest extends Window<StorageEvents> {
666
constructor ();
667
668
close (): void;
669
670
deposit (
671
itemType: number,
672
metadata: number | null,
673
count: number | null
674
): Promise<void>;
675
676
withdraw (
677
itemType: number,
678
metadata: number | null,
679
count: number | null
680
): Promise<void>;
681
}
682
683
export class Furnace extends Window<FurnaceEvents> {
684
fuel: number
685
progress: number
686
687
constructor ();
688
689
close (): void;
690
691
takeInput (): Promise<Item>;
692
693
takeFuel (): Promise<Item>;
694
695
takeOutput (): Promise<Item>;
696
697
putInput (
698
itemType: number,
699
metadata: number | null,
700
count: number
701
): Promise<void>;
702
703
putFuel (
704
itemType: number,
705
metadata: number | null,
706
count: number
707
): Promise<void>;
708
709
inputItem (): Item;
710
711
fuelItem (): Item;
712
713
outputItem (): Item;
714
}
715
716
export class Dispenser extends Window<StorageEvents> {
717
constructor ();
718
719
close (): void;
720
721
deposit (
722
itemType: number,
723
metadata: number | null,
724
count: number | null
725
): Promise<void>;
726
727
withdraw (
728
itemType: number,
729
metadata: number | null,
730
count: number | null
731
): Promise<void>;
732
}
733
734
export class EnchantmentTable extends Window<ConditionalStorageEvents> {
735
enchantments: Enchantment[]
736
737
constructor ();
738
739
close (): void;
740
741
targetItem (): Item;
742
743
enchant (
744
choice: string | number
745
): Promise<Item>;
746
747
takeTargetItem (): Promise<Item>;
748
749
putTargetItem (item: Item): Promise<Item>;
750
751
putLapis (item: Item): Promise<Item>;
752
}
753
754
export class Anvil {
755
combine (itemOne: Item, itemTwo: Item, name?: string): Promise<void>
756
rename (item: Item, name?: string): Promise<void>
757
}
758
759
export interface Enchantment {
760
level: number
761
expected: { enchant: number, level: number }
762
}
763
764
export class Villager extends Window<ConditionalStorageEvents> {
765
trades: VillagerTrade[]
766
767
constructor ();
768
769
close (): void;
770
}
771
772
export interface VillagerTrade {
773
inputItem1: Item
774
outputItem: Item
775
inputItem2: Item | null
776
hasItem2: boolean
777
tradeDisabled: boolean
778
nbTradeUses: number
779
maximumNbTradeUses: number
780
xp?: number
781
specialPrice?: number
782
priceMultiplier?: number
783
demand?: number
784
realPrice?: number
785
}
786
787
export class ScoreBoard {
788
name: string
789
title: string
790
itemsMap: { [name: string]: ScoreBoardItem }
791
items: ScoreBoardItem[]
792
793
constructor (packet: object);
794
795
setTitle (title: string): void;
796
797
add(name: string, value: number): ScoreBoardItem;
798
799
remove (name: string): ScoreBoardItem;
800
}
801
802
export interface ScoreBoardItem {
803
name: string
804
displayName: ChatMessage
805
value: number
806
}
807
808
export class Team {
809
team: string
810
name: ChatMessage
811
friendlyFire: number
812
nameTagVisibility: string
813
collisionRule: string
814
color: string
815
prefix: ChatMessage
816
suffix: ChatMessage
817
memberMap: { [name: string]: '' }
818
members: string[]
819
820
constructor(team: string, name: string, friendlyFire: boolean, nameTagVisibility: string, collisionRule: string, formatting: number, prefix: string, suffix: string);
821
822
parseMessage (value: string): ChatMessage;
823
824
add (name: string, value: number): void;
825
826
remove (name: string): void;
827
828
update (name: string, friendlyFire: boolean, nameTagVisibility: string, collisionRule: string, formatting: number, prefix: string, suffix: string): void;
829
830
displayName (member: string): ChatMessage;
831
}
832
833
export type DisplaySlot =
834
| 'list'
835
| 'sidebar'
836
| 'belowName'
837
| 3
838
| 4
839
| 5
840
| 6
841
| 7
842
| 8
843
| 9
844
| 10
845
| 11
846
| 12
847
| 13
848
| 14
849
| 15
850
| 16
851
| 17
852
| 18
853
854
export class BossBar {
855
entityUUID: string
856
title: ChatMessage
857
health: number
858
dividers: number
859
color: 'pink' | 'blue' | 'red' | 'green' | 'yellow' | 'purple' | 'white'
860
shouldDarkenSky: boolean
861
isDragonBar: boolean
862
createFog: boolean
863
shouldCreateFog: boolean
864
865
constructor (
866
uuid: string,
867
title: string,
868
health: number,
869
dividers: number,
870
color: number,
871
flags: number
872
);
873
}
874
875
export class Particle {
876
id: number
877
position: Vec3
878
offset: Vec3
879
count: number
880
movementSpeed: number
881
longDistanceRender: boolean
882
static fromNetwork(packet: Object): Particle
883
884
constructor(
885
id: number,
886
position: Vec3,
887
offset: Vec3,
888
count?: number,
889
movementSpeed?: number,
890
longDistanceRender?: boolean
891
);
892
}
893
894
export let testedVersions: string[]
895
export let latestSupportedVersion: string
896
export let oldestSupportedVersion: string
897
898
export function supportFeature (feature: string, version: string): boolean
899
900