CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PrismarineJS

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

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