@wq2/miniblox-sdk 0.0.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.
@@ -0,0 +1,4711 @@
1
+ import { Socket } from "socket.io-client";
2
+ import {
3
+ Box3 as Box3$1,
4
+ Box3Helper,
5
+ Group,
6
+ Loader,
7
+ Mesh as Mesh$1,
8
+ Object3D as Object3D$1,
9
+ Quaternion as Quaternion$1,
10
+ Texture,
11
+ TextureLoader,
12
+ Vector3 as Vector3$2,
13
+ } from "three";
14
+ import { Vector3 as Vector3$3 } from "three/src/Three.Core.js";
15
+
16
+ //#region src/math/plane.d.ts
17
+ type directionStr = "horizontal" | "vertical";
18
+ declare class Plane {
19
+ static HORIZONTAL: Plane;
20
+ static VERTICAL: Plane;
21
+ facings: EnumFacing$1[];
22
+ direction: directionStr;
23
+ constructor(direction: directionStr);
24
+ init(): void;
25
+ static getHorizontal(): EnumFacing$1[];
26
+ static randomHorizontal(): EnumFacing$1[];
27
+ static getVertical(): EnumFacing$1[];
28
+ random(): EnumFacing$1;
29
+ equals(other: Plane): boolean;
30
+ }
31
+ //#endregion
32
+ //#region src/math/axis.d.ts
33
+ declare class Axis {
34
+ name: string;
35
+ index: number;
36
+ plane: Plane;
37
+ static readonly X: Axis;
38
+ static readonly Y: Axis;
39
+ static readonly Z: Axis;
40
+ static readonly VALUES: Axis[];
41
+ constructor(name: string, plane: Plane, index: number);
42
+ equals(other: Axis): boolean;
43
+ notEquals(other: Axis): boolean;
44
+ inverseCrossProduct(): [EnumFacing$1, EnumFacing$1];
45
+ static byName(name: string): Axis;
46
+ toJSON(): this["name"];
47
+ isVertical(): boolean;
48
+ isHorizontal(): boolean;
49
+ getPlane(): this["plane"];
50
+ }
51
+ declare class AxisDirection {
52
+ static POSITIVE: AxisDirection;
53
+ static NEGATIVE: AxisDirection;
54
+ description: string;
55
+ offset: number;
56
+ constructor(offset: number, description: string);
57
+ }
58
+ //#endregion
59
+ //#region src/math/facing.d.ts
60
+ declare class EnumFacing$1 {
61
+ index: number;
62
+ opposite: number;
63
+ horizontalIndex: number;
64
+ name: string;
65
+ axisDirection: AxisDirection;
66
+ axis: Axis;
67
+ directionVec: Vector3$3;
68
+ static readonly DOWN: EnumFacing$1;
69
+ static readonly UP: EnumFacing$1;
70
+ static readonly NORTH: EnumFacing$1;
71
+ static readonly SOUTH: EnumFacing$1;
72
+ static readonly WEST: EnumFacing$1;
73
+ static readonly EAST: EnumFacing$1;
74
+ static readonly getByName: {
75
+ [name: string]: EnumFacing$1;
76
+ };
77
+ static readonly VALUES: EnumFacing$1[];
78
+ static readonly HORIZONTALS: EnumFacing$1[];
79
+ constructor(
80
+ index: number,
81
+ opposite: number,
82
+ horizontalIndex: number,
83
+ name: string,
84
+ axisDirection: AxisDirection,
85
+ axis: Axis,
86
+ directionVec: Vector3$3,
87
+ );
88
+ getOpposite(): EnumFacing$1;
89
+ getHorizontalIndex(): this["horizontalIndex"];
90
+ isHorizontal(): this["axis"]["isHorizontal"];
91
+ toJSON(): this["name"];
92
+ valueOf(): this["name"];
93
+ toProto(): this["name"];
94
+ getAxis(): this["axis"];
95
+ getIndex(): this["index"];
96
+ rotateAround(u: Axis): EnumFacing$1;
97
+ rotateY(): EnumFacing$1;
98
+ rotateX(): EnumFacing$1;
99
+ rotateZ(): EnumFacing$1;
100
+ rotateYCCW(): EnumFacing$1;
101
+ getFrontOffsetX(): number;
102
+ getFrontOffsetY(): number;
103
+ getFrontOffsetZ(): number;
104
+ static getHorizontal(idx: number): EnumFacing$1;
105
+ static random(): EnumFacing$1;
106
+ static fromIndex(index: number): EnumFacing$1;
107
+ static fromVector(vec: Vector3$3): EnumFacing$1;
108
+ toVector(): Vector3$3;
109
+ static toVector(facing: EnumFacing$1): Vector3$3;
110
+ toArray(): [number, number, number];
111
+ static fromAngle(angle: number): EnumFacing$1;
112
+ static fromJSON(json: string): EnumFacing$1;
113
+ static fromDirectionAndAxis(
114
+ axisDirection: AxisDirection,
115
+ axis: Axis,
116
+ ): EnumFacing$1;
117
+ toAngleRadians(): number;
118
+ }
119
+ //#endregion
120
+ //#region src/render/RenderEntity.d.ts
121
+ declare class RenderEntity extends Group {
122
+ rotYaw: Quaternion$1;
123
+ rotPitch: Quaternion$1;
124
+ entity: Entity$1;
125
+ debugMesh: Mesh$1;
126
+ }
127
+ //#endregion
128
+ //#region src/items/Item.d.ts
129
+ // Base Item class
130
+ declare class Item$1 {
131
+ name: string;
132
+ maxStackSize: number;
133
+ maxDamage: number;
134
+ hasSubtypes: boolean;
135
+ getUnlocalizedName(): string;
136
+ getItemStackDisplayName(stack: ItemStack$1): string;
137
+ onItemUse(
138
+ stack: ItemStack$1,
139
+ player: Entity$1,
140
+ world: World$1,
141
+ pos: Vector3$2,
142
+ side: EnumFacing$1,
143
+ hitX: number,
144
+ hitY: number,
145
+ hitZ: number,
146
+ ): boolean;
147
+ onItemRightClick(
148
+ stack: ItemStack$1,
149
+ world: World$1,
150
+ player: Entity$1,
151
+ ): ItemStack$1;
152
+ getMaxItemUseDuration(stack: ItemStack$1): number;
153
+ getItemUseAction(stack: ItemStack$1): string;
154
+ onPlayerStoppedUsing(
155
+ stack: ItemStack$1,
156
+ world: World$1,
157
+ player: Entity$1,
158
+ timeLeft: number,
159
+ ): void;
160
+ hitEntity(stack: ItemStack$1, target: Entity$1, attacker: Entity$1): boolean;
161
+ onBlockDestroyed(
162
+ stack: ItemStack$1,
163
+ world: World$1,
164
+ block: Block,
165
+ pos: Vector3$2,
166
+ player: Entity$1,
167
+ ): boolean;
168
+ canHarvestBlock(block: Block): boolean;
169
+ getStrVsBlock(stack: ItemStack$1, block: Block): number;
170
+ }
171
+ // ItemBlock - Placeable blocks
172
+ declare class ItemBlock extends Item$1 {
173
+ block: Block;
174
+ getBlock(): Block;
175
+ placeBlockAt(
176
+ stack: ItemStack$1,
177
+ player: Entity$1,
178
+ world: World$1,
179
+ pos: Vector3$2,
180
+ side: EnumFacing$1,
181
+ hitX: number,
182
+ hitY: number,
183
+ hitZ: number,
184
+ metadata: number,
185
+ ): boolean;
186
+ }
187
+ // ItemSword - Swords
188
+ declare class ItemSword extends Item$1 {
189
+ attackDamage: number;
190
+ weaponMaterial: string;
191
+ getAttackDamage(): number;
192
+ }
193
+ // ItemBow - Bows
194
+ declare class ItemBow extends Item$1 {
195
+ maxItemUseDuration: number;
196
+ }
197
+ declare class ItemArmor extends Item$1 {
198
+ armorType: number;
199
+ /** **IMPORTANT**: USE DUMPS OR AUTO REMAP PROXY */
200
+ damageReduceAmount: number;
201
+ maxDamage: number;
202
+ renderIndex: number;
203
+ material: string;
204
+ getArmorMaterial(): string;
205
+ getColor(stack: ItemStack$1): number;
206
+ removeColor(stack: ItemStack$1): void;
207
+ hasColor(stack: ItemStack$1): boolean;
208
+ }
209
+ declare class ItemFood extends Item$1 {
210
+ healAmount: number;
211
+ saturationModifier: number;
212
+ isWolfsFavoriteMeat: boolean;
213
+ alwaysEdible: boolean;
214
+ getHealAmount(stack: ItemStack$1): number;
215
+ getSaturationModifier(stack: ItemStack$1): number;
216
+ }
217
+ declare class ItemTool extends Item$1 {
218
+ efficiencyOnProperMaterial: number;
219
+ damageVsEntity: number;
220
+ toolMaterial: string;
221
+ getToolMaterial(): string;
222
+ getStrVsBlock(stack: ItemStack$1, block: Block): number;
223
+ }
224
+ declare class ItemPickaxe extends ItemTool {}
225
+ declare class ItemAppleGold extends ItemFood {}
226
+ interface EnchantmentData {
227
+ id: number;
228
+ lvl: number;
229
+ }
230
+ declare class ItemStack$1 {
231
+ item: Item$1;
232
+ stackSize: number;
233
+ itemDamage: number;
234
+ getItem(): Item$1;
235
+ getDisplayName(): string;
236
+ getEnchantmentTagList(): EnchantmentData[] | null;
237
+ hasEffect(): boolean;
238
+ isItemEnchanted(): boolean;
239
+ isItemEnchantable(): boolean;
240
+ getMaxStackSize(): number;
241
+ isStackable(): boolean;
242
+ isItemDamaged(): boolean;
243
+ getItemDamage(): number;
244
+ getMaxDamage(): number;
245
+ attemptDamageItem(amount: number, random: unknown): boolean;
246
+ damageItem(amount: number, entity: Entity$1): void;
247
+ hitEntity(target: Entity$1, player: Entity$1): void;
248
+ onBlockDestroyed(
249
+ world: World$1,
250
+ block: Block,
251
+ pos: unknown,
252
+ player: Entity$1,
253
+ ): void;
254
+ canHarvestBlock(block: Block): boolean;
255
+ interactWithEntity(player: Entity$1, target: Entity$1): boolean;
256
+ copy(): ItemStack$1;
257
+ areItemStackTagsEqual(other: ItemStack$1): boolean;
258
+ areItemStacksEqual(other: ItemStack$1): boolean;
259
+ isItemEqual(other: ItemStack$1): boolean;
260
+ getTooltip(player: Entity$1, advanced: boolean): string[];
261
+ hasDisplayName(): boolean;
262
+ setStackDisplayName(name: string): ItemStack$1;
263
+ clearCustomName(): void;
264
+ hasTagCompound(): boolean; // TODO: idk what types these are, assuming strings?
265
+ getTagCompound(): string;
266
+ setTagCompound(nbt: string): void;
267
+ }
268
+ // Global Items registry
269
+ declare const Items: {
270
+ readonly emerald_sword: Item$1;
271
+ readonly diamond_sword: ItemSword;
272
+ readonly iron_sword: ItemSword;
273
+ readonly stone_sword: ItemSword;
274
+ readonly wooden_sword: ItemSword;
275
+ readonly bow: ItemBow;
276
+ readonly arrow: Item$1;
277
+ readonly golden_apple: ItemAppleGold;
278
+ readonly apple: ItemFood;
279
+ readonly bread: ItemFood;
280
+ readonly cooked_beef: ItemFood;
281
+ readonly cooked_porkchop: ItemFood;
282
+ readonly diamond_helmet: ItemArmor;
283
+ readonly diamond_chestplate: ItemArmor;
284
+ readonly diamond_leggings: ItemArmor;
285
+ readonly diamond_boots: ItemArmor;
286
+ readonly iron_helmet: ItemArmor;
287
+ readonly iron_chestplate: ItemArmor;
288
+ readonly iron_leggings: ItemArmor;
289
+ readonly iron_boots: ItemArmor;
290
+ readonly chainmail_helmet: ItemArmor;
291
+ readonly chainmail_chestplate: ItemArmor;
292
+ readonly chainmail_leggings: ItemArmor;
293
+ readonly chainmail_boots: ItemArmor;
294
+ readonly diamond_pickaxe: ItemPickaxe;
295
+ readonly iron_pickaxe: ItemPickaxe;
296
+ readonly stone_pickaxe: ItemPickaxe;
297
+ readonly wooden_pickaxe: ItemPickaxe;
298
+ readonly ender_pearl: Item$1;
299
+ readonly snowball: Item$1;
300
+ readonly egg: Item$1;
301
+ readonly flint_and_steel: Item$1;
302
+ readonly fire_charge: Item$1; // Add more items as needed
303
+ [key: string]: Item$1;
304
+ };
305
+ //#endregion
306
+ //#region src/render/RenderLivingEntity.d.ts
307
+ declare class RenderLivingEntity extends RenderEntity {
308
+ nameTag: Group;
309
+ skeleton: Group;
310
+ torso: Object3D$1;
311
+ leftElbowJoint: Object3D$1;
312
+ rightElbowJoint: Object3D$1;
313
+ leftShoulder: Object3D$1;
314
+ rightShoulder: Object3D$1;
315
+ leftShoulderJoint: Object3D$1;
316
+ rightShoulderJoint: Object3D$1;
317
+ rightHand: Object3D$1;
318
+ leftKneeJoint: Object3D$1;
319
+ rightKneeJoint: Object3D$1;
320
+ leftHip: Object3D$1;
321
+ rightHip: Object3D$1;
322
+ leftHipJoint: Object3D$1;
323
+ rightHipJoint: Object3D$1;
324
+ headPivot: Group;
325
+ neck: Object3D$1;
326
+ body: Group;
327
+ armorMesh: Mesh$1;
328
+ meshes: Mesh$1[];
329
+ item: Item$1;
330
+ lastActiveItem: Item$1;
331
+ handMesh: Mesh$1;
332
+ handTesr: unknown;
333
+ prevCustomName: string;
334
+ }
335
+ //#endregion
336
+ //#region src/render/RenderPlayer.d.ts
337
+ declare class RenderPlayer extends RenderLivingEntity {
338
+ model: ModelPlayer; // ModelPlayer
339
+ capeMesh: Mesh$1;
340
+ hatMesh: Mesh$1;
341
+ punchingT: number;
342
+ canvas: HTMLCanvasElement;
343
+ }
344
+ //#endregion
345
+ //#region src/undefined.d.ts
346
+ /**
347
+ * Contains types which are just an alias to `unknown`.
348
+ * Each type is here either because they aren't important (i.e. only useful server-sided) or I haven't gotten around to making types for them yet.
349
+ */
350
+ //#region Needs Typings
351
+ //#region Required
352
+ type Inventory$1 = unknown;
353
+ type InventoryEnderChest = unknown;
354
+ type PotionEffect = unknown;
355
+ //#endregion
356
+ //#region Additional
357
+ type DataWatcher = unknown;
358
+ type EffectsManager = unknown;
359
+ type FoodStats = unknown;
360
+ type AttributeMap = unknown;
361
+ type CombatTracker = unknown;
362
+ type TileEntitySign = unknown;
363
+ type CommandBlockLogic = unknown;
364
+ type Profile = unknown;
365
+ type GameProfile = unknown;
366
+ //#endregion
367
+ //#endregion
368
+ //#region Useless
369
+ type ICrafting = unknown;
370
+ //#endregion
371
+ //#region src/world/damageSource.d.ts
372
+ declare class DamageSource {
373
+ unblockable: boolean;
374
+ isDamageAllowedInCreativeMode: boolean;
375
+ damageIsAbsolute: boolean;
376
+ hungerDamage: number;
377
+ fireDamage: number;
378
+ projectile: boolean;
379
+ difficultyScaled: boolean;
380
+ magicDamage: boolean;
381
+ explosion: boolean;
382
+ damageType: string;
383
+ damageSourceEntity?: Entity;
384
+ isThornsDamage: boolean;
385
+ indirectEntity?: Entity;
386
+ constructor(damageType: string, entity: Entity, p?: Entity);
387
+ static causeMobDamage(mob: EntityLivingBase): DamageSource;
388
+ static causePlayerDamage(player: EntityPlayer): DamageSource;
389
+ static causeArrowDamage(u: Entity, h: Entity): DamageSource;
390
+ static causeFireballDamage(e: Entity, ie: Entity): DamageSource;
391
+ static causeThrownDamage(e: Entity, ie: Entity): DamageSource;
392
+ static causeIndirectMagicDamage(e: Entity, ie: Entity): DamageSource;
393
+ static causeThornsDamage(e: Entity): DamageSource;
394
+ static setExplosionSource(u: unknown): DamageSource;
395
+ isProjectile(): this["projectile"];
396
+ setProjectile(): this;
397
+ isExplosion(): this["explosion"];
398
+ setExplosion(): this;
399
+ isUnblockable(): this["unblockable"];
400
+ getHungerDamage(): this["hungerDamage"];
401
+ canHarmInCreative(): this["isDamageAllowedInCreativeMode"];
402
+ isDamageAbsolute(): this["isDamageAbsolute"];
403
+ getSourceOfDamage(): Entity | null;
404
+ getEntity(): Entity | null;
405
+ setDamageBypassesArmor(): this;
406
+ setDamageAllowedInCreativeMode(): this;
407
+ setDamageIsAbsolute(): this;
408
+ setFireDamage(): this;
409
+ getDeathMessage(e: Entity): string;
410
+ isFireDamage(): this["fireDamage"];
411
+ getDamageType(): this["damageType"];
412
+ setDifficultyScaled(): this;
413
+ isDifficultyScaled(): this["difficultyScaled"];
414
+ isMagicDamage(): this["magicDamage"];
415
+ setMagicDamage(): this;
416
+ isCreativePlayer(): boolean;
417
+ getIsThornsDamage(): this["isThornsDamage"];
418
+ equals(other: DamageSource): boolean;
419
+ setIsThornsDamage(): this;
420
+ }
421
+ //#endregion
422
+ //#region src/entities/Entity.d.ts
423
+ declare class Entity$1 {
424
+ static nextEntityID: number;
425
+ mesh: RenderPlayer;
426
+ id: number;
427
+ world: World$1;
428
+ pos: Vector3$2;
429
+ prevPos: Vector3$2;
430
+ serverPos: Vector3$2;
431
+ noPhysics: boolean;
432
+ yaw: number;
433
+ pitch: number;
434
+ prevYaw: number;
435
+ prevPitch: number;
436
+ ticksExisted: number;
437
+ dead: boolean;
438
+ width: number;
439
+ height: number;
440
+ boundingBox: Box3$1;
441
+ isAirborne: boolean;
442
+ inWeb: boolean;
443
+ inWater: boolean;
444
+ inLava: boolean;
445
+ inCloud: boolean;
446
+ fire: number;
447
+ fireResistance: number;
448
+ immuneToFire: boolean;
449
+ onGround: boolean;
450
+ isCollided: boolean;
451
+ isCollidedVertically: boolean;
452
+ isCollidedHorizontally: boolean;
453
+ stepHeight: number;
454
+ fallDistance: number;
455
+ sneak: boolean;
456
+ riddenByEntity: Entity$1 | null;
457
+ ridingEntity: Entity$1 | null;
458
+ inPortal: boolean;
459
+ velocityChanged: boolean;
460
+ timeUntilPortal: number;
461
+ dataWatcher: DataWatcher;
462
+ invulnerable: boolean;
463
+ dimension: number;
464
+ motion: Vector3$2;
465
+ nextStepDistance: number;
466
+ distanceWalkedModified: number;
467
+ distanceWalkedOnStepModified: number;
468
+ portalCounter: number;
469
+ portalBlock: BlockPos$1 | null;
470
+ lastUpdate: number;
471
+ constructor(world: World$1, profile?: Profile);
472
+ onKillCommand(): void;
473
+ getDisplayName(): string;
474
+ getName(): string;
475
+ isInWater(): boolean;
476
+ isInLava(): boolean;
477
+ isEating(): boolean;
478
+ setEating(eating: boolean): void;
479
+ entityInit(): void;
480
+ getDataWatcher(): DataWatcher;
481
+ dwReadB(id: number): boolean;
482
+ dwSetB(id: number, state: boolean): void;
483
+ getCustomNameTag(): string;
484
+ setCustomNameTag(v: string): void;
485
+ getAlwaysRenderNameTag(): boolean;
486
+ setAlwaysRenderNameTag(v: boolean): void;
487
+ onDataWatcherUpdate(id: number): void;
488
+ equals(other: unknown): boolean;
489
+ getEntityBoundingBox(): Box3$1;
490
+ getRotationYawHead(): number;
491
+ setSize(width: number, height: number): void;
492
+ setVelocity(x: number, y: number, z: number): void;
493
+ setPositionAndUpdate(x: number, y: number, z: number): void;
494
+ setPosition(vec: Vector3$2): void;
495
+ setPosition(x: number, y: number, z: number): void;
496
+ setPositionAndRotation(
497
+ x: number,
498
+ y: number,
499
+ z: number,
500
+ yaw: number,
501
+ pitch: number,
502
+ ): void;
503
+ setPositionAndRotation2(
504
+ x: number,
505
+ y: number,
506
+ z: number,
507
+ yaw: number,
508
+ pitch: number,
509
+ _: unknown,
510
+ S?: boolean,
511
+ ): void;
512
+ setRotation(yaw: number, pitch: number): void;
513
+ setLocationAndAngles(
514
+ x: number,
515
+ y: number,
516
+ z: number,
517
+ yaw?: number,
518
+ pitch?: number,
519
+ ): void;
520
+ offsetBBox(offset: Vector3$2): this["boundingBox"];
521
+ setEntityBoundingBox(box: Box3$1): void;
522
+ resetPositionToBB(): void;
523
+ getEyeHeight(): number;
524
+ getPartialTicks(): number;
525
+ update(): void;
526
+ kill(): void;
527
+ preparePlayerToSpawn(): void;
528
+ getMaxInPortalTime(): number;
529
+ setWorld(world: World$1): void;
530
+ travelToDimension(dimension: string): void;
531
+ copyDataFromOld(oldEntity: Entity$1): void;
532
+ onEntityUpdate(): void;
533
+ setCurrentItemOrArmor(i: number, v: ItemStack | null): void;
534
+ isBurning(): boolean;
535
+ /**
536
+ * returns null if this isn't a {@linkcode EntityLivingBase}
537
+ */
538
+ getInventory(): Inventory | null;
539
+ toJSON(): {
540
+ id: number;
541
+ pos: Vector3$2;
542
+ onGround: boolean;
543
+ };
544
+ fromJSON(data: { id: number; pos: Vector3$2; onGround: boolean }): void;
545
+ testSneaking(u: unknown, h: unknown): void;
546
+ testStepUp(u: unknown, h: unknown, p: unknown): boolean;
547
+ handleWaterMovement(): boolean;
548
+ fall(distance: number, damageMultiplier: number): void;
549
+ updateFallState(
550
+ y: number,
551
+ onGround: boolean,
552
+ block: Block$1 | null,
553
+ pos: BlockPos$1,
554
+ ): void;
555
+ handleStatusUpdate(u: unknown): void;
556
+ canBePushed(): boolean;
557
+ isSilent(): boolean;
558
+ isOnLadder(): boolean;
559
+ getLadderSpeed(): 0.2 | 0.3;
560
+ canTriggerWalking(): boolean;
561
+ isOffsetPositionInLiquid(u: unknown, h: unknown, p: unknown): boolean;
562
+ isLiquidPresentInAABB(u: Box3$1): boolean;
563
+ moveFlying(dX: number, dY: number, dZ: number): void;
564
+ moveEntity(dX: number, dY: number, dZ: number): void;
565
+ playSound(x: number, y: number, z: number): void;
566
+ applyEntityCollision(entity: Entity$1): void;
567
+ addVelocity(x: number, y: number, z: number): void;
568
+ dealFireDamage(damage: number): void;
569
+ setFire(ticks: number): void;
570
+ doBlockCollisions(): void;
571
+ isOpenBlockSpace(u: Vector3$2): boolean;
572
+ isEntityInsideOpaqueBlock(): boolean;
573
+ isInsideOfMaterial(u: unknown): boolean;
574
+ pushOutOfBlocks(x: number, y: number, z: number): boolean;
575
+ canBeCollidedWith(): boolean;
576
+ onCollideWithPlayer(u: unknown): void;
577
+ getLook(): unknown;
578
+ canCommandSenderUseCommand(u: unknown, h: unknown): boolean;
579
+ getEyePos(): Vector3$2;
580
+ canAttackWithItem(): boolean;
581
+ hitByEntity(u: unknown): boolean;
582
+ attackEntityFrom(source: DamageSource, amount: number): boolean;
583
+ setBeenAttacked(): void;
584
+ isEntityInvulnerable(u: unknown): boolean;
585
+ onKillEntity(u: unknown): void;
586
+ setOnFireFromLava(): void;
587
+ setDead(): void;
588
+ isEntityAlive(): boolean;
589
+ setEntityState(u: unknown, h: unknown): void;
590
+ onChunkLoad(): void;
591
+ dropItem2(u: unknown, h: unknown): unknown;
592
+ dropItemWithOffset(u: unknown, h: unknown, p: number): unknown;
593
+ getDistanceSqToEntity(u: Entity$1): number;
594
+ setSprinting(sprinting: boolean): void;
595
+ isSprinting(): boolean;
596
+ isInvisible(): boolean;
597
+ /**
598
+ * Checks if this entity is invisible to the {@link player}
599
+ * @param player the player to check if this entity is invisible to
600
+ */
601
+ isInvisibleTo(player: Entity$1): boolean;
602
+ setInvisible(invisible: boolean): void;
603
+ entityDropItem(stack: ItemStack, offsetY: number): EntityItem;
604
+ doesEntityNotTriggerPressurePlate(): boolean;
605
+ getHorizontalFacing(): EnumFacing$1;
606
+ /** gets the **BLOCK** position of the player. */
607
+ getPosition(): BlockPos$1;
608
+ getExplosionResistance(
609
+ explosion: Explosion,
610
+ world: World$1,
611
+ pos: BlockPos$1,
612
+ blockState: BlockState$1,
613
+ ): float;
614
+ verifyExplosion(
615
+ explosion: Explosion,
616
+ worldObj: World$1,
617
+ x: number,
618
+ y: number,
619
+ z: number,
620
+ ): boolean;
621
+ isImmuneToExplosions(): boolean;
622
+ getDistance(x: number, y: number, z: number): number;
623
+ resetHeight(): void;
624
+ getMaxFallHeight(): number;
625
+ writeEntityToNBT(nbt: unknown): void;
626
+ readEntityFromNBT(nbt: unknown): void;
627
+ writeToNBT(u: unknown): void;
628
+ getCollisionBorderSize(): number;
629
+ readFromNBT(u: unknown): void;
630
+ isOverworld(): boolean;
631
+ interactFirst(player: Entity$1): boolean;
632
+ applyEnchantments(u: unknown, h: unknown): void;
633
+ isRiding(): boolean;
634
+ getYOffset(): number;
635
+ getMountedYOffset(): number;
636
+ updateRiderPosition(): void;
637
+ updateRidden(): void;
638
+ mountEntity(e: Entity$1 | null): void;
639
+ updatePortal(u: unknown): void;
640
+ getPortalCooldown(): number;
641
+ }
642
+ //#endregion
643
+ //#region src/entities/EntityArrow.d.ts
644
+ declare enum EntityName {
645
+ UNDEFINED,
646
+ ITEM,
647
+ PLAYER,
648
+ ARROW,
649
+ SNOWBALL,
650
+ ENDER_PEARL,
651
+ EGG,
652
+ POTION,
653
+ ITEM_FRAME,
654
+ FALLING_BLOCK,
655
+ TNT,
656
+ FIREBALL,
657
+ PIG,
658
+ COW,
659
+ CHICKEN,
660
+ SHEEP,
661
+ ZOMBIE,
662
+ ZOMBIE_COWMAN,
663
+ SKELETON,
664
+ CREEPER,
665
+ SLIME,
666
+ SPIDER,
667
+ BOAT,
668
+ SNOWMAN,
669
+ GHOST,
670
+ }
671
+ declare class EntityArrow extends Entity$1 {
672
+ type: "arrow";
673
+ identifier: EntityName;
674
+ shootingEntity: Entity$1;
675
+ lastPos: Vector3$2;
676
+ lastVel: Vector3$2;
677
+ prevVel: Vector3$2;
678
+ vel: Vector3$2;
679
+ acc: Vector3$2;
680
+ damage: number;
681
+ knockbackStrength: number;
682
+ canBePickedUp: boolean;
683
+ inGround: boolean;
684
+ ticksInGround: number;
685
+ ticksInAir: number;
686
+ xTile: number;
687
+ yTile: number;
688
+ zTile: number;
689
+ inTile: boolean;
690
+ arrowShake: number;
691
+ lastArrowShake: number;
692
+ constructor(
693
+ world: World$1,
694
+ shootingEntity: Entity$1,
695
+ idk: number | Vector3$2,
696
+ idk2: number,
697
+ idk3: number,
698
+ );
699
+ setDamage(h: number): void;
700
+ getDamage(): number;
701
+ setKnockbackStrength(h: number): void;
702
+ setThrowableHeading(
703
+ mX: number,
704
+ mY: number,
705
+ mZ: number,
706
+ y: number,
707
+ x: number,
708
+ ): void;
709
+ setIsCritical(h: boolean): void;
710
+ getIsCritical(): boolean;
711
+ }
712
+ //#endregion
713
+ //#region src/entities/EntityItem.d.ts
714
+ declare class EntityItem$1 extends Entity$1 {
715
+ identifier: EntityName.ITEM; // EntityName.ITEM
716
+ age: number;
717
+ delayBeforeCanPickup: number;
718
+ health: number;
719
+ constructor(world: World$1, stack?: ItemStack$1, pos?: Vector3$2);
720
+ setEntityItemStack(stack: ItemStack$1): void;
721
+ canTriggerWalking(): false;
722
+ setPickupDelay(delay: number): void;
723
+ setDefaultPickupDelay(): void;
724
+ }
725
+ //#endregion
726
+ //#region src/effects/effectRenderer.d.ts
727
+ declare class EntityFX extends Entity {
728
+ sprite: Sprite;
729
+ mesh_: Mesh;
730
+ particleTextureIndexX: number;
731
+ particleTextureIndexY: number;
732
+ particleTextureJitterX: number;
733
+ particleTextureJitterY: number;
734
+ particleAge: number;
735
+ particleMaxAge: number;
736
+ particleScale: number;
737
+ particleGravity: number;
738
+ particleRed: number;
739
+ particleGreen: number;
740
+ particleBlue: number;
741
+ particleAlpha: number;
742
+ constructor(
743
+ world: World$1,
744
+ xP: number,
745
+ yP: number,
746
+ zP: number,
747
+ bl: boolean,
748
+ initialYM?: number,
749
+ initialZM?: number,
750
+ );
751
+ multiplyVelocity(multiplier: number): this;
752
+ multipleParticleScaleBy(v: number): this;
753
+ setRBGColorF(r: number, g: number, b: number): void;
754
+ getRedColorF(): this["particleRed"];
755
+ getGreenColorF(): this["particleGreen"];
756
+ getBlueColorF(): this["particleBlue"];
757
+ getAlpha(): this["particleAlpha"];
758
+ canTriggerWalking(): boolean;
759
+ entityInit(): void;
760
+ update(): void;
761
+ renderParticle(scene: GameScene, entity: Entity, g: number): void;
762
+ remove(obj: Object3D): void;
763
+ getFXLayer(): number;
764
+ setParticleTextureIndex(idx: number): void;
765
+ nextTextureIndexX(): void;
766
+ canAttackWithItem(): boolean;
767
+ }
768
+ declare class EnumParticleTypes$1 {
769
+ static readonly PARTICLES: Map<number, EnumParticleTypes$1>;
770
+ static readonly PARTICLE_NAMES: string[];
771
+ static readonly EXPLOSION_NORMAL: EnumParticleTypes$1;
772
+ static readonly EXPLOSION_LARGE: EnumParticleTypes$1;
773
+ static readonly EXPLOSION_HUGE: EnumParticleTypes$1;
774
+ static readonly FIREWORKS_SPARK: EnumParticleTypes$1;
775
+ static readonly WATER_BUBBLE: EnumParticleTypes$1;
776
+ static readonly WATER_SPLASH: EnumParticleTypes$1;
777
+ static readonly WATER_WAKE: EnumParticleTypes$1;
778
+ static readonly SUSPENDED: EnumParticleTypes$1;
779
+ static readonly SUSPENDED_DEPTH: EnumParticleTypes$1;
780
+ static readonly CRIT: EnumParticleTypes$1;
781
+ static readonly CRIT_MAGIC: EnumParticleTypes$1;
782
+ static readonly SMOKE_NORMAL: EnumParticleTypes$1;
783
+ static readonly SMOKE_LARGE: EnumParticleTypes$1;
784
+ static readonly SPELL: EnumParticleTypes$1;
785
+ static readonly SPELL_INSTANT: EnumParticleTypes$1;
786
+ static readonly SPELL_MOB: EnumParticleTypes$1;
787
+ static readonly SPELL_MOB_AMBIENT: EnumParticleTypes$1;
788
+ static readonly SPELL_WITCH: EnumParticleTypes$1;
789
+ static readonly DRIP_WATER: EnumParticleTypes$1;
790
+ static readonly DRIP_LAVA: EnumParticleTypes$1;
791
+ static readonly VILLAGER_ANGRY: EnumParticleTypes$1;
792
+ static readonly VILLAGER_HAPPY: EnumParticleTypes$1;
793
+ static readonly TOWN_AURA: EnumParticleTypes$1;
794
+ static readonly NOTE: EnumParticleTypes$1;
795
+ static readonly PORTAL: EnumParticleTypes$1;
796
+ static readonly ENCHANTMENT_TABLE: EnumParticleTypes$1;
797
+ static readonly FLAME: EnumParticleTypes$1;
798
+ static readonly LAVA: EnumParticleTypes$1;
799
+ static readonly FOOTSTEP: EnumParticleTypes$1;
800
+ static readonly CLOUD: EnumParticleTypes$1;
801
+ static readonly REDSTONE: EnumParticleTypes$1;
802
+ static readonly SNOWBALL: EnumParticleTypes$1;
803
+ static readonly SNOW_SHOVEL: EnumParticleTypes$1;
804
+ static readonly SLIME: EnumParticleTypes$1;
805
+ static readonly HEART: EnumParticleTypes$1;
806
+ static readonly BARRIER: EnumParticleTypes$1;
807
+ static readonly ITEM_CRACK: EnumParticleTypes$1;
808
+ static readonly BLOCK_CRACK: EnumParticleTypes$1;
809
+ static readonly BLOCK_DUST: EnumParticleTypes$1;
810
+ static readonly WATER_DROP: EnumParticleTypes$1;
811
+ static readonly ITEM_TAKE: EnumParticleTypes$1;
812
+ static readonly MOB_APPEARANCE: EnumParticleTypes$1;
813
+ static readonly COLOR: EnumParticleTypes$1;
814
+ particleName: string;
815
+ particleID: number;
816
+ shouldIgnoreRange: boolean;
817
+ argumentCount: number;
818
+ constructor(
819
+ name: string,
820
+ id: number,
821
+ ignoreRange: boolean,
822
+ argCount?: number,
823
+ );
824
+ static getParticleNames(): (typeof EnumParticleTypes$1)["PARTICLE_NAMES"];
825
+ getParticleName(): this["particleName"];
826
+ getParticleID(): this["particleID"];
827
+ getArgumentCount(): this["argumentCount"];
828
+ getShouldIgnoreRange(): this["shouldIgnoreRange"];
829
+ hasArguments(): boolean;
830
+ static getParticleFromId(id: number): EnumParticleTypes$1 | undefined;
831
+ }
832
+ declare class EffectRenderer$1 {
833
+ scene: GameScene;
834
+ isGuiPlayerRenderer: boolean;
835
+ fxLayers: EntityFX[][][];
836
+ particleEmitters: EntityParticleEmitter[];
837
+ particleTypes: Map<number, EntityFXFactory>;
838
+ constructor(scene: GameScene, isGuiPlayerRenderer?: boolean);
839
+ registerVanillaParticles(): void;
840
+ registerParticle(id: number, h: EntityFXFactory): void;
841
+ emitParticleAtEntity(
842
+ world: World$1,
843
+ entity: Entity,
844
+ particleType: EnumParticleTypes$1,
845
+ ): void;
846
+ spawnEffectParticle(
847
+ world: ClientWorld,
848
+ particle: EnumParticleTypes$1,
849
+ xOff: number,
850
+ yOff: number,
851
+ zOff: number,
852
+ idk1: unknown,
853
+ idk2: unknown,
854
+ idk3: unknown,
855
+ pos: Vector3,
856
+ ...w: unknown[]
857
+ ): void;
858
+ addEffect(e: EntityFX): void;
859
+ updateEffects(): void;
860
+ updateEffectLayer(layer: number): void;
861
+ updateEffectAlphaLayer(alphaLayer: EntityFX[]): void;
862
+ /** calls entity.update() within a try clause */
863
+ tickParticle(entity: EntityFX): void;
864
+ renderParticles(e: Entity, n?: number): void;
865
+ addBlockDestroyEffects(pos: Vector3, state: BlockState, world: World$1): void;
866
+ addBlockHitEffects(pos: BlockPos, facing: EnumFacing, world: World$1): void;
867
+ /**
868
+ * if the math.random is less than the particle chance setting / 100, or the react location is `/account`.
869
+ */
870
+ canSpawnParticle(): boolean;
871
+ }
872
+ //#endregion
873
+ //#region src/enums.d.ts
874
+ declare enum EnumDifficulty {
875
+ PEACEFUL = 0,
876
+ EASY = 1,
877
+ NORMAL = 2,
878
+ HARD = 3,
879
+ }
880
+ declare enum Equipment_Slot$1 {
881
+ MAIN_HAND = 0,
882
+ OFF_HAND = 1,
883
+ FEET = 2,
884
+ LEGS = 3,
885
+ CHEST = 4,
886
+ HEAD = 5,
887
+ }
888
+ declare enum EnumCreatureAttribute {
889
+ UNDEFINED = 0,
890
+ UNDEAD = 1,
891
+ ARTHROPOD = 2,
892
+ }
893
+ //#endregion
894
+ //#region src/effects/enchantments.d.ts
895
+ declare enum EnumEnchantmentType {
896
+ ARMOR,
897
+ ARMOR_FEET,
898
+ ARMOR_LEGS,
899
+ ARMOR_TORSO,
900
+ ARMOR_HEAD,
901
+ WEAPON,
902
+ DIGGER,
903
+ FISHING_ROD,
904
+ BREAKABLE,
905
+ BOW,
906
+ }
907
+ declare abstract class Enchantment {
908
+ /**
909
+ * Initialized in {@linkcode Enchantment.init init} to be every non-null enchantment in {@linkcode Enchantment.enchantmentsList enchantmentsList}
910
+ */
911
+ static readonly enchantmentsBookList: Enchantment[];
912
+ /** "map array" of enchantment ID -> enchantment object. used for checking duplicates in the constructor */
913
+ static readonly enchantmentsList: Enchantment[];
914
+ /** map of enchantment name -> enchantment. in MCP-919, the map key would be a resource location. */
915
+ static readonly locationEnchantments: Map<string, Enchantment>;
916
+ readonly effectId: number;
917
+ readonly weight: number;
918
+ readonly type: EnumEnchantmentType;
919
+ readonly name: string;
920
+ /**
921
+ * Constructs an enchantment and puts it in the lookup tables {@linkcode Enchantment.enchantmentsList enchantmentsList} and {@linkcode Enchantment.locationEnchantments locationEnchantments}.
922
+ * @param enchantmentId an Enchantment ID **UNIQUE** to this enchantment.
923
+ * If another enchantment is constructed with the same ID already, the constructor will throw an error.
924
+ * This is erroneously called an effectID in the fields.
925
+ */
926
+ constructor(
927
+ enchantmentId: number,
928
+ name: string,
929
+ weight: number,
930
+ type: EnumEnchantmentType,
931
+ );
932
+ static getEnchantmentById(id: number): Enchantment | null;
933
+ static getEnchantmentByLocation(
934
+ location,
935
+ ): ReturnType<(typeof Enchantment)["locationEnchantments"]["get"]>;
936
+ /** gets all location enchantments. Yet another Searge fallback name exposing the fact that this is Minecraft ported to the browser! */
937
+ static func_181077_c(): ReturnType<
938
+ (typeof Enchantment)["locationEnchantments"]["keys"]
939
+ >;
940
+ getWeight(): this["weight"];
941
+ getMinLevel(): number;
942
+ getMaxLevel(): number;
943
+ getMinEnchantability(level: number): number;
944
+ getMaxEnchantability(level: number): number;
945
+ calcModifierDamage(level: number, source: DamageSource): number;
946
+ calcDamageByCreature(
947
+ level: number,
948
+ creatureType: EnumCreatureAttribute,
949
+ ): number;
950
+ canApplyTogether(other: Enchantment): boolean;
951
+ setName(name: string): this;
952
+ getName(): this["name"];
953
+ /**
954
+ * @param level enchantment level
955
+ * @returns `{translated enchantment name} {roman numeral of level}`
956
+ */
957
+ getTranslatedName(level: number): `${string} ${string}`;
958
+ canApply(on: ItemStack$1): boolean;
959
+ onEntityDamaged(
960
+ user: EntityLivingBase$1,
961
+ target: Entity$1,
962
+ level: number,
963
+ ): void;
964
+ onUserHurt(user: EntityLivingBase$1, attacker: Entity$1, level: number): void;
965
+ static init(): void;
966
+ /**
967
+ * @param n number to convert to Roman numeral
968
+ * @returns a roman numeral for numbers `1-20`. anything out of the range is just `n.toString()`
969
+ */
970
+ static getRomanNumber(n: number): string;
971
+ }
972
+ declare class EnchantmentProtection extends Enchantment {
973
+ protectionType: number;
974
+ static readonly protectionName = [
975
+ "all",
976
+ "fire",
977
+ "fall",
978
+ "explosion",
979
+ "projectile",
980
+ ];
981
+ static readonly baseEnchantability = [1, 10, 5, 5, 3];
982
+ static readonly levelEnchantability = [11, 8, 6, 8, 6];
983
+ static readonly thresholdEnchantability = [20, 12, 10, 12, 15];
984
+ constructor(
985
+ enchantmentId: number,
986
+ name: string,
987
+ weight: number,
988
+ protectionType: number,
989
+ );
990
+ getMinEnchantability(level: number): number;
991
+ getMaxEnchantability(level: number): number;
992
+ getMaxLevel(): number;
993
+ calcModifierDamage(level: number, source: DamageSource): number;
994
+ canApplyTogether(other: Enchantment): boolean;
995
+ static getFireTimeForEntity(e: EntityLivingBase$1, fireTime: number): number;
996
+ /** gets blast fire time. Vector can't make a block game without pasting from Minecraft, so obviously this is from MCP. */
997
+ static func_92092_a(e: EntityLivingBase$1, fireTime: number): number;
998
+ }
999
+ // biome-ignore lint/complexity/noStaticOnlyClass: This is how Miniblox does it...
1000
+ declare class Enchantments {
1001
+ static readonly protection = new EnchantmentProtection(
1002
+ 0,
1003
+ "protection",
1004
+ 10,
1005
+ 0,
1006
+ );
1007
+ static readonly fireProtection = new EnchantmentProtection(
1008
+ 1,
1009
+ "fire_protection",
1010
+ 5,
1011
+ 1,
1012
+ );
1013
+ static readonly featherFalling = new EnchantmentProtection(
1014
+ 2,
1015
+ "feather_falling",
1016
+ 5,
1017
+ 2,
1018
+ );
1019
+ static readonly blastProtection = new EnchantmentProtection(
1020
+ 3,
1021
+ "blast_protection",
1022
+ 2,
1023
+ 3,
1024
+ );
1025
+ static readonly projectileProtection = new EnchantmentProtection(
1026
+ 4,
1027
+ "projectile_protection",
1028
+ 5,
1029
+ 4,
1030
+ );
1031
+ static readonly thorns = new EnchantmentThorns(7, "thorns", 1);
1032
+ static readonly sharpness = new EnchantmentDamage(16, "sharpness", 10, 0);
1033
+ static readonly smite = new EnchantmentDamage(17, "smite", 5, 1);
1034
+ static readonly baneOfArthropods = new EnchantmentDamage(
1035
+ 18,
1036
+ "bane_of_arthropods",
1037
+ 5,
1038
+ 2,
1039
+ );
1040
+ static readonly knockback = new EnchantmentKnockback(19, "knockback", 5);
1041
+ static readonly fireAspect = new EnchantmentFireAspect(20, "fire_aspect", 2);
1042
+ static readonly looting = new EnchantmentLootBonus(
1043
+ 21,
1044
+ "looting",
1045
+ 2,
1046
+ EnumEnchantmentType.WEAPON,
1047
+ );
1048
+ static readonly efficiency = new EnchantmentDigging(32, "efficiency", 10);
1049
+ static readonly silkTouch = new EnchantmentUntouching(33, "silk_touch", 1);
1050
+ static readonly unbreaking = new EnchantmentDurability(34, "unbreaking", 5);
1051
+ static readonly fortune = new EnchantmentLootBonus(
1052
+ 35,
1053
+ "fortune",
1054
+ 2,
1055
+ EnumEnchantmentType.DIGGER,
1056
+ );
1057
+ static readonly power = new EnchantmentArrowDamage(48, "power", 10);
1058
+ static readonly punch = new EnchantmentArrowKnockback(49, "punch", 2);
1059
+ static readonly flame = new EnchantmentArrowFire(50, "flame", 2);
1060
+ static readonly infinity = new EnchantmentArrowInfinite(51, "infinity", 1);
1061
+ static readonly luckOfTheSea = new EnchantmentLootBonus(
1062
+ 61,
1063
+ "luck_of_the_sea",
1064
+ 2,
1065
+ EnumEnchantmentType.FISHING_ROD,
1066
+ );
1067
+ /** does nothing basically I forgor */
1068
+ static init(): void;
1069
+ }
1070
+ //#endregion
1071
+ //#region src/effects/potion.d.ts
1072
+ // biome-ignore lint/complexity/noStaticOnlyClass: Miniblox's code, can't fix ts.
1073
+ declare class Potions {
1074
+ static readonly moveSpeed: Potion;
1075
+ static readonly moveSlowdown: Potion;
1076
+ static readonly digSpeed: Potion;
1077
+ static readonly digSlowdown: Potion;
1078
+ static readonly damageBoost: Potion;
1079
+ static readonly heal: Potion;
1080
+ static readonly harm: Potion;
1081
+ static readonly jump: Potion;
1082
+ static readonly confusion: Potion;
1083
+ static readonly regeneration: Potion;
1084
+ static readonly resistance: Potion;
1085
+ static readonly fireResistance: Potion;
1086
+ static readonly waterBreathing: Potion;
1087
+ static readonly invisibility: Potion;
1088
+ static readonly blindness: Potion;
1089
+ static readonly nightVision: Potion;
1090
+ static readonly hunger: Potion;
1091
+ static readonly weakness: Potion;
1092
+ static readonly poison: Potion;
1093
+ static readonly wither: Potion;
1094
+ static readonly healthBoost: Potion;
1095
+ static readonly absorption: Potion;
1096
+ static readonly saturation: Potion;
1097
+ }
1098
+ declare class Potion {
1099
+ static potionTypes: Potion[];
1100
+ static potionMap: Map;
1101
+ id: number;
1102
+ attributeModifierMap: Map<unknown, AttributeModifier>;
1103
+ isBadEffect: boolean;
1104
+ liquidColor: unknown;
1105
+ name: string;
1106
+ statusIconIndex: number;
1107
+ effectiveness: number;
1108
+ usable: boolean;
1109
+ getLiquidColor(): this["liquidColor"];
1110
+ getName(): this["name"];
1111
+ setPotionName(name: string): this;
1112
+ hasStatusIcon(): boolean;
1113
+ getStatusIconIndex(): this["statusIconIndex"];
1114
+ getDurationString(): string | undefined;
1115
+ getEffectiveness(): this["effectiveness"];
1116
+ setEffectiveness(effectiveness: number): this;
1117
+ isUsable(): this["usable"];
1118
+ registerPotionAttributeModifier(u, h, p, g): this;
1119
+ getAttributeModifierMap(): this["attributeModifierMap"];
1120
+ removeAttributesModifiersFromEntity(u, entity: Entity$1, p): void;
1121
+ applyAttributesModifiersToEntity(u, entity: Entity$1, p): void;
1122
+ getAttributeModifierAmount(amplifier: number, modifier: AttributeModifier);
1123
+ }
1124
+ //#endregion
1125
+ //#region src/inventory/Inventory.d.ts
1126
+ type Crafter = unknown;
1127
+ declare class InventoryBasic {
1128
+ inventoryTitle: string;
1129
+ slotsCount: number;
1130
+ inventoryContents: ItemStack$1[];
1131
+ crafters: Crafter[] | null;
1132
+ constructor(inventoryTitle: string, slotsCount: number);
1133
+ /**
1134
+ * adds a new crafter to the inventory.
1135
+ * if this.crafters is null, we set it to an empty array.
1136
+ * in either case, `this.crafters.push(crafter)` is called.
1137
+ */
1138
+ func_110134_a(crafter: Crafter): void;
1139
+ getInventory(): this["inventoryContents"];
1140
+ getStackInSlot(slot: number): ItemStack$1 | null;
1141
+ decrStackSize(idx: number, count: number): ItemStack$1 | null;
1142
+ func_174894_a(stack: ItemStack$1): ItemStack$1;
1143
+ removeStackFromSlot(idx: number): ItemStack$1 | null;
1144
+ setInventorySlotContents(idx: number, stack: ItemStack$1): void;
1145
+ getSizeInventory(): this["slotsCount"];
1146
+ getName(): this["inventoryTitle"];
1147
+ getDisplayName(): string;
1148
+ getInventoryStackLimit(): number;
1149
+ markDirty(): void;
1150
+ isUseableByPlayer(plr: EntityPlayer$1): boolean;
1151
+ openInventory(plr: EntityPlayer$1): void;
1152
+ closeInventory(plr: EntityPlayer$1): void;
1153
+ isItemValidForSlot(index: number, stack: ItemStack$1): boolean;
1154
+ getField(id: number): number;
1155
+ setField(id: number, value: number): void;
1156
+ getFieldCount(): number;
1157
+ clear(): void;
1158
+ }
1159
+ declare class InventoryPlayer extends InventoryBasic {
1160
+ currentItem: number;
1161
+ main: (ItemStack$1 | null)[];
1162
+ armor: (ItemStack$1 | null)[];
1163
+ getCurrentItem(): ItemStack$1 | null;
1164
+ hasItem?(item: Item): boolean;
1165
+ addItemStackToInventory(stack: ItemStack$1): boolean;
1166
+ canHarvestBlock(block: Block): boolean;
1167
+ armorItemInSlot(slot: number): ItemStack$1 | null;
1168
+ getTotalArmorValue(): number;
1169
+ damageArmor(damage: number): void;
1170
+ dropAllItems(): void;
1171
+ hasCustomName(): boolean;
1172
+ }
1173
+ //#endregion
1174
+ //#region src/slot/Slot.d.ts
1175
+ declare class Slot {
1176
+ slotIndex: number;
1177
+ inventory: InventoryBasic;
1178
+ slotNumber: number;
1179
+ xDisplayPosition: number;
1180
+ yDisplayPosition: number;
1181
+ /**
1182
+ * @param inventory The inventory we want to extract a slot from.
1183
+ * @param index The index of the slot in the inventory.
1184
+ * @param _xDisplayPos unused parameter left over from MCP code.
1185
+ * @param _yDisplayPos unused parameter left over from MCP code.
1186
+ */
1187
+ constructor(
1188
+ inventory: InventoryBasic,
1189
+ index: number,
1190
+ _xDisplayPos: number,
1191
+ _yDisplayPos: number,
1192
+ );
1193
+ /**
1194
+ * if p2 has more items than p1, onCrafting(item,countIncrease) is called
1195
+ */
1196
+ onSlotChange(p1: ItemStack$1 | null, p2: ItemStack$1 | null): void;
1197
+ onCrafting(stack: ItemStack$1, amount: number): void;
1198
+ onCrafting(stack: ItemStack$1): void;
1199
+ onPickupFromSlot(plr: EntityPlayer$1, stack: ItemStack$1): void;
1200
+ isItemValid(stack: ItemStack$1): boolean;
1201
+ getStack(): ItemStack$1;
1202
+ getHasStack(): boolean;
1203
+ putStack(stack: ItemStack$1): void;
1204
+ onSlotChanged(): void;
1205
+ getSlotStackLimit(): number;
1206
+ getItemStackLimit(stack: ItemStack$1): number;
1207
+ getSlotTexture(): string | null;
1208
+ decrStackSize(count: number): ItemStack$1 | null;
1209
+ canTakeStack(player: EntityPlayer$1): boolean;
1210
+ canBeHovered(): boolean;
1211
+ isHere(inv: InventoryBasic, slot: number): boolean;
1212
+ }
1213
+ //#endregion
1214
+ //#region src/slot/SlotActionType.d.ts
1215
+ declare enum SlotActionType {
1216
+ /**
1217
+ * Left-click pickup/place (clickedButton == 0).
1218
+ * - If slot is empty: places held item
1219
+ * - If slot has item and held item is same type: combines stacks
1220
+ * - If slot has item and held item is different: swaps them
1221
+ * - If slot ID is -999 (outside container): drops entire held stack
1222
+ */
1223
+ PICKUP_LEFT = 0,
1224
+ /**
1225
+ * Right-click pickup/place (clickedButton == 1).
1226
+ * - SPECIAL: Acts as QUICK_MOVE in this JS version (shift-click behavior)
1227
+ * - transferStackInSlot() is called to move item to player inventory
1228
+ * - If same item type exists in slot, retries the action
1229
+ * - If slot ID is -999: drops 1 item from held stack
1230
+ */
1231
+ PICKUP_RIGHT = 1,
1232
+ /**
1233
+ * Number key swap (0-9 for hotbar slots).
1234
+ * - Swaps clicked slot with hotbar slot specified by clickedButton
1235
+ * - If hotbar slot is empty and slot is valid: places item there
1236
+ * - If both slot and hotbar have items: exchanges them
1237
+ * - If hotbar inventory is different player: adds to empty slots first
1238
+ */
1239
+ SWAP = 2,
1240
+ /**
1241
+ * Creative mode item duplication.
1242
+ * - Requires: player.abilities.creative == true AND held stack is null
1243
+ * - Clones clicked slot's item to full max stack size
1244
+ * - Places cloned full-size stack in cursor
1245
+ */
1246
+ CLONE = 3,
1247
+ /**
1248
+ * Drop key action.
1249
+ * - Requires: held stack is null AND slot ID >= 0
1250
+ * - clickedButton == 0: drops 1 item
1251
+ * - clickedButton == 1: drops entire slot stack
1252
+ * - Calls onPickupFromSlot() before dropping
1253
+ */
1254
+ THROW = 4,
1255
+ /**
1256
+ * Drag to distribute items across multiple slots.
1257
+ * - dragEvent 0: Start drag, validates drag mode
1258
+ * - dragMode 0: even split across slots
1259
+ * - dragMode 1: one item per slot
1260
+ * - dragMode 2: creative fill (creative mode only)
1261
+ * - dragEvent 1: Collecting phase, adds valid slots to dragSlots set
1262
+ * - Requires: slot stackSize > dragSlots.size
1263
+ * - dragEvent 2: Distribution phase, splits held stack across collected slots
1264
+ * - Uses dragMode to compute distribution
1265
+ * - Requires: held stackSize >= dragSlots.size
1266
+ */
1267
+ QUICK_CRAFT = 5,
1268
+ /**
1269
+ * Shift-click to auto-move items (double-click in Java, mode 6 in JS).
1270
+ * - Scans through slots in two passes:
1271
+ * - Pass 1 (if clickedButton==0): forward scan, prioritizes partially-filled stacks
1272
+ * - Pass 2: continues to fill stacks to max capacity
1273
+ * - If clickedButton==1: reverse scan (from end to start)
1274
+ * - Merges with existing stacks or finds empty slots
1275
+ * - Respects canMergeSlot() and canAddItemToSlot() checks
1276
+ * - Calls detectAndSendChanges() at end
1277
+ */
1278
+ QUICK_MOVE = 6,
1279
+ }
1280
+ //#endregion
1281
+ //#region src/container/Container.d.ts
1282
+ declare class Container {
1283
+ windowId: number;
1284
+ transactionID: number;
1285
+ dragMode: number;
1286
+ dragEvent: number;
1287
+ crafters: Array<ICrafting>;
1288
+ playerList: Set<EntityPlayer$1>;
1289
+ inventoryItemStacks: ItemStack$1[];
1290
+ inventorySlots: (Slot | null)[];
1291
+ dragSlots: Set<Slot>;
1292
+ addSlotToContainer(slot: Slot): Slot;
1293
+ onCraftGuiOpened(u): void;
1294
+ /** every ItemStack from {@linkcode Container.inventorySlots} */
1295
+ getInventory(): ItemStack$1[];
1296
+ detectAndSendChanges(): void;
1297
+ enchantItem(_u, _h): boolean;
1298
+ getSlot(id: number): Slot | undefined;
1299
+ transferStackInSlot(_u, id): ItemStack$1 | null;
1300
+ static extractDragMode(from: number): number;
1301
+ static getDragEvent(from: number): number;
1302
+ /**
1303
+ * seems to only be used with dragging in GuiContainer.
1304
+ * @param a 0-2, which correspond to PICKUP_LEFT, PICKUP_RIGHT, and SWAP.
1305
+ * @param b seems to only be used with this.dragSplittingLimit
1306
+ * @returns `(a & 3) | ((b & 3) << 2)`
1307
+ */
1308
+ static getButtonType(a: number, b: number): number;
1309
+ /**
1310
+ * Checks if a drag mode is valid for the player.
1311
+ * @param mode the drag mode
1312
+ * @param player the player executing this drag mode
1313
+ * @returns if the drag mode is valid (mode 0 and 1 are unconditionally permitted, and mode 2 is only permitted when in creative)
1314
+ */
1315
+ static isValidDragMode(mode: number, player: EntityPlayer$1): boolean;
1316
+ /** resets the drag state variables. sets {@linkcode Container.dragEvent dragEvent} to 0 and clears all items in {@linkcode Container.dragSlots dragSlots} */
1317
+ resetDrag(): void;
1318
+ static canAddItemToSlot(
1319
+ slot: Slot,
1320
+ other: Slot,
1321
+ stackSizeMatters: boolean,
1322
+ ): boolean;
1323
+ static computeStackSize(
1324
+ slots: Set<Slot>,
1325
+ dragMode: number,
1326
+ dragStack: ItemStack$1,
1327
+ slotStackSize: number,
1328
+ ): void;
1329
+ canDragIntoSlot(_u): boolean;
1330
+ slotClick(
1331
+ slotId: number,
1332
+ clickedButton: number,
1333
+ mode: number,
1334
+ player: EntityPlayer$1,
1335
+ ): ItemStack$1 | null;
1336
+ canMergeSlot(_u, _h): boolean;
1337
+ retrySlotClick(
1338
+ slotId: number,
1339
+ clickedButton: number,
1340
+ _modeUnused: number,
1341
+ player: EntityPlayer$1,
1342
+ ): void;
1343
+ onContainerClosed(player: EntityPlayer$1): void;
1344
+ onCraftMatrixChanged(_u): void;
1345
+ putStackInSlot(id: number, stack: ItemStack$1): void;
1346
+ putStacksInSlots(stacks: ItemStack$1[]): void;
1347
+ updateProgressBar(_id: number, _data: number): void;
1348
+ getNextTransactionID(_player: InventoryPlayer): number;
1349
+ getCanCraft(player: EntityPlayer$1): boolean;
1350
+ setCanCraft(target: EntityPlayer$1, canCraft: boolean): void;
1351
+ mergeItemStack(
1352
+ stack: ItemStack$1,
1353
+ startIndex: number,
1354
+ endIndex: number,
1355
+ reverseDirection: boolean,
1356
+ ): boolean;
1357
+ static calcRedstone(inv: InventoryBasic): number;
1358
+ static calcRedstone(anythingElse: unknown): 0;
1359
+ static calcRedstone(inv: InventoryBasic): number;
1360
+ static calcRedstoneFromInventory(inv: null): 0;
1361
+ static calcRedstoneFromInventory(inv: InventoryBasic | null): number;
1362
+ }
1363
+ //#endregion
1364
+ //#region src/container/ContainerPlayer.d.ts
1365
+ declare class ContainerPlayer extends Container {
1366
+ readonly isLocalWorld: boolean;
1367
+ readonly thePlayer: EntityPlayer$1;
1368
+ constructor(
1369
+ playerInventory: InventoryPlayer,
1370
+ isLocalWorld: boolean,
1371
+ thePlayer: EntityPlayer$1,
1372
+ );
1373
+ canInteractWith(_player: EntityPlayer$1): boolean;
1374
+ transferStackInSlot(plr: EntityPlayer$1, index: number): ItemStack$1 | null;
1375
+ }
1376
+ //#endregion
1377
+ //#region src/game/gamemode.d.ts
1378
+ // GameMode and Abilities extracted from Impact
1379
+ declare class GameMode {
1380
+ static readonly SURVIVAL: GameMode;
1381
+ static readonly CREATIVE: GameMode;
1382
+ static readonly ADVENTURE: GameMode;
1383
+ static readonly SPECTATOR: GameMode;
1384
+ static fromId(id: string | number): GameMode;
1385
+ static fromName(name: string): GameMode;
1386
+ getId(): number;
1387
+ getName(): string;
1388
+ isSurvivalOrAdventure(): boolean;
1389
+ isCreative(): boolean;
1390
+ isSurvival(): boolean;
1391
+ isAdventure(): boolean;
1392
+ isSpectator(): boolean;
1393
+ }
1394
+ declare class Abilities {
1395
+ disableDamage: boolean;
1396
+ isFlying: boolean;
1397
+ allowFlying: boolean;
1398
+ isCreativeMode: boolean;
1399
+ allowEdit: boolean;
1400
+ flySpeed: number;
1401
+ walkSpeed: number;
1402
+ getFlySpeed(): number;
1403
+ setFlySpeed(speed: number): void;
1404
+ getWalkSpeed(): number;
1405
+ setPlayerWalkSpeed(speed: number): void;
1406
+ }
1407
+ //#endregion
1408
+ //#region src/game/team.d.ts
1409
+ declare class Team$1 {
1410
+ color: string;
1411
+ members: EntityPlayer$1[];
1412
+ friendlyFire: boolean;
1413
+ prefix: string;
1414
+ name: string;
1415
+ displayName?: string;
1416
+ constructor(name: string, displayName?: string);
1417
+ isEqual(other: Team$1): boolean;
1418
+ getName(): this["name"];
1419
+ getDisplayName(): this["displayName"] extends undefined
1420
+ ? this["name"]
1421
+ : this["displayName"];
1422
+ setDisplayName(displayName?: string): void;
1423
+ setPrefix(prefix: string): void;
1424
+ addMember(member: EntityPlayer$1): void;
1425
+ removeMember(member: EntityPlayer$1): void;
1426
+ empty(): void;
1427
+ setColor(color: string): void;
1428
+ setFriendlyFire(friendlyFire: boolean): void;
1429
+ canAttack(otherTeam: Team$1): boolean;
1430
+ }
1431
+ //#endregion
1432
+ //#region src/network/packetTypes.d.ts
1433
+ /** SPacket / Serverbound packets */
1434
+ type C2SPacket =
1435
+ | SPacketAdminAction
1436
+ | SPacketAnalytics
1437
+ | SPacketClickWindow
1438
+ | SPacketCloseWindow
1439
+ | SPacketConfirmTransaction
1440
+ | SPacketEnchantItem
1441
+ | SPacketEntityAction
1442
+ | SPacketHeldItemChange
1443
+ | SPacketLoginStart
1444
+ | SPacketMessage
1445
+ | SPacketOpenShop
1446
+ | SPacketPing
1447
+ | SPacketPlayerAbilities
1448
+ | SPacketPlayerAction
1449
+ | SPacketPlayerPosLook
1450
+ | SPacketRespawn
1451
+ | SPacketTabComplete$1
1452
+ | SPacketUpdateSign
1453
+ | SPacketUseEntity
1454
+ | SPacketUpdateCommandBlock
1455
+ | SPacketQueueNext
1456
+ | SPacketPlayerInput
1457
+ | SPacketBreakBlock
1458
+ | SPacketClick
1459
+ | SPacketCraftItem
1460
+ | SPacketPlaceBlock
1461
+ | SPacketRequestChunk
1462
+ | SPacketUpdateInventory
1463
+ | SPacketUseItem;
1464
+ /** CPacket / Clientbound packets */
1465
+ type S2CPacket =
1466
+ | CPacketAnimation$1
1467
+ | CPacketBlockAction$1
1468
+ | CPacketBlockUpdate$1
1469
+ | CPacketChangeServers$1
1470
+ | CPacketChunkData$1
1471
+ | CPacketCloseWindow$1
1472
+ | CPacketConfirmTransaction$1
1473
+ | CPacketDestroyEntities$1
1474
+ | CPacketDisconnect$1
1475
+ | CPacketEntityAction$1
1476
+ | CPacketEntityEquipment$1
1477
+ | CPacketEntityMetadata$1
1478
+ | CPacketEntityPositionAndRotation$1
1479
+ | CPacketEntityRelativePositionAndRotation$1
1480
+ | CPacketEntityStatus$1
1481
+ | CPacketEntityVelocity$1
1482
+ | CPacketExplosion$1
1483
+ | CPacketJoinGame$1
1484
+ | CPacketLeaderboard$1
1485
+ | CPacketLocalStorage$1
1486
+ | CPacketMessage$1
1487
+ | CPacketOpenWindow$1
1488
+ | CPacketParticles$1
1489
+ | CPacketPlayerList$1
1490
+ | CPacketPlayerPosition$1
1491
+ | CPacketPlayerPosLook$1
1492
+ | CPacketPlayerReconciliation$1
1493
+ | CPacketPong$1
1494
+ | CPacketRespawn$1
1495
+ | CPacketScoreboard$1
1496
+ | CPacketServerInfo$1
1497
+ | CPacketSetSlot$1
1498
+ | CPacketSignEditorOpen$1
1499
+ | CPacketSoundEffect$1
1500
+ | CPacketSpawnEntity$1
1501
+ | CPacketSpawnPlayer$1
1502
+ | CPacketTabComplete$1
1503
+ | CPacketTitle$1
1504
+ | CPacketUpdate$1
1505
+ | CPacketUpdateHealth$1
1506
+ | CPacketUpdateLeaderboard$1
1507
+ | CPacketUpdateScoreboard$1
1508
+ | CPacketUpdateSign$1
1509
+ | CPacketUpdateStatus$1
1510
+ | CPacketWindowItems$1
1511
+ | CPacketWindowProperty$1
1512
+ | CPacketUseBed$1
1513
+ | CPacketQueueNext$1
1514
+ | CPacketSpawnExperienceOrb$1
1515
+ | CPacketSetExperience$1
1516
+ | CPacketOpenShop$1
1517
+ | CPacketShopProperties$1
1518
+ | CPacketEntityProperties$1
1519
+ | CPacketEntityEffect$1
1520
+ | CPacketRemoveEntityEffect$1
1521
+ | CPacketUpdateCommandBlock$1
1522
+ | CPacketEntityAttach$1
1523
+ | CPacketServerMetadata$1
1524
+ | CPacketTimeUpdate$1;
1525
+ // note: Miniblox's ClientDecoder handles these by re-triggering the receive packet event for client bound combined packets.
1526
+ /*| packets.ClientBoundCombined*/
1527
+ type AnyPacket$1 = C2SPacket | S2CPacket;
1528
+ //#endregion
1529
+ //#region src/packets/Packet.d.ts
1530
+ declare class Message<T extends object> {
1531
+ constructor(data?: T);
1532
+ }
1533
+ declare class SPacketLoginStart extends Message<SPacketLoginStart> {
1534
+ session?: string;
1535
+ hydration?: string;
1536
+ metricsId: string;
1537
+ requestedUuid?: string;
1538
+ clientVersion: string;
1539
+ }
1540
+ declare class PBItemStack extends Message<PBItemStack> {
1541
+ /**
1542
+ * @type {PBItemStack}
1543
+ */
1544
+ static EMPTY: PBItemStack;
1545
+ present: boolean;
1546
+ id?: number;
1547
+ stackSize?: number;
1548
+ durability?: number;
1549
+ data: string;
1550
+ }
1551
+ declare class PBBlockPos extends Message<PBBlockPos> {
1552
+ x: number;
1553
+ y: number;
1554
+ z: number;
1555
+ }
1556
+ declare class PBVector3 extends Message<PBVector3> {
1557
+ x: number;
1558
+ y: number;
1559
+ z: number;
1560
+ }
1561
+ declare class PBFloatVector3 extends Message<PBFloatVector3> {
1562
+ x: number;
1563
+ y: number;
1564
+ z: number;
1565
+ constructor(pos: {
1566
+ x: number;
1567
+ y: number;
1568
+ z: number;
1569
+ });
1570
+ }
1571
+ declare class CPacketEntityVelocity$1 extends Message<CPacketEntityVelocity$1> {
1572
+ id: number;
1573
+ motion: PBFloatVector3;
1574
+ }
1575
+ declare class CPacketChunkData$1 extends Message<CPacketChunkData$1> {
1576
+ x: number;
1577
+ z: number;
1578
+ cells: PBCell[];
1579
+ tileEntities: PBTileEntity[];
1580
+ dimension: number;
1581
+ biomes: number[];
1582
+ }
1583
+ declare class PBCell extends Message<PBCell> {
1584
+ y: number;
1585
+ bitsPerEntry: number;
1586
+ palette: number;
1587
+ bitArray: Uint8Array;
1588
+ blockRefCount: number;
1589
+ }
1590
+ declare class PBTileEntity extends Message<PBTileEntity> {
1591
+ x: number;
1592
+ y: number;
1593
+ z: number;
1594
+ nbt: Uint8Array;
1595
+ }
1596
+ declare class CPacketEntityEquipment$1 extends Message<CPacketEntityEquipment$1> {
1597
+ id: number;
1598
+ equipment: Equipment[];
1599
+ }
1600
+ declare class Equipment extends Message<Equipment> {
1601
+ slot: Equipment_Slot;
1602
+ item: PBItemStack;
1603
+ }
1604
+ declare class SPacketUpdateInventory extends Message<SPacketUpdateInventory> {
1605
+ main: PBItemStack[];
1606
+ armor: PBItemStack[];
1607
+ idkWhatThisIs: PBItemStack;
1608
+ }
1609
+ declare class CPacketUpdateSign$1 extends Message<CPacketUpdateSign$1> {
1610
+ pos: PBBlockPos;
1611
+ lines: string[];
1612
+ }
1613
+ declare class CPacketUpdateCommandBlock$1 extends Message<CPacketUpdateCommandBlock$1> {
1614
+ pos: PBBlockPos;
1615
+ command: string;
1616
+ commands: string[];
1617
+ repeat: boolean;
1618
+ }
1619
+ declare class SPacketCloseWindow extends Message<SPacketCloseWindow> {
1620
+ windowId: number;
1621
+ }
1622
+ declare class SPacketEntityAction extends Message<SPacketEntityAction> {
1623
+ id: number;
1624
+ sneak?: boolean;
1625
+ sprinting?: boolean;
1626
+ punching?: boolean;
1627
+ fire?: boolean;
1628
+ stopSleeping?: boolean;
1629
+ }
1630
+ declare class SPacketPlayerAbilities extends Message<SPacketPlayerAbilities> {
1631
+ isFlying: boolean;
1632
+ }
1633
+ declare class SPacketPlayerPosLook extends Message<SPacketPlayerPosLook> {
1634
+ pos?: PBFloatVector3;
1635
+ yaw?: number;
1636
+ pitch?: number;
1637
+ onGround: boolean;
1638
+ }
1639
+ declare class Vector3$1 {
1640
+ x: number;
1641
+ y: number;
1642
+ z: number;
1643
+ constructor(data: {
1644
+ x: number;
1645
+ y: number;
1646
+ z: number;
1647
+ });
1648
+ }
1649
+ declare class SPacketRespawn$1 {}
1650
+ declare class SPacketOpenShop extends Message<SPacketOpenShop> {}
1651
+ declare class SPacketBreakBlock extends Message<SPacketBreakBlock> {
1652
+ location: PBBlockPos;
1653
+ start: boolean;
1654
+ }
1655
+ declare class SPacketClick extends Message<SPacketClick> {
1656
+ location: PBBlockPos;
1657
+ }
1658
+ declare class SPacketPlaceBlock extends Message<SPacketPlaceBlock> {
1659
+ positionIn: PBBlockPos;
1660
+ side: PBEnumFacing;
1661
+ hitX: number;
1662
+ hitY: number;
1663
+ hitZ: number;
1664
+ }
1665
+ declare class SPacketUseItem extends Message<SPacketUseItem> {}
1666
+ declare class SPacketClickWindow extends Message<SPacketClickWindow> {
1667
+ windowId: number;
1668
+ slotId: number;
1669
+ button: number;
1670
+ /**
1671
+ * the click mode, prefer using the enum unless you need a custom mode (i.e. exploiting bugs)
1672
+ */
1673
+ mode: SlotActionType | number;
1674
+ itemStack: PBItemStack;
1675
+ transactionId: number;
1676
+ }
1677
+ declare class SPacketPlayerAction extends Message<SPacketPlayerAction> {
1678
+ position: PBBlockPos;
1679
+ facing: PBEnumFacing;
1680
+ action: PBAction;
1681
+ }
1682
+ declare class SPacketUseEntity extends Message<SPacketUseEntity> {
1683
+ id: number;
1684
+ action: SPacketUseEntity_Action;
1685
+ hitVec?: PBFloatVector3;
1686
+ }
1687
+ declare class SPacketMessage extends Message<SPacketMessage> {
1688
+ text: string;
1689
+ }
1690
+ declare class CPacketAnimation$1 extends Message<CPacketAnimation$1> {
1691
+ id: number;
1692
+ type: number;
1693
+ }
1694
+ declare class CPacketBlockAction$1 extends Message<CPacketBlockAction$1> {
1695
+ blockPos: PBBlockPos;
1696
+ instrument: number;
1697
+ pitch: number;
1698
+ blockId: number;
1699
+ }
1700
+ declare class CPacketBlockUpdate$1 extends Message<CPacketBlockUpdate$1> {
1701
+ id: number;
1702
+ x: number;
1703
+ y: number;
1704
+ z: number;
1705
+ prerender?: boolean;
1706
+ }
1707
+ declare class CPacketChangeServers$1 extends Message<CPacketChangeServers$1> {
1708
+ url: string;
1709
+ }
1710
+ declare class CPacketCloseWindow$1 extends Message<CPacketCloseWindow$1> {
1711
+ windowId: number;
1712
+ }
1713
+ declare class CPacketConfirmTransaction$1 extends Message<CPacketConfirmTransaction$1> {
1714
+ windowId: number;
1715
+ uid: number;
1716
+ accepted: boolean;
1717
+ }
1718
+ declare class CPacketDestroyEntities$1 extends Message<CPacketDestroyEntities$1> {
1719
+ ids: number[];
1720
+ }
1721
+ declare class CPacketDisconnect$1 extends Message<CPacketDisconnect$1> {
1722
+ reason: string;
1723
+ }
1724
+ declare class CPacketEntityAction$1 extends Message<CPacketEntityAction$1> {
1725
+ id: number;
1726
+ sneak?: boolean;
1727
+ sprinting?: boolean;
1728
+ punching?: boolean;
1729
+ fire?: boolean;
1730
+ }
1731
+ declare class CPacketEntityAttach$1 extends Message<CPacketEntityAttach$1> {
1732
+ leash: number;
1733
+ entity: number;
1734
+ vehicle: number;
1735
+ }
1736
+ declare class CPacketEntityMetadata$1 extends Message<CPacketEntityMetadata$1> {
1737
+ id: number;
1738
+ data: PBWatchableObject[];
1739
+ }
1740
+ declare class PBWatchableObject extends Message<PBWatchableObject> {
1741
+ dataValueId: number;
1742
+ objectType: number;
1743
+ intValue?: number;
1744
+ floatValue?: number;
1745
+ stringValue?: string;
1746
+ vector?: PBVector3;
1747
+ itemStack?: PBItemStack;
1748
+ blockPos?: PBBlockPos;
1749
+ }
1750
+ declare class CPacketEntityPositionAndRotation$1 extends Message<CPacketEntityPositionAndRotation$1> {
1751
+ id: number;
1752
+ pos?: PBVector3;
1753
+ vel?: PBVector3;
1754
+ yaw?: number;
1755
+ pitch?: number;
1756
+ onGround?: boolean;
1757
+ }
1758
+ declare class CPacketEntityRelativePositionAndRotation$1 extends Message<CPacketEntityRelativePositionAndRotation$1> {
1759
+ id: number;
1760
+ pos: PBVector3;
1761
+ vel: PBVector3;
1762
+ yaw: number;
1763
+ pitch: number;
1764
+ onGround: boolean;
1765
+ }
1766
+ declare class CPacketEntityStatus$1 extends Message<CPacketEntityStatus$1> {
1767
+ entityId: number;
1768
+ entityStatus: number;
1769
+ }
1770
+ declare class CPacketExplosion$1 extends Message<CPacketExplosion$1> {
1771
+ pos: PBFloatVector3;
1772
+ strength: number;
1773
+ blocks: PBBlockPos[];
1774
+ playerPos?: PBFloatVector3;
1775
+ }
1776
+ declare class PBCosmetics extends Message<PBCosmetics> {
1777
+ skin: string;
1778
+ cape: string;
1779
+ aura: string;
1780
+ trail: string;
1781
+ color: string;
1782
+ hat: string;
1783
+ }
1784
+ declare class CPacketServerInfo$1 extends Message<CPacketServerInfo$1> {
1785
+ serverId: string;
1786
+ serverName: string;
1787
+ serverVersion: string;
1788
+ serverCategory: string;
1789
+ accessControl: string;
1790
+ worldType: string;
1791
+ doDaylightCycle: boolean | null;
1792
+ inviteCode: string | null;
1793
+ cheats: boolean | null;
1794
+ pvpEnabled: boolean | null;
1795
+ startTime: bigint;
1796
+ playerPermissionEntries: PlayerPermissionEntry[];
1797
+ metadata: string | null;
1798
+ commandBlocksEnabled: boolean | null;
1799
+ }
1800
+ declare class PlayerPermissionEntry extends Message<PlayerPermissionEntry> {
1801
+ uuid: string;
1802
+ username: string;
1803
+ permissionLevel: number;
1804
+ color: string | null;
1805
+ rank: number | null;
1806
+ level: number | null;
1807
+ verified: boolean | null;
1808
+ toString(): string;
1809
+ }
1810
+ declare class CPacketJoinGame$1 extends Message<CPacketJoinGame$1> {
1811
+ canConnect: boolean;
1812
+ errorMessage: string;
1813
+ tick: number;
1814
+ gamemode: string;
1815
+ name: string;
1816
+ enablePlayerCollision: boolean;
1817
+ cosmetics: PBCosmetics;
1818
+ rank: string;
1819
+ serverInfo: CPacketServerInfo$1;
1820
+ uuid: string;
1821
+ dimension: number;
1822
+ }
1823
+ declare class CPacketLeaderboard$1 extends Message<CPacketLeaderboard$1> {
1824
+ id: string;
1825
+ pos: PBVector3;
1826
+ yaw: number | null;
1827
+ title: string;
1828
+ content: string[];
1829
+ }
1830
+ declare class CPacketLocalStorage$1 extends Message<CPacketLocalStorage$1> {
1831
+ action: CPacketLocalStorage_Action;
1832
+ key: string;
1833
+ value: string | null;
1834
+ }
1835
+ /** @enum */
1836
+ declare const CPacketLocalStorage_Action: {
1837
+ DEFAULT: number;
1838
+ 0: string;
1839
+ REMOVE: number;
1840
+ 1: string;
1841
+ SET: number;
1842
+ 2: string;
1843
+ };
1844
+ declare class CPacketMessage$1 extends Message<CPacketMessage$1> {
1845
+ text?: string;
1846
+ id?: string;
1847
+ color?: string;
1848
+ discard?: boolean;
1849
+ toast?: boolean;
1850
+ timer?: number;
1851
+ }
1852
+ declare class CPacketOpenShop$1 extends Message<CPacketOpenShop$1> {
1853
+ type: string;
1854
+ }
1855
+ declare class CPacketOpenWindow$1 extends Message<CPacketOpenWindow$1> {
1856
+ windowId: number;
1857
+ guiID: string;
1858
+ title?: string;
1859
+ size?: number;
1860
+ }
1861
+ declare class CPacketParticles$1 extends Message<CPacketParticles$1> {
1862
+ particleId: number;
1863
+ longDistance?: boolean;
1864
+ x?: number;
1865
+ y?: number;
1866
+ z?: number;
1867
+ xOffset?: number;
1868
+ yOffset?: number;
1869
+ zOffset?: number;
1870
+ speed?: number;
1871
+ count?: number;
1872
+ particleArguments: number[];
1873
+ }
1874
+ declare class CPacketPlayerList$1 extends Message<CPacketPlayerList$1> {
1875
+ players: PlayerData[];
1876
+ }
1877
+ declare class PlayerData extends Message<PlayerData> {
1878
+ id: number;
1879
+ uuid: string;
1880
+ permissionLevel: number;
1881
+ ping?: number;
1882
+ name?: string;
1883
+ color?: string;
1884
+ rank?: string;
1885
+ level?: number;
1886
+ verified?: boolean;
1887
+ }
1888
+ declare class CPacketPlayerPosLook$1 extends Message<CPacketPlayerPosLook$1> {
1889
+ x: number;
1890
+ y: number;
1891
+ z: number;
1892
+ yaw: number;
1893
+ pitch: number;
1894
+ }
1895
+ declare class CPacketPlayerPosition$1 extends Message<CPacketPlayerPosition$1> {
1896
+ x: number;
1897
+ y: number;
1898
+ z: number;
1899
+ }
1900
+ declare class CPacketPlayerReconciliation$1 extends Message<CPacketPlayerReconciliation$1> {
1901
+ x: number;
1902
+ y: number;
1903
+ z: number;
1904
+ yaw: number;
1905
+ pitch: number;
1906
+ lastProcessedInput: number;
1907
+ reset?: boolean;
1908
+ }
1909
+ declare class CPacketPong$1 extends Message<CPacketPong$1> {
1910
+ time: number;
1911
+ mspt: number;
1912
+ tick: number;
1913
+ }
1914
+ declare class CPacketRespawn$1 extends Message<CPacketRespawn$1> {
1915
+ notDeath?: boolean;
1916
+ client?: boolean;
1917
+ dimension?: number;
1918
+ }
1919
+ declare class CPacketScoreboard$1 extends Message<CPacketScoreboard$1> {
1920
+ title: string;
1921
+ content: ScoreboardContent[];
1922
+ }
1923
+ declare class ScoreboardContent extends Message<ScoreboardContent> {
1924
+ columns: string[];
1925
+ }
1926
+ declare class CPacketServerMetadata$1 extends Message<CPacketServerMetadata$1> {
1927
+ metadata: string;
1928
+ }
1929
+ declare class CPacketSetSlot$1 extends Message<CPacketSetSlot$1> {
1930
+ windowId: number;
1931
+ slot: number;
1932
+ slotData: PBItemStack;
1933
+ }
1934
+ declare class CPacketSignEditorOpen$1 extends Message<CPacketSignEditorOpen$1> {
1935
+ signPosition: PBBlockPos;
1936
+ }
1937
+ declare class CPacketSoundEffect$1 extends Message<CPacketSoundEffect$1> {
1938
+ sound: string;
1939
+ location?: PBVector3;
1940
+ volume?: number;
1941
+ pitch?: number;
1942
+ }
1943
+ declare class CPacketSpawnEntity$1 extends Message<CPacketSpawnEntity$1> {
1944
+ id: number;
1945
+ type: number;
1946
+ pos?: PBVector3;
1947
+ yaw?: number;
1948
+ pitch?: number;
1949
+ motion?: PBFloatVector3;
1950
+ item?: PBItemStack;
1951
+ shooterId?: number;
1952
+ state?: number;
1953
+ texture?: string;
1954
+ }
1955
+ declare class CPacketSpawnExperienceOrb$1 extends Message<CPacketSpawnExperienceOrb$1> {
1956
+ id: number;
1957
+ x: number;
1958
+ y: number;
1959
+ z: number;
1960
+ xpValue: number;
1961
+ }
1962
+ declare class CPacketSpawnPlayer$1 extends Message<CPacketSpawnPlayer$1> {
1963
+ id: number;
1964
+ name: string;
1965
+ gamemode: string;
1966
+ operator?: boolean;
1967
+ pos: PBFloatVector3;
1968
+ yaw: number;
1969
+ pitch: number;
1970
+ cosmetics: PBCosmetics;
1971
+ rank?: string;
1972
+ socketId: string;
1973
+ }
1974
+ declare class CPacketTabComplete$1 extends Message<CPacketTabComplete$1> {
1975
+ matches: string[];
1976
+ }
1977
+ declare class CPacketTitle$1 extends Message<CPacketTitle$1> {
1978
+ title: string;
1979
+ duration: number;
1980
+ }
1981
+ declare class CPacketUpdateHealth$1 extends Message<CPacketUpdateHealth$1> {
1982
+ id: number;
1983
+ hp?: number;
1984
+ food?: number;
1985
+ foodSaturation?: number;
1986
+ oxygen?: number;
1987
+ }
1988
+ declare class CPacketUpdateLeaderboard$1 extends Message<CPacketUpdateLeaderboard$1> {
1989
+ id: string;
1990
+ content: string[];
1991
+ }
1992
+ declare class CPacketUpdateScoreboard$1 extends Message<CPacketUpdateScoreboard$1> {
1993
+ index: number;
1994
+ columns: string[];
1995
+ }
1996
+ declare class CPacketUpdateStatus$1 extends Message<CPacketUpdateStatus$1> {
1997
+ id: number;
1998
+ mode?: number;
1999
+ rank?: string;
2000
+ color?: string;
2001
+ hidePlayers?: boolean;
2002
+ }
2003
+ declare class CPacketUpdate$1 extends Message<CPacketUpdate$1> {
2004
+ tick: number;
2005
+ t: number;
2006
+ mspt: number;
2007
+ }
2008
+ declare class CPacketWindowItems$1 extends Message<CPacketWindowItems$1> {
2009
+ windowId: number;
2010
+ items: PBItemStack[];
2011
+ }
2012
+ declare class CPacketWindowProperty$1 extends Message<CPacketWindowProperty$1> {
2013
+ windowId: number;
2014
+ varIndex: number;
2015
+ varValue: number;
2016
+ }
2017
+ declare class SPacketRespawn extends Message<SPacketRespawn> {}
2018
+ declare class SPacketTabComplete$1 {
2019
+ message: string;
2020
+ }
2021
+ declare class SPacketCraftItem extends Message<SPacketCraftItem> {
2022
+ data: string;
2023
+ }
2024
+ declare class SPacketRequestChunk extends Message<SPacketRequestChunk> {
2025
+ x: number;
2026
+ z: number;
2027
+ }
2028
+ declare class SPacketAdminAction extends Message<SPacketAdminAction> {
2029
+ action: {
2030
+ case: undefined;
2031
+ };
2032
+ }
2033
+ declare class KickPlayer extends Message<KickPlayer> {}
2034
+ declare class BanPlayer extends Message<BanPlayer> {
2035
+ uuid: string;
2036
+ }
2037
+ declare class UnbanPlayer extends Message<UnbanPlayer> {
2038
+ uuid: string;
2039
+ }
2040
+ declare class StopServer extends Message<StopServer> {}
2041
+ declare class PromotePlayer extends Message<PromotePlayer> {
2042
+ uuid: string;
2043
+ }
2044
+ declare class DemotePlayer extends Message<DemotePlayer> {
2045
+ uuid: string;
2046
+ }
2047
+ declare class UpdateAccessControl extends Message<UpdateAccessControl> {
2048
+ accessControl: string;
2049
+ }
2050
+ declare class UpdateCheats extends Message<UpdateCheats> {
2051
+ cheats: string;
2052
+ }
2053
+ declare class UpdatePvP extends Message<UpdatePvP> {
2054
+ enabled: boolean;
2055
+ }
2056
+ declare class SPacketAnalytics extends Message<SPacketAnalytics> {
2057
+ fps: number;
2058
+ ping: number;
2059
+ }
2060
+ declare class SPacketConfirmTransaction extends Message<SPacketConfirmTransaction> {
2061
+ windowId: number;
2062
+ actionNumber: number;
2063
+ accepted: boolean;
2064
+ }
2065
+ declare class SPacketHeldItemChange extends Message<SPacketHeldItemChange> {
2066
+ slot: number;
2067
+ }
2068
+ declare class SPacketPlayerInput extends Message<SPacketPlayerInput> {
2069
+ sequenceNumber: number;
2070
+ left: boolean;
2071
+ right: boolean;
2072
+ up: boolean;
2073
+ down: boolean;
2074
+ yaw: number;
2075
+ pitch: number;
2076
+ jump: boolean;
2077
+ sneak: boolean;
2078
+ sprint: boolean;
2079
+ pos: PBFloatVector3;
2080
+ }
2081
+ declare class SPacketPing extends Message<SPacketPing> {
2082
+ time: number;
2083
+ }
2084
+ declare class SPacketUpdateSign extends Message<SPacketUpdateSign> {
2085
+ pos: PBBlockPos;
2086
+ lines: string[];
2087
+ }
2088
+ declare class CPacketEntityEffect$1 extends Message<CPacketEntityEffect$1> {
2089
+ id: number;
2090
+ effectId: number;
2091
+ amplifier: number;
2092
+ duration: number;
2093
+ hideParticles: boolean;
2094
+ }
2095
+ declare class CPacketEntityProperties$1 extends Message<CPacketEntityProperties$1> {
2096
+ id: number;
2097
+ data: PBSnapshot[];
2098
+ }
2099
+ declare class PBSnapshot extends Message<PBSnapshot> {
2100
+ id: string;
2101
+ value: number;
2102
+ modifiers: PBModifier[];
2103
+ }
2104
+ declare class PBModifier extends Message<PBModifier> {
2105
+ id: string;
2106
+ amount: number;
2107
+ operation: number;
2108
+ }
2109
+ declare class CPacketQueueNext$1 extends Message<CPacketQueueNext$1> {
2110
+ minigameId: string;
2111
+ minigameConfig: string;
2112
+ }
2113
+ declare class CPacketRemoveEntityEffect$1 extends Message<CPacketRemoveEntityEffect$1> {
2114
+ id: number;
2115
+ effectId: number;
2116
+ }
2117
+ declare class CPacketSetExperience$1 extends Message<CPacketSetExperience$1> {
2118
+ experience: number;
2119
+ experienceTotal: number;
2120
+ level: number;
2121
+ }
2122
+ declare class CPacketShopProperty extends Message<CPacketShopProperty> {
2123
+ name?: string;
2124
+ value?: string;
2125
+ }
2126
+ declare class CPacketShopProperties$1 extends Message<CPacketShopProperties$1> {
2127
+ properties: CPacketShopProperty[];
2128
+ }
2129
+ declare class CPacketUseBed$1 extends Message<CPacketUseBed$1> {
2130
+ id: number;
2131
+ bedPos: PBBlockPos;
2132
+ }
2133
+ declare class CPacketTimeUpdate$1 extends Message<CPacketTimeUpdate$1> {
2134
+ totalTime: number;
2135
+ worldTime: number;
2136
+ }
2137
+ declare class ClientBoundCombined$1 extends Message<ClientBoundCombined$1> {
2138
+ packets: ClientBoundCombined_CPacket[];
2139
+ }
2140
+ declare class ClientBoundCombined_CPacket extends Message<ClientBoundCombined_CPacket> {
2141
+ packet: S2CPacket;
2142
+ }
2143
+ declare class SPacketEnchantItem extends Message<SPacketEnchantItem> {}
2144
+ declare class SPacketQueueNext extends Message<SPacketQueueNext> {}
2145
+ declare class SPacketUpdateCommandBlock extends Message<SPacketUpdateCommandBlock> {
2146
+ pos: PBBlockPos;
2147
+ command: string | null;
2148
+ commands: string[] | null;
2149
+ repeat: boolean | null;
2150
+ }
2151
+ declare const CPACKET_MAP: {
2152
+ CPacketAnimation: typeof CPacketAnimation$1;
2153
+ CPacketBlockAction: typeof CPacketBlockAction$1;
2154
+ CPacketBlockUpdate: typeof CPacketBlockUpdate$1;
2155
+ CPacketChangeServers: typeof CPacketChangeServers$1;
2156
+ CPacketChunkData: typeof CPacketChunkData$1;
2157
+ CPacketCloseWindow: typeof CPacketCloseWindow$1;
2158
+ CPacketConfirmTransaction: typeof CPacketConfirmTransaction$1;
2159
+ CPacketDestroyEntities: typeof CPacketDestroyEntities$1;
2160
+ CPacketDisconnect: typeof CPacketDisconnect$1;
2161
+ CPacketEntityAction: typeof CPacketEntityAction$1;
2162
+ CPacketEntityEquipment: typeof CPacketEntityEquipment$1;
2163
+ CPacketEntityMetadata: typeof CPacketEntityMetadata$1;
2164
+ CPacketEntityPositionAndRotation: typeof CPacketEntityPositionAndRotation$1;
2165
+ CPacketEntityRelativePositionAndRotation: typeof CPacketEntityRelativePositionAndRotation$1;
2166
+ CPacketEntityStatus: typeof CPacketEntityStatus$1;
2167
+ CPacketEntityVelocity: typeof CPacketEntityVelocity$1;
2168
+ CPacketExplosion: typeof CPacketExplosion$1;
2169
+ CPacketJoinGame: typeof CPacketJoinGame$1;
2170
+ CPacketLeaderboard: typeof CPacketLeaderboard$1;
2171
+ CPacketLocalStorage: typeof CPacketLocalStorage$1;
2172
+ CPacketMessage: typeof CPacketMessage$1;
2173
+ CPacketOpenWindow: typeof CPacketOpenWindow$1;
2174
+ CPacketParticles: typeof CPacketParticles$1;
2175
+ CPacketPlayerList: typeof CPacketPlayerList$1;
2176
+ CPacketPlayerPosition: typeof CPacketPlayerPosition$1;
2177
+ CPacketPlayerPosLook: typeof CPacketPlayerPosLook$1;
2178
+ CPacketPlayerReconciliation: typeof CPacketPlayerReconciliation$1;
2179
+ CPacketPong: typeof CPacketPong$1;
2180
+ CPacketRespawn: typeof CPacketRespawn$1;
2181
+ CPacketScoreboard: typeof CPacketScoreboard$1;
2182
+ CPacketServerInfo: typeof CPacketServerInfo$1;
2183
+ CPacketSetSlot: typeof CPacketSetSlot$1;
2184
+ CPacketSignEditorOpen: typeof CPacketSignEditorOpen$1;
2185
+ CPacketSoundEffect: typeof CPacketSoundEffect$1;
2186
+ CPacketSpawnEntity: typeof CPacketSpawnEntity$1;
2187
+ CPacketSpawnPlayer: typeof CPacketSpawnPlayer$1;
2188
+ CPacketTabComplete: typeof CPacketTabComplete$1;
2189
+ CPacketTitle: typeof CPacketTitle$1;
2190
+ CPacketUpdate: typeof CPacketUpdate$1;
2191
+ CPacketUpdateHealth: typeof CPacketUpdateHealth$1;
2192
+ CPacketUpdateLeaderboard: typeof CPacketUpdateLeaderboard$1;
2193
+ CPacketUpdateScoreboard: typeof CPacketUpdateScoreboard$1;
2194
+ CPacketUpdateSign: typeof CPacketUpdateSign$1;
2195
+ CPacketUpdateStatus: typeof CPacketUpdateStatus$1;
2196
+ CPacketWindowItems: typeof CPacketWindowItems$1;
2197
+ CPacketWindowProperty: typeof CPacketWindowProperty$1;
2198
+ CPacketUseBed: typeof CPacketUseBed$1;
2199
+ CPacketQueueNext: typeof CPacketQueueNext$1;
2200
+ CPacketSpawnExperienceOrb: typeof CPacketSpawnExperienceOrb$1;
2201
+ CPacketSetExperience: typeof CPacketSetExperience$1;
2202
+ CPacketOpenShop: typeof CPacketOpenShop$1;
2203
+ CPacketShopProperties: typeof CPacketShopProperties$1;
2204
+ CPacketEntityProperties: typeof CPacketEntityProperties$1;
2205
+ CPacketEntityEffect: typeof CPacketEntityEffect$1;
2206
+ CPacketRemoveEntityEffect: typeof CPacketRemoveEntityEffect$1;
2207
+ CPacketUpdateCommandBlock: typeof CPacketUpdateCommandBlock$1;
2208
+ CPacketEntityAttach: typeof CPacketEntityAttach$1;
2209
+ CPacketServerMetadata: typeof CPacketServerMetadata$1;
2210
+ CPacketTimeUpdate: typeof CPacketTimeUpdate$1;
2211
+ ClientBoundCombined: typeof ClientBoundCombined$1;
2212
+ },
2213
+ SPACKET_MAP: {
2214
+ SPacketAdminAction: typeof SPacketAdminAction;
2215
+ SPacketAnalytics: typeof SPacketAnalytics;
2216
+ SPacketClickWindow: typeof SPacketClickWindow;
2217
+ SPacketCloseWindow: typeof SPacketCloseWindow;
2218
+ SPacketConfirmTransaction: typeof SPacketConfirmTransaction;
2219
+ SPacketEnchantItem: typeof SPacketEnchantItem;
2220
+ SPacketEntityAction: typeof SPacketEntityAction;
2221
+ SPacketHeldItemChange: typeof SPacketHeldItemChange;
2222
+ SPacketLoginStart: typeof SPacketLoginStart;
2223
+ SPacketMessage: typeof SPacketMessage;
2224
+ SPacketOpenShop: typeof SPacketOpenShop;
2225
+ SPacketPing: typeof SPacketPing;
2226
+ SPacketPlayerAbilities: typeof SPacketPlayerAbilities;
2227
+ SPacketPlayerAction: typeof SPacketPlayerAction;
2228
+ SPacketPlayerPosLook: typeof SPacketPlayerPosLook;
2229
+ SPacketRespawn: typeof SPacketRespawn;
2230
+ SPacketTabComplete: typeof SPacketTabComplete$1;
2231
+ SPacketUpdateSign: typeof SPacketUpdateSign;
2232
+ SPacketUseEntity: typeof SPacketUseEntity;
2233
+ SPacketUpdateCommandBlock: typeof SPacketUpdateCommandBlock;
2234
+ SPacketQueueNext: typeof SPacketQueueNext;
2235
+ SPacketPlayerInput: typeof SPacketPlayerInput;
2236
+ SPacketBreakBlock: typeof SPacketBreakBlock;
2237
+ SPacketClick: typeof SPacketClick;
2238
+ SPacketCraftItem: typeof SPacketCraftItem;
2239
+ SPacketPlaceBlock: typeof SPacketPlaceBlock;
2240
+ SPacketRequestChunk: typeof SPacketRequestChunk;
2241
+ SPacketUpdateInventory: typeof SPacketUpdateInventory;
2242
+ SPacketUseItem: typeof SPacketUseItem;
2243
+ },
2244
+ NAME_TO_ID: {
2245
+ [k: string]: number;
2246
+ },
2247
+ ID_TO_PACKET: {
2248
+ [id: number]: AnyPacket;
2249
+ },
2250
+ ID_TO_NAME: {
2251
+ [id: number]: string;
2252
+ };
2253
+ //#endregion
2254
+ //#region src/entities/EntityPlayer.d.ts
2255
+ declare interface IInterface {
2256
+ getGuiID(): string;
2257
+ }
2258
+ declare class EntityPlayer$1 extends EntityLivingBase$1 {
2259
+ socketId: string | null;
2260
+ mode: GameMode;
2261
+ inventory: InventoryPlayer;
2262
+ inventoryEnderChest: InventoryEnderChest;
2263
+ abilities: Abilities;
2264
+ inventoryContainer: ContainerPlayer;
2265
+ openContainer: Container;
2266
+ punching: boolean;
2267
+ flySpeed: number;
2268
+ speedInAir: number;
2269
+ name: string;
2270
+ operator: boolean;
2271
+ effects: EffectsManager | null;
2272
+ foodStats: FoodStats;
2273
+ team: Team$1 | undefined;
2274
+ actualName: string;
2275
+ experienceLevel: number;
2276
+ lastXPSound: number;
2277
+ experienceTotal: number;
2278
+ experience: number;
2279
+ xpSeed: number;
2280
+ itemInUse: ItemStack$1 | null;
2281
+ itemInUseCount: number;
2282
+ type: string;
2283
+ identifier: string;
2284
+ sleeping: boolean;
2285
+ sleepTimer: number;
2286
+ playerLocation: BlockPos$1 | null;
2287
+ spawnChunk: BlockPos$1 | null;
2288
+ spawnForced: boolean;
2289
+ home: unknown | undefined;
2290
+ xpCooldown: number;
2291
+ profile: GameProfile;
2292
+ kills: number;
2293
+ deaths: number;
2294
+ inventoryManager: unknown;
2295
+ fireTick: number;
2296
+ constructor(profile: Profile, world: World$1);
2297
+ isAdmin(): boolean;
2298
+ getItemInUse(): ItemStack$1;
2299
+ getItemInUseCount(): number;
2300
+ isUsingItem(): boolean;
2301
+ getItemInUseDuration(): number;
2302
+ stopUsingItem(): void;
2303
+ clearItemInUse(): void;
2304
+ isBlocking(): boolean;
2305
+ getHorizontalDirection(): EnumFacing$1;
2306
+ getEyeHeight(): number;
2307
+ canPlayerEdit(_?: unknown, __?: unknown, ___?: unknown): boolean;
2308
+ getActiveItemStack(): ItemStack$1;
2309
+ getInventoryEnderChest(): InventoryEnderChest;
2310
+ getEquipmentInSlot(h: unknown): unknown;
2311
+ onDeath(attackingPlayer: EntityPlayer$1): void;
2312
+ isSprinting(): boolean;
2313
+ /** **IMPORTANT**: USE DUMPS */
2314
+ attack(e: EntityLivingBase$1): void;
2315
+ hasInferniumArmor(): boolean;
2316
+ onCriticalHit(entity: EntityLivingBase$1): void;
2317
+ getJumpMovementFactor(): number;
2318
+ onPlayerUpdate(): void;
2319
+ checkCollisionWithEntities(): void;
2320
+ applyInput(input: SPacketPlayerInput, _unused?: boolean): void; // SPacketPlayerInput
2321
+ addStat(h: unknown, p: unknown): void;
2322
+ addMovementStat(h: unknown, p: unknown, g: unknown): void;
2323
+ updateItemInUse(): void;
2324
+ /**
2325
+ * gets the experience points of this entity
2326
+ * @param _unused unused, this is called with `attackingPlayer` by EntityLivingBase#onDeath
2327
+ */
2328
+ getExperiencePoints(_unused?: EntityPlayer$1): number;
2329
+ addExperience(xp: number): void;
2330
+ setExperience(h: unknown, p: unknown): void;
2331
+ xpBarCap(): number;
2332
+ removeExperienceLevel(h: unknown): void;
2333
+ addExperienceLevel(h: unknown): void;
2334
+ update(): void;
2335
+ setCurrentItemOrArmor(h: unknown, p: unknown): void;
2336
+ preparePlayerToSpawn(): void;
2337
+ setGamemode(gameMode: GameMode): boolean;
2338
+ displayGUIChest(chest: BlockChest): void;
2339
+ displayGui(h: IInterface): void;
2340
+ openEditSign(sign: TileEntitySign): void;
2341
+ closeScreen(): void;
2342
+ openEditCommandBlock(h: CommandBlockLogic): void;
2343
+ dropItemForPlayer(h: unknown, p?: boolean): unknown;
2344
+ dropItem(h: unknown, p: unknown, g: unknown, y?: boolean): unknown;
2345
+ joinEntityItemWithWorld(e: Entity$1): void; // Entity
2346
+ canHarvestBlock(h: Block$1): boolean;
2347
+ getToolDigEfficiency(h: unknown): unknown;
2348
+ addExhaustion(h: unknown): void;
2349
+ getFoodStats(): FoodStats;
2350
+ canEat(h: unknown): boolean;
2351
+ shouldHeal(): boolean;
2352
+ setItemInUse(h: unknown, p: unknown): void;
2353
+ isInBed(): boolean;
2354
+ static getBedSpawnLocation(
2355
+ h: unknown,
2356
+ p: unknown,
2357
+ g: unknown,
2358
+ ): Promise<Vector3$2>;
2359
+ updateItemUse(h: unknown, p: unknown): void;
2360
+ destroyCurrentEquippedItem(): void;
2361
+ onItemUseFinish(): void;
2362
+ handleStatusUpdate(h: unknown): void;
2363
+ setAbsorptionAmount(h: unknown): void;
2364
+ sendMessage(h: unknown, p: unknown): void;
2365
+ isPlayerSleeping(): boolean;
2366
+ isPlayerFullyAsleep(): boolean;
2367
+ getSleepTimer(): number;
2368
+ getBedLocation(): Vector3$2;
2369
+ isSpawnForced(): boolean;
2370
+ setSpawnPoint(h: unknown, p: unknown): void;
2371
+ wakeUpPlayer(h: unknown, p: unknown, g: unknown): void;
2372
+ trySleep(h: unknown): 0 | 4 | 3 | 2 | 5;
2373
+ isSpectator(): boolean;
2374
+ getCurrentEquippedItem(): ItemStack$1 | null;
2375
+ interactFirst(h: unknown): boolean;
2376
+ interactWith(h: unknown): boolean;
2377
+ onTeamChanged(): void;
2378
+ }
2379
+ //#endregion
2380
+ //#region src/entities/EntityLivingBase.d.ts
2381
+ declare class EntityLivingBase$1 extends Entity$1 {
2382
+ activePotionsMap: Map<number, PotionEffect>;
2383
+ potionsNeedUpdate: boolean;
2384
+ absorptionAmount: number;
2385
+ health: number;
2386
+ maxHealth: number;
2387
+ attributeMap: AttributeMap;
2388
+ hurtTime: number;
2389
+ maxHurtTime: number;
2390
+ deathTime: number;
2391
+ revengeTimer: number;
2392
+ lastDamage: number;
2393
+ hurtResistantTime: number;
2394
+ maxHurtResistantTime: number;
2395
+ attackedAtYaw: number;
2396
+ attackingPlayer: EntityPlayer$1 | null; // EntityPlayer
2397
+ recentlyHit: number;
2398
+ combatTracker: CombatTracker;
2399
+ landMovementFactor: number;
2400
+ jumpMovementFactor: number;
2401
+ limbSwingAmount: number;
2402
+ prevLimbSwingAmount: number;
2403
+ limbSwing: number;
2404
+ jumping: boolean;
2405
+ constructor(world: World$1);
2406
+ onKillCommand(): void;
2407
+ applyEntityAttributes(): void;
2408
+ getEntityAttribute(h: unknown): unknown;
2409
+ getAttributeMap(): AttributeMap;
2410
+ getCombatTracker(): unknown;
2411
+ lastDamager(): unknown;
2412
+ getHeldItem(): ItemStack$1 | null;
2413
+ onEntityUpdate(): void;
2414
+ isChild(): boolean;
2415
+ isPlayer(): boolean;
2416
+ onDeathUpdate(): void;
2417
+ setOxygen(oxygen: number): void;
2418
+ getOxygen(): number;
2419
+ decreaseOxygenSupply(h: number): number;
2420
+ canBreatheUnderwater(): boolean;
2421
+ collideWithNearbyEntities(): void;
2422
+ canBePushed(): boolean;
2423
+ getAITarget(): unknown;
2424
+ getRevengeTimer(): number;
2425
+ setRevengeTarget(h: unknown): void;
2426
+ getLastAttacker(): unknown;
2427
+ getLastAttackerTime(): number;
2428
+ setLastAttacker(h: unknown): void;
2429
+ getAge(): number;
2430
+ collideWithEntity(e: Entity$1): void;
2431
+ setJumping(h: boolean): void;
2432
+ jump(): void;
2433
+ onItemPickup(h: unknown, p: unknown): void;
2434
+ canEntityBeSeen(e: Entity$1): boolean;
2435
+ isServerWorld(): boolean;
2436
+ isMovementBlocked(): boolean;
2437
+ updateEntityActionState(): void;
2438
+ renderBrokenItemStack(h: unknown): void;
2439
+ update(): void;
2440
+ dismountEntity(_: unknown): void;
2441
+ setPositionAndRotation2(
2442
+ x: number,
2443
+ y: number,
2444
+ z: number,
2445
+ yaw: number,
2446
+ pitch: number,
2447
+ S: unknown,
2448
+ ): void;
2449
+ onLivingUpdate(): void;
2450
+ moveEntityWithHeading(strafe: number, forward: number): void;
2451
+ getAIMoveSpeed(): number;
2452
+ setAIMoveSpeed(speed: number): void;
2453
+ attackEntityAsMob(h: unknown): boolean;
2454
+ getEquipmentInSlot(h: unknown): void;
2455
+ getTotalArmorValue(): number;
2456
+ damageArmor(h: unknown): void;
2457
+ applyArmorCalculations(h: unknown, p: unknown): unknown;
2458
+ applyPotionDamageCalculations(h: unknown, p: unknown): unknown;
2459
+ damageEntity(h: Entity$1, p: unknown): void;
2460
+ getAbsorptionAmount(): number;
2461
+ setAbsorptionAmount(h: number): void;
2462
+ knockback(
2463
+ _unused_1: unknown,
2464
+ _unused_2: unknown,
2465
+ xM: number,
2466
+ yM: number,
2467
+ ): void;
2468
+ getCreatureAttribute(): EnumCreatureAttribute;
2469
+ setBeenAttacked(): void;
2470
+ hasInferniumArmor(): boolean;
2471
+ getSoundPitch(): number;
2472
+ getMaxHealth(): number;
2473
+ getHealth(): number;
2474
+ setHealth(health: number): void;
2475
+ getFallSoundString(
2476
+ h: unknown,
2477
+ ): "game.player.hurt.fall.big" | "game.player.hurt.fall.small";
2478
+ getHurtSound(): string;
2479
+ getDeathSound(): string;
2480
+ addRandomDrop(): void;
2481
+ dropFewItems(h: unknown, p: unknown): void;
2482
+ canDropLoot(): boolean;
2483
+ getInventory(): Inventory$1;
2484
+ getSoundVolume(): number;
2485
+ kill(): void;
2486
+ handleStatusUpdate(h: unknown): void;
2487
+ updatePotionEffects(): void;
2488
+ updatePotionMetadata(): void;
2489
+ resetPotionEffectMetadata(): void;
2490
+ clearActivePotions(): void;
2491
+ getActivePotionEffects(): PotionEffect[];
2492
+ isPotionActive(pot: Potion): boolean; // Potion
2493
+ getActivePotionEffect(h: unknown): unknown;
2494
+ addPotionEffect(h: unknown): void;
2495
+ isPotionApplicable(h: unknown): boolean;
2496
+ isEntityUndead(): boolean;
2497
+ removePotionEffectClient(h: unknown): void;
2498
+ removePotionEffect(h: unknown): void;
2499
+ onNewPotionEffect(h: unknown): void;
2500
+ onChangedPotionEffect(h: unknown, p: unknown): void;
2501
+ onFinishedPotionEffect(h: unknown): void;
2502
+ heal(add: number): void;
2503
+ getEyePositionVector(): Vector3$2;
2504
+ sendEnterCombat(): void;
2505
+ sendEndCombat(): void;
2506
+ }
2507
+ //#endregion
2508
+ //#region src/chat/Chat.d.ts
2509
+ declare interface ChatData {
2510
+ text?: string;
2511
+ id?: string;
2512
+ color?: string;
2513
+ discard?: boolean;
2514
+ toast?: boolean;
2515
+ timer?: number;
2516
+ }
2517
+ declare interface ChatLog extends ChatData {
2518
+ /** @default Date.now() */
2519
+ t: number;
2520
+ /** @default 0 */
2521
+ timer: number;
2522
+ }
2523
+ declare class Chat {
2524
+ log: ChatLog[];
2525
+ inputHistory: string[];
2526
+ inputHistoryIndex: number;
2527
+ autoCompleteRequested: boolean;
2528
+ autoComplete: {
2529
+ active: boolean;
2530
+ index: number;
2531
+ list: string[];
2532
+ };
2533
+ inputValue: string;
2534
+ showInput: boolean;
2535
+ isInputCommandMode: boolean;
2536
+ setAutoCompleteDefault(): void;
2537
+ /** `idk` is only passed to `ClientSideCommands.tryExecuteClientSide` */
2538
+ submit(idk: unknown): void;
2539
+ getHistory(direction: "up" | "down"): void;
2540
+ setInputValue(value: string): void;
2541
+ openInput(commandMode: boolean): void;
2542
+ closeInput(): void;
2543
+ filterUsernames(data: ChatData): ChatData;
2544
+ addChat(data: ChatData): void;
2545
+ clear(): void;
2546
+ requestTabComplete(updateMoveBackwards: boolean): void;
2547
+ autoCompleteReceived(packet: CPacketTabComplete$1): void;
2548
+ updateInputWithAutoComplete(moveBackwards: boolean): void;
2549
+ static trimLastWord(input: string): string;
2550
+ }
2551
+ //#endregion
2552
+ //#region src/world/rayTraceResult.d.ts
2553
+ declare enum TypeOfHit {
2554
+ MISS = 0,
2555
+ BLOCK = 1,
2556
+ ENTITY = 2,
2557
+ }
2558
+ declare class RayTraceResult {
2559
+ typeOfHit: TypeOfHit;
2560
+ hitVec: Vector3 | null;
2561
+ block: BlockPos | null;
2562
+ side: EnumFacing | null;
2563
+ entity: Entity | null;
2564
+ constructor(
2565
+ typeOfHit: TypeOfHit,
2566
+ hitVec: Vector3 | null,
2567
+ block: BlockPos | null,
2568
+ side: EnumFacing | null,
2569
+ entity: Entity | null,
2570
+ );
2571
+ }
2572
+ //#endregion
2573
+ //#region src/controller/Controller.d.ts
2574
+ declare class PlayerControllerMP {
2575
+ lastSentSlot: number;
2576
+ isHittingBlock: boolean;
2577
+ /** IMPORTANT: USE DUMPS */
2578
+ syncItem(): void;
2579
+ /** just returns {@link PlayerControllerMP.isHittingBlock isHittingBlock} */
2580
+ func_181040_m(): this["isHittingBlock"];
2581
+ sendEnchantPacket(windowId: string, button: number): void;
2582
+ leftClick(): void;
2583
+ rightClick(): void;
2584
+ }
2585
+ declare class PlayerController {
2586
+ prevBlock?: Vector3$2;
2587
+ lastBreakSoundPlay: number;
2588
+ /** this being an object with only one entry is literally just a waste of RAM :sob: */
2589
+ key: {
2590
+ /** set to Date.now() on click in some places,
2591
+ * and then to `0` in {@link PlayerController#leftClick} if `release` is true
2592
+ */
2593
+ leftClick: number;
2594
+ };
2595
+ rightClick: boolean;
2596
+ objectMouseOver: RayTraceResult;
2597
+ rightClickDelayTimer: number;
2598
+ currBreakingLocation: BlockPos$1 | null;
2599
+ reset(): void;
2600
+ getBlockReachDistance(): 5 | 4.5;
2601
+ /**
2602
+ * Called when you left click the mouse.
2603
+ * If `release` (`u`) is truthy, it will set {@link PlayerController.key}.leftClick to `0`
2604
+ */
2605
+ leftClick(release?: boolean): void;
2606
+ /**
2607
+ * Calls {@link PlayerController.pickBlock} if `Game.isActive()` OR if `assumeActive` is truthy.
2608
+ * @param assumeActive assume the game is active
2609
+ */
2610
+ middleClick(assumeActive?: boolean): void;
2611
+ rightClickMouse(): void;
2612
+ onPlayerRightClick(
2613
+ e: EntityPlayer$1,
2614
+ world: World$1,
2615
+ item: ItemStack$1,
2616
+ pos: Vector3$2 | BlockPos$1,
2617
+ placeSide: EnumFacing$1,
2618
+ hitVec: Vector3$2,
2619
+ ): boolean; // TODO: item or item stack?
2620
+ sendUseItem(
2621
+ plr: EntityLivingBase$1,
2622
+ world: World$1,
2623
+ item: ItemStack$1,
2624
+ ): boolean;
2625
+ /**
2626
+ * @param windowID the ID of the window to click in
2627
+ * @param slotID the slot to put the item in
2628
+ * @param button the mouse button that was clicked (i.e. 0 for left, 1 for right, and the slot number if using swap mode)
2629
+ * @param mode the click mode, it is recommended to use enum unless you need custom modes (i.e. for abusing bugs).
2630
+ * @param player
2631
+ */
2632
+ windowClick(
2633
+ windowID: number,
2634
+ slotID: number,
2635
+ button: number,
2636
+ mode: SlotActionType | number,
2637
+ player: EntityPlayer$1,
2638
+ ): ItemStack$1;
2639
+ /** @param entity the entity that was using the item */
2640
+ onStoppedUsingItem(entity: EntityPlayer$1): void;
2641
+ select(): void;
2642
+ punch(): boolean | undefined;
2643
+ /**
2644
+ * - Syncs the item slot using {@link PlayerControllerMP.syncItem}
2645
+ * - Sends a {@link SPacketUseEntity} packet with `action` = `1`, `id` = `e.id`,
2646
+ * and the `hitVec` is from the objectMouseOver hitVec.
2647
+ * - calls {@link EntityPlayer.attack player.attack} on the entity.
2648
+ * @param e the entity to attack.
2649
+ */
2650
+ attackEntity(e: Entity$1): void;
2651
+ interactWithEntitySendPacket(
2652
+ _unusedPlayer: unknown,
2653
+ entity: Entity$1,
2654
+ ): boolean;
2655
+ /**
2656
+ * Tries to find an item slot for the pick block function.
2657
+ * - It first tries to find a slot with an item that is equal to this stack.
2658
+ * - If none of the hotbar slots match, then it just finds an empty hotbar slot to put it in.
2659
+ * - If none are empty, it returns the current item slot.
2660
+ */
2661
+ findHotbarSlotForPickBlock(stack: PBItemStack): number;
2662
+ getTargetedBlockCoords(): BlockPos$1;
2663
+ getTargetedBlockState(): BlockState$1;
2664
+ getScreenLookVector(): Vector3$2;
2665
+ updateMouseOver(): void;
2666
+ pickBlock(): void;
2667
+ /**
2668
+ * Mines the block selected from {@link PlayerController.objectMouseOver objectMouseOver} if LMB is down.
2669
+ * @param instantMine if the block selected should be instantly mined.
2670
+ */
2671
+ mine(instantMine?: boolean): void;
2672
+ /**
2673
+ * Drops the item in hand if:
2674
+ * - The {@link EntityPlayer.getHealth player's health} is > 0
2675
+ * - An {@link EntityPlayer.getActiveItemStack item} is selected (not falsy)
2676
+ * - And the {@link EntityPlayer.getActiveItemStack item} {@link ItemStack.stackSize stack size} is `> 0`
2677
+ * (not `<= 0`)
2678
+ *
2679
+ * Then, it drops the item by sending a `SPacketPlayerAction` packet with
2680
+ * `action` = `all ? PBAction.DROP_ALL_ITEMS else PBAction.DROP_ITEM`,
2681
+ * `facing` = `EnumFacing.DOWN`, and then `position` = `BlockPos.ORIGIN.toProto()`
2682
+ * @param [all=false] drop the entire stack?
2683
+ */
2684
+ dropItem(all: boolean = false): void;
2685
+ /**
2686
+ * Updates the right click delay timer.
2687
+ */
2688
+ update(): void;
2689
+ /**
2690
+ * - Updates {@link PlayerController.objectMouseOver objectMouseOver}
2691
+ * - {@link PlayerController.select Updates the selection box}
2692
+ * - {@link PlayerController.mine Mines} a block if selected and the left mouse button is down
2693
+ */
2694
+ render(): void;
2695
+ }
2696
+ //#endregion
2697
+ //#region src/network/serverInfo.d.ts
2698
+ declare class ServerInfo {
2699
+ serverId: string;
2700
+ serverVersion: string;
2701
+ serverName: string;
2702
+ serverCategory: string;
2703
+ worldType: string;
2704
+ /** @default PermissionLevel.NONE */
2705
+ permissionLevel: PermissionLevel;
2706
+ /** @default AccessControl.NONE */
2707
+ accessControl: AccessControl;
2708
+ /** @default Cheats.DISABLED */
2709
+ cheats: Cheats;
2710
+ /** @default null */
2711
+ inviteCode: string | null;
2712
+ /** @default false */
2713
+ pvpEnabled: boolean;
2714
+ /** @default true */
2715
+ commandBlocksEnabled: boolean;
2716
+ /** @default true */
2717
+ doDaylightCycle: boolean;
2718
+ startTime: number;
2719
+ /** @default [] */
2720
+ playerPermissionEntries: PlayerPermissionEntry[];
2721
+ /** @default {} */
2722
+ metadata: object;
2723
+ handlePacket(pkt: CPacketServerInfo$1): void;
2724
+ handleMetadataUpdate(u: CPacketServerMetadata$1): void;
2725
+ }
2726
+ //#endregion
2727
+ //#region src/game/gameScene.d.ts
2728
+ declare class GameScene$1 {
2729
+ game: Game;
2730
+ readonly camera = new PerspectiveCamera(
2731
+ 85,
2732
+ window.innerWidth / window.innerHeight,
2733
+ 0.01,
2734
+ 1e7,
2735
+ );
2736
+ readonly scene = new Scene();
2737
+ readonly axesHelper = new AxesHelper(0.01);
2738
+ readonly entityMeshes = new Group();
2739
+ readonly chunkMeshes = new Group();
2740
+ readonly ambientMeshes = new Group();
2741
+ readonly leaderboardMeshes = new Group();
2742
+ readonly sun = new Sun(this);
2743
+ readonly stars = new Stars(this, this.sun);
2744
+ readonly sky = new Sky(this, this.sun);
2745
+ readonly fog = new Fog(this);
2746
+ readonly clouds = new Clouds(this);
2747
+ tileEntityRenderer: TileEntityRenderer;
2748
+ effectRenderer: EffectRenderer;
2749
+ constructor(game: Game);
2750
+ updateCameraZoom(): void;
2751
+ update(): void;
2752
+ clear(): void;
2753
+ }
2754
+ //#endregion
2755
+ //#region src/game/game.d.ts
2756
+ declare enum GameState {
2757
+ TITLE_SCREEN = 0,
2758
+ CONNECTING = 1,
2759
+ CONNECTING_ATTEMPT = 2,
2760
+ CONNECTION_ERROR = 3,
2761
+ AUTHENTICATING = 4,
2762
+ LOADING_CHUNKS = 5,
2763
+ PLAY = 6,
2764
+ }
2765
+ interface GameInfo {
2766
+ selectedSlot: number;
2767
+ showSignEditor: Vector3$2 | null;
2768
+ showDeathScreen?: boolean;
2769
+ }
2770
+ declare class ResourceMonitor {
2771
+ instantFPS: number;
2772
+ filteredFPS: number;
2773
+ /** note: this is always 0 */
2774
+ instantPing: number;
2775
+ filteredPing: number;
2776
+ static fpsGraphUpdate: unknown | null;
2777
+ static memoryGraphUpdate: unknown | null;
2778
+ static tickTimeGraphUpdate: unknown | null;
2779
+ }
2780
+ declare class Game {
2781
+ player: ClientEntityPlayer;
2782
+ controller: PlayerController;
2783
+ gameScene: GameScene$1;
2784
+ world: ClientWorld;
2785
+ playerList: PlayerList;
2786
+ unleash;
2787
+ cubicBezier: CubicBezier;
2788
+ chunkRenderManager: ChunkRenderManager;
2789
+ chunkManager: ClientChunkManager;
2790
+ prevTime: number;
2791
+ lastFixedUpdate: number;
2792
+ renderLoopErrored: boolean;
2793
+ chat: Chat;
2794
+ resourceMonitor: ResourceMonitor;
2795
+ info: GameInfo;
2796
+ adIntervalId: number | null;
2797
+ connectionAttempts: number;
2798
+ _state: GameState;
2799
+ party: PartyClient;
2800
+ scoreboardLines: string[];
2801
+ scoreboardTitle: string;
2802
+ delta: number;
2803
+ serverInfo: ServerInfo;
2804
+ constructor();
2805
+ static get isCrazyGames(): boolean;
2806
+ static get isDiscordActivity(): boolean;
2807
+ static get isPoki(): boolean;
2808
+ get state(): this["_state"];
2809
+ set state(value: GameState);
2810
+ inGame(): boolean;
2811
+ gameLoopStarted(): boolean;
2812
+ /**
2813
+ * @param f1 does being in f1 mode count as activity?
2814
+ */
2815
+ static isActive(f1?: boolean): boolean;
2816
+ static isChatting(): Game["chat"]["showInput"];
2817
+ static hasMenuOpen(): boolean;
2818
+ init(): Promise<void>;
2819
+ fixedUpdateTS(): void;
2820
+ update(): void;
2821
+ fixedUpdate(): void;
2822
+ requestQueue(): void;
2823
+ /**
2824
+ * Queues for a mini game.
2825
+ * @param miniGameID the ID of the mini game to queue
2826
+ * @param mgConfig the config of the mini game
2827
+ */
2828
+ queue(miniGameID: string, mgConfig: object): Promise<void>;
2829
+ connectWithCode(code: string): void;
2830
+ tryUpdateClient(serverID: string): void;
2831
+ connect(
2832
+ idOrCustomURL: string,
2833
+ useCustomURL?: boolean,
2834
+ noAd?: boolean,
2835
+ ): Promise<void>;
2836
+ disconnect(reason: string): void;
2837
+ onSocketDisconnect(reason: string | null): void;
2838
+ static isFullscreen(): boolean;
2839
+ static enterFullscreen(): void;
2840
+ unfocus(): void;
2841
+ resume(): void;
2842
+ pause(): void;
2843
+ loadPlanet(
2844
+ id: number,
2845
+ accessControl: string,
2846
+ callback: (justStarted: boolean) => void,
2847
+ ): void;
2848
+ }
2849
+ //#endregion
2850
+ //#region src/game/hud.d.ts
2851
+ interface AnimationKeyframe {
2852
+ duration: number;
2853
+ position: Vector3;
2854
+ rotation: Quaternion;
2855
+ }
2856
+ declare class AnimationLerp {
2857
+ private totalDuration;
2858
+ private keyframes;
2859
+ private target;
2860
+ private cumulativeTimes;
2861
+ constructor(keyframes: AnimationKeyframe[], target: Object3D);
2862
+ update(deltaTime: number): void;
2863
+ }
2864
+ declare class Hud3D extends Group {
2865
+ item: Group;
2866
+ fireGroup: Group;
2867
+ suffocationGroup: Mesh$1;
2868
+ lastSuffocationBlock: Block$1 | null;
2869
+ mesh: Mesh$1;
2870
+ tesr: Mesh$1;
2871
+ rightArm: Mesh$1;
2872
+ leftArm: Mesh$1;
2873
+ lastPunch: number;
2874
+ rightArmPunch: AnimationLerp;
2875
+ itemPunch: AnimationLerp;
2876
+ eat: AnimationLerp;
2877
+ sword: AnimationLerp;
2878
+ swordVariation: number;
2879
+ shovel: AnimationLerp;
2880
+ axe: AnimationLerp;
2881
+ cancelAnimation: boolean;
2882
+ currentActiveItem: ItemStack | null;
2883
+ prevCharge: number;
2884
+ swingLength: {
2885
+ value: number;
2886
+ };
2887
+ constructor();
2888
+ getSpriteMesh(spriteName: string): Mesh$1;
2889
+ /**
2890
+ * @param name the name of the sprite (i.e. `fire_0`)
2891
+ * @param mesh the mesh
2892
+ * @param [idx=0] index. `Math.floor(Date.now() / 25 % 32)` for the fire animation
2893
+ */
2894
+ updateSpriteUV(name: string, mesh: Mesh$1, idx?: number): void;
2895
+ initFireMesh(): void;
2896
+ initSuffocationMesh(): void;
2897
+ updateFireGraphics(): void;
2898
+ updateSuffocationGraphics(): void;
2899
+ swingArm(): void;
2900
+ updateArmAnimation(): void;
2901
+ /** it's only `true` when `ClientEntityPlayer`#`init` is called. otherwise it's not passed. */
2902
+ update(clientEntityPlayerInit?: boolean): void;
2903
+ }
2904
+ declare class Font {
2905
+ isFont: true;
2906
+ type: "Font";
2907
+ constructor(public data: unknown);
2908
+ generateShapes(u, h = 100): unknown[];
2909
+ }
2910
+ declare class FontLoader extends Loader<Font> {
2911
+ load(
2912
+ url: string,
2913
+ callback: (font: Font) => void,
2914
+ onProgress: (event: ProgressEvent<EventTarget>) => void,
2915
+ onError: (err: unknown) => void,
2916
+ ): void;
2917
+ parse(data): Font;
2918
+ }
2919
+ declare class TextureManager {
2920
+ loadTextures(): Promise<void>;
2921
+ loadSpritesheet(): Promise<void>;
2922
+ loader: TextureLoader;
2923
+ fontLoader: FontLoader;
2924
+ miniblox_font: Font;
2925
+ old_miniblox_font: Font;
2926
+ atlas;
2927
+ materialWorld;
2928
+ materialTransparentWorld;
2929
+ material;
2930
+ materialEnchanted;
2931
+ materialTransparent;
2932
+ entityMaterials: object;
2933
+ entityUVSize: object;
2934
+ spritesheetPixels;
2935
+ particles: object;
2936
+ glintTexture: Texture;
2937
+ skinManager: SkinManager;
2938
+ /** **IMPORTANT**: USE DUMPS */
2939
+ gltfManager: GLTFManager;
2940
+ }
2941
+ //#endregion
2942
+ //#region src/game/options.d.ts
2943
+ // Options and settings extracted from Impact
2944
+ // biome-ignore lint/complexity/noStaticOnlyClass: they're typings :sob:
2945
+ declare class Options {
2946
+ static streamerMode: {
2947
+ value: boolean;
2948
+ };
2949
+ static renderDistance: {
2950
+ value: number;
2951
+ };
2952
+ static fov: {
2953
+ value: number;
2954
+ };
2955
+ static sensitivity: {
2956
+ value: number;
2957
+ };
2958
+ static invertMouse: {
2959
+ value: boolean;
2960
+ };
2961
+ static showFPS: {
2962
+ value: boolean;
2963
+ };
2964
+ static showCoordinates: {
2965
+ value: boolean;
2966
+ };
2967
+ static showBiome: {
2968
+ value: boolean;
2969
+ };
2970
+ static showPing: {
2971
+ value: boolean;
2972
+ };
2973
+ static showServerIP: {
2974
+ value: boolean;
2975
+ };
2976
+ static chatScale: {
2977
+ value: number;
2978
+ };
2979
+ static chatOpacity: {
2980
+ value: number;
2981
+ };
2982
+ static chatWidth: {
2983
+ value: number;
2984
+ };
2985
+ static chatHeightFocused: {
2986
+ value: number;
2987
+ };
2988
+ static chatHeightUnfocused: {
2989
+ value: number;
2990
+ };
2991
+ static mipmapLevels: {
2992
+ value: number;
2993
+ };
2994
+ static anisotropicFiltering: {
2995
+ value: number;
2996
+ };
2997
+ static viewBobbing: {
2998
+ value: boolean;
2999
+ };
3000
+ static guiScale: {
3001
+ value: number;
3002
+ };
3003
+ static attackIndicator: {
3004
+ value: number;
3005
+ };
3006
+ static enableVsync: {
3007
+ value: boolean;
3008
+ };
3009
+ static entityShadows: {
3010
+ value: boolean;
3011
+ };
3012
+ static mainHand: {
3013
+ value: string;
3014
+ };
3015
+ static autoJump: {
3016
+ value: boolean;
3017
+ };
3018
+ static reset(): void;
3019
+ static resetVideo(): void;
3020
+ static resetControls(): void;
3021
+ }
3022
+ declare const Options$1: typeof Options;
3023
+ //#endregion
3024
+ //#region src/player/PlayerMovement.d.ts
3025
+ declare class PlayerMovement extends EntityPlayer$1 {
3026
+ flyToggleTimer: number;
3027
+ sprintToggleTimer: number;
3028
+ sprintingTicksLeft: number;
3029
+ currentInput: SPacketPlayerInput | null; // SPacketPlayerInput
3030
+ inputSequenceNumber: number;
3031
+ pendingInputs: SPacketPlayerInput[]; // SPacketPlayerInput[]
3032
+ serverDistance: number;
3033
+ /** **IMPORTANT**: USE DUMPS */
3034
+ moveStrafe: number;
3035
+ /** **IMPORTANT**: USE DUMPS */
3036
+ moveForward: number;
3037
+ jumping: boolean;
3038
+ constructor();
3039
+ reset(): void;
3040
+ updatePlayerMoveState(): void;
3041
+ reconcileServerPosition(packet: CPacketPlayerReconciliation$1): void; // CPacketPlayerReconciliation
3042
+ checkHeadInBlock(): void;
3043
+ getFovModifier(): number;
3044
+ fixedUpdate(): void;
3045
+ }
3046
+ //#endregion
3047
+ //#region src/player/ClientEntityPlayer.d.ts
3048
+ declare enum Perspective {
3049
+ FIRST_PERSON,
3050
+ THIRD_PERSON,
3051
+ THIRD_PERSON_FRONT,
3052
+ }
3053
+ declare class ClientEntityPlayer extends PlayerMovement {
3054
+ perspective: Perspective;
3055
+ deltaFov: number;
3056
+ selectBox: Box3Helper;
3057
+ headInBlock: Block$1 | null;
3058
+ lastHeadInBlock: Block$1 | null;
3059
+ biome: string;
3060
+ lastReportedPos: Vector3$2;
3061
+ /** **IMPORTANT**: USE DUMPS */
3062
+ lastReportedYaw: number;
3063
+ lastReportedPitch: number;
3064
+ serverSneakState: boolean;
3065
+ serverSprintState: boolean;
3066
+ serverPunchState: boolean;
3067
+ serverBlockState: boolean;
3068
+ serverFlyState: boolean;
3069
+ serverMoveStrafe: number;
3070
+ serverMoveForward: number;
3071
+ lastItemUseTime: number;
3072
+ showDeathScreen: boolean;
3073
+ currentTile: BlockPos$1; //? is it a BlockPos
3074
+ prevInventory: Inventory$1;
3075
+ prevDefencePoints: number;
3076
+ game: Game;
3077
+ positionUpdateTicks: number;
3078
+ lastjump: number;
3079
+ constructor();
3080
+ init(socketId: string, p: Profile): void;
3081
+ checkInventoryChange(h?: boolean): void;
3082
+ resetPositionToBB(h?: boolean): void;
3083
+ addSelectBox(): void;
3084
+ respawn(packet?: CPacketRespawn$1): void;
3085
+ sendRespawnPacket(): void;
3086
+ renderCameraFOV(): void;
3087
+ renderCamera(dt: number): void;
3088
+ toggleCameraPerspective(): void;
3089
+ updatePlayerMesh(): void;
3090
+ sendPositionAndRotation(): void;
3091
+ sendActions(): void;
3092
+ sendAbilities(): void;
3093
+ onUpdateWalkingPlayer(): void;
3094
+ getMoveDirection(h: number): Vector3$2;
3095
+ updateClient(dt: number): void;
3096
+ updateSoundOrientation(): void;
3097
+ resetInventory(): void;
3098
+ onEnchantmentCritical(e: Entity$1): void; // Entity
3099
+ setXPStats(xp: number, total: number, level: number): void;
3100
+ openShop(): void;
3101
+ getClientModel(): CommandBlockLogic;
3102
+ }
3103
+ //#endregion
3104
+ //#region src/player/ClientEntityPlayerOther.d.ts
3105
+ declare class ClientEntityPlayerOther extends EntityPlayer$1 {
3106
+ otherPlayerMPPosRotationIncrements: number;
3107
+ otherPlayerPos: Vector3$2;
3108
+ otherPlayerYaw: number;
3109
+ otherPlayerPitch: number;
3110
+ isItemInUse: boolean;
3111
+ }
3112
+ //#endregion
3113
+ //#region src/world/blockpos.d.ts
3114
+ declare class BlockPos$1 {
3115
+ toProto(): PBBlockPos;
3116
+ static readonly ORIGIN: BlockPos$1;
3117
+ x: number;
3118
+ y: number;
3119
+ z: number;
3120
+ constructor(x: number, y: number, z: number);
3121
+ getX(): number;
3122
+ getY(): number;
3123
+ getZ(): number;
3124
+ static fromVector(vec: Vector3$2): BlockPos$1;
3125
+ static fromJSON(json: { x: number; y: number; z: number }): BlockPos$1;
3126
+ static fromProto(proto: PBBlockPos): BlockPos$1;
3127
+ static fromString(str: string): BlockPos$1;
3128
+ toVec3(): Vector3$2;
3129
+ toArray(): [this["x"], this["y"], this["z"]];
3130
+ static fromArray(u: [number, number, number]): BlockPos$1;
3131
+ static fromEntity(u: Entity$1): BlockPos$1;
3132
+ toAABB(): Box3$1;
3133
+ set(x: number, y: number, z: number): void;
3134
+ add(x: number, y: number, z: number): BlockPos$1;
3135
+ subtract(x: number, y: number, z: number): BlockPos$1; // Utility methods for block iteration
3136
+ static getAllInBoxMutable(min: BlockPos$1, max: BlockPos$1): BlockPos$1[];
3137
+ up(n: number = 1): BlockPos$1;
3138
+ down(n: number = 1): BlockPos$1;
3139
+ north(n: number = 1): BlockPos$1;
3140
+ south(n: number = 1): BlockPos$1;
3141
+ west(n: number = 1): BlockPos$1;
3142
+ east(n: number = 1): BlockPos$1;
3143
+ offset(facing: EnumFacing$1, n: number = 1): BlockPos$1;
3144
+ }
3145
+ //#endregion
3146
+ //#region src/world/chunk.d.ts
3147
+ declare class Chunk {
3148
+ xPosition: number;
3149
+ zPosition: number;
3150
+ isChunkLoaded: boolean;
3151
+ isDummyChunk: boolean;
3152
+ cells: Cell[];
3153
+ blockBiomeArray: number[];
3154
+ /** can't find any uses of this, assuming a boolean. */
3155
+ updateSkylightColumns: boolean;
3156
+ /**
3157
+ * index with `z << 4 | x` (z is the Z position and X is the x position)
3158
+ */
3159
+ heightMap: number[];
3160
+ chunkTileEntityMap: BlockPosMap;
3161
+ entityLists: Entity[][];
3162
+ isModified: boolean;
3163
+ heightMapMinimum: number;
3164
+ hasEntities: boolean;
3165
+ lastSaveTime: number;
3166
+ culled: boolean;
3167
+ culledCells: Cell[];
3168
+ world: World;
3169
+ constructor(world: World, xPosition: number, zPosition: number);
3170
+ getHeight(pos: BlockPos): number;
3171
+ getHeightValue(x: number, z: number): number;
3172
+ getTopFilledSegment(): number;
3173
+ generateHeightMap(): void;
3174
+ getBlock(x: number, y: number, z: number): Block$1;
3175
+ getBlockState(pos: BlockPos): BlockState;
3176
+ setBlockState(pos: BlockPos, blockStateId: number): boolean;
3177
+ setChunkModified(): void;
3178
+ createNewTileEntity(pos: BlockPos): TileEntity;
3179
+ addTileEntity(tileEntity: TileEntity): void;
3180
+ removeTileEntity(tileEntity: TileEntity): void;
3181
+ getTileEntity(tileEntity: TileEntity, bl?: boolean): TileEntity;
3182
+ onChunkLoad(): void;
3183
+ onChunkUnload(): void;
3184
+ getEntitiesWithinAABBForEntity(
3185
+ excludedID: number | null,
3186
+ box: Box3,
3187
+ arr: Entity[],
3188
+ idk: null,
3189
+ ): void;
3190
+ getEntitiesOfTypeWithinAABB(
3191
+ eType: string | null,
3192
+ box: Box3,
3193
+ arr: Entity[],
3194
+ ): void;
3195
+ isEmpty(): boolean;
3196
+ getHeightMap(): number[];
3197
+ setHeightMap(heightMap: number[]): void;
3198
+ getTileEntityMap(): this["chunkTileEntityMap"];
3199
+ getEntityLists(): this["entityLists"];
3200
+ setHasEntities(hasEntities: boolean): void;
3201
+ setLastSaveTime(lastSaveTime: number): void;
3202
+ addEntity(box: Box3): void;
3203
+ removeEntity(entity: Entity): void;
3204
+ removeEntityAtIndex(entity: Entity, idx: number): void;
3205
+ canSeeSky(fromPos: BlockPos): boolean;
3206
+ updateCulledState(pos: BlockPos): void;
3207
+ cullChunk(): Promise<void>;
3208
+ toProto(dimension: number): Promise<CPacketChunkData>;
3209
+ static fromProto(world: World, packet: CPacketChunkData): Chunk;
3210
+ /** @param cellX gets used in for (let i = cellX; i < y; i += 16) and then this.cells gets indexed by i >> 4 inside of it */
3211
+ getAreLevelsEmpty(cellX: number, y: number): boolean;
3212
+ }
3213
+ declare class EmptyChunk$1 extends Chunk {
3214
+ isDummyChunk: boolean;
3215
+ constructor(world: World, x: number, z: number);
3216
+ getHeightValue(_x: number, _z: number): number;
3217
+ setBlockState(_x: number, _z: number): boolean;
3218
+ getBlock(x: number, y: number, z: number): Block$1;
3219
+ addEntity(entity: Entity): void;
3220
+ removeEntity(entity: Entity): void;
3221
+ removeEntityAtIndex(entity: Entity, idx: number): void;
3222
+ canSeeSky(pos: BlockPos): boolean;
3223
+ addTileEntity(tileEntity: TileEntity): void;
3224
+ removeTileEntity(tileEntity: TileEntity): void;
3225
+ onChunkLoad(): void;
3226
+ onChunkUnload(): void;
3227
+ getEntitiesWithinAABBForEntity(
3228
+ excludedID: number | null,
3229
+ box: Box3,
3230
+ arr: Entity[],
3231
+ idk: null,
3232
+ ): void;
3233
+ isEmpty(): boolean;
3234
+ }
3235
+ //#endregion
3236
+ //#region src/world/chunkProvider.d.ts
3237
+ /** copied from https://github.com/Marcelektro/MCP-919/blob/main/src/minecraft/net/minecraft/world/chunk/IChunkProvider.java */
3238
+ interface IChunkProvider {
3239
+ /**
3240
+ * Will return back a chunk, if it doesn't exist and it's not a MP client it will generates all the blocks for the
3241
+ * specified chunk from the map seed and chunk seed
3242
+ */
3243
+ provideChunk(x: number, z: number): Chunk;
3244
+ saveChunks(): Promise<void>;
3245
+ /** returns null on client */
3246
+ getPossibleCreatures(
3247
+ creatureType: EnumCreatureType,
3248
+ pos: BlockPos$1,
3249
+ ): SpawnListEntry[] | null;
3250
+ getLoadedChunkCount(): number;
3251
+ unloadChunk(x: number, z: number): void;
3252
+ unloadAllChunks(): void;
3253
+ }
3254
+ declare class ChunkProviderClient$1 implements IChunkProvider {
3255
+ posToChunk: ChunkPosMap;
3256
+ dummyChunk: EmptyChunk;
3257
+ world: World;
3258
+ constructor(world: World);
3259
+ isLoaded(x: number, z: number): boolean;
3260
+ getLoadedChunkCount(): number;
3261
+ getLoadedChunkSet(): ChunkPosSet;
3262
+ loadChunk(x: number, z: number, packet: CPacketChunkData): Promise<Chunk>;
3263
+ unloadChunk(x: number, z: number): void;
3264
+ unloadAllChunks(): void;
3265
+ provideChunk(x: number, z: number): Chunk;
3266
+ saveChunks(): Promise<void>;
3267
+ getPossibleCreatures(_a: unknown, _b: unknown): null;
3268
+ }
3269
+ //#endregion
3270
+ //#region src/world/explosion.d.ts
3271
+ declare class Explosion$1 {
3272
+ isFlaming: boolean;
3273
+ isSmoking: boolean;
3274
+ /** not used anywhere, I assume it's left over from minecraft code. */
3275
+ explosionRNG: undefined;
3276
+ worldObj: World;
3277
+ explosionX: number;
3278
+ explosionY: number;
3279
+ explosionZ: number;
3280
+ exploder: Entity;
3281
+ explosionSize: number;
3282
+ affectedBlockPositions: BlockPos[];
3283
+ playerKnockbackMap: Map<Entity, Vector3$2>;
3284
+ constructor(
3285
+ world: World,
3286
+ exploder: Entity,
3287
+ x: number,
3288
+ y: number,
3289
+ z: number,
3290
+ explosionSize: number,
3291
+ flaming: boolean,
3292
+ smoking: boolean,
3293
+ affectedBlockPositions?: BlockPos[],
3294
+ );
3295
+ doExplosionA(): void;
3296
+ doExplosionB(bl: boolean): void;
3297
+ getPlayerKnockbackMap(): Map<Entity, Vector3$2>;
3298
+ getExplosivePlacedBy(): Entity | null;
3299
+ /**
3300
+ * Clears `affectedBlockPositions` by setting its length field to `0`.
3301
+ * Prime example #67 of Miniblox being skidded from MCP
3302
+ */
3303
+ func_180342_d(): void;
3304
+ getAffectedBlockPositions(): BlockPos[];
3305
+ }
3306
+ //#endregion
3307
+ //#region src/world/materials.d.ts
3308
+ // Material types for blocks
3309
+ declare class Material {
3310
+ readonly air: boolean;
3311
+ isSolid(): boolean;
3312
+ isLiquid(): boolean;
3313
+ blocksMovement(): boolean;
3314
+ getCanBurn(): boolean;
3315
+ isReplaceable(): boolean;
3316
+ isOpaque(): boolean;
3317
+ isToolNotRequired(): boolean;
3318
+ getMobilityFlag(): number;
3319
+ }
3320
+ // Global Materials registry
3321
+ declare const Materials: {
3322
+ readonly air: Material;
3323
+ readonly grass: Material;
3324
+ readonly ground: Material;
3325
+ readonly wood: Material;
3326
+ readonly rock: Material;
3327
+ readonly iron: Material;
3328
+ readonly anvil: Material;
3329
+ readonly water: Material;
3330
+ readonly lava: Material;
3331
+ readonly leaves: Material;
3332
+ readonly plants: Material;
3333
+ readonly vine: Material;
3334
+ readonly sponge: Material;
3335
+ readonly cloth: Material;
3336
+ readonly fire: Material;
3337
+ readonly sand: Material;
3338
+ readonly circuits: Material;
3339
+ readonly carpet: Material;
3340
+ readonly glass: Material;
3341
+ readonly redstoneLight: Material;
3342
+ readonly tnt: Material;
3343
+ readonly coral: Material;
3344
+ readonly ice: Material;
3345
+ readonly packedIce: Material;
3346
+ readonly snow: Material;
3347
+ readonly craftedSnow: Material;
3348
+ readonly cactus: Material;
3349
+ readonly clay: Material;
3350
+ readonly gourd: Material;
3351
+ readonly dragonEgg: Material;
3352
+ readonly portal: Material;
3353
+ readonly cake: Material;
3354
+ readonly web: Material;
3355
+ readonly piston: Material;
3356
+ readonly barrier: Material;
3357
+ readonly structureVoid: Material;
3358
+ };
3359
+ //#endregion
3360
+ //#region src/world/world.d.ts
3361
+ declare class BlockState$1 {
3362
+ getBlock(): Block$1;
3363
+ getMaterial(): Material;
3364
+ }
3365
+ declare class World$1 {
3366
+ static mutableblockpos: BlockPos$1;
3367
+ static pos1: BlockPos$1;
3368
+ static pos2: BlockPos$1;
3369
+ players: Map<number, EntityPlayer$1>;
3370
+ totalTime: number;
3371
+ worldTime: number;
3372
+ tick: number;
3373
+ serverInterface: ServerInterface;
3374
+ loadedEntityList: Entity$1[];
3375
+ unloadedEntityList: Map<number, Entity$1>;
3376
+ loadedTileEntitiesMap: BlockPosMap;
3377
+ tileEntitiesToBeRemoved: unknown[];
3378
+ chunkProvider: IChunkProvider;
3379
+ ambientTickCountdown: number;
3380
+ scheduledUpdatesAreImmediate: boolean;
3381
+ leaderboards: Map<string, CPacketLeaderboard$1>;
3382
+ enchantmentHelper: EnchantmentHelper;
3383
+ difficulty: EnumDifficulty;
3384
+ /** absolutely references this, it only gets initialized. probably some thing for the server? */
3385
+ simulationChunkSet: Set<unknown>;
3386
+ teamMap: Map<string, Team>;
3387
+ /** IMPORTANT: USE DUMPS */
3388
+ entities: Map<number, Entity$1>;
3389
+ dimensionId: number;
3390
+ constructor(dimension: number);
3391
+ get isClient(): boolean;
3392
+ get isServer(): boolean;
3393
+ getActualHeight(): 256 | 128;
3394
+ getVisibleChunks(): void;
3395
+ getVisibleChunkCount(): void;
3396
+ getTeams(): Team[];
3397
+ addTeam(name: string, displayName: string): void;
3398
+ removeTeam(id: string): void;
3399
+ emptyTeam(id: string): void;
3400
+ joinTeam(id: string, ...members: EntityPlayer$1[]): void;
3401
+ leaveTeam(id: string, ...members: EntityPlayer$1[]): void;
3402
+ modifyTeam(id: string, which: string, value: string): void;
3403
+ getMobLimit(): number;
3404
+ getActiveChunkCount(): number;
3405
+ getActiveChunks(): void;
3406
+ updateAllPlayersSleepingFlag(): void;
3407
+ isBlockLoaded(bp: BlockPos$1, idk?: boolean): boolean;
3408
+ isChunkLoaded(x: number, z: number, idk: boolean): boolean;
3409
+ isAreaLoaded(start: Vector3$2, end: Vector3$2, p?: boolean): boolean;
3410
+ extendedLevelsInChunkCache(): boolean;
3411
+ isAreaLoadedCoord(
3412
+ sX: number,
3413
+ sY: number,
3414
+ sZ: number,
3415
+ eX: number,
3416
+ eY: number,
3417
+ eZ: number,
3418
+ clB: boolean,
3419
+ ): boolean;
3420
+ getChunk(pos: BlockPos$1): Chunk;
3421
+ getChunkByID(x: number, z: number): Chunk;
3422
+ getBlock(pos: BlockPos$1): Block$1;
3423
+ getBlockState(pos: BlockPos$1): BlockState$1;
3424
+ setAir(pos: BlockPos$1, h?: number): void;
3425
+ setAirXYZ(x: number, y: number, z: number): void;
3426
+ isAir(pos: BlockPos$1): boolean;
3427
+ areaPassesCheck(
3428
+ min: BlockPos$1,
3429
+ max: BlockPos$1,
3430
+ checkFn: (b: Block$1) => boolean,
3431
+ ): boolean;
3432
+ setBlockState(pos: BlockPos$1, state: BlockState$1, p?: number): boolean;
3433
+ setBlockRaw(pos: BlockPos$1, state: BlockState$1): void;
3434
+ notifyBlockOfStateChange(pos: ChunkPos, idk: unknown): void;
3435
+ notifyNeighborsOfStateChange(pos: ChunkPos, idk: unknown): void;
3436
+ notifyNeighborsOfStateExcept(
3437
+ u: ChunkPos,
3438
+ idk: unknown,
3439
+ facing: EnumFacing,
3440
+ ): void;
3441
+ playSoundAtEntity(
3442
+ entity: Entity$1,
3443
+ name: string,
3444
+ volume?: number,
3445
+ pitch?: number,
3446
+ ): void;
3447
+ playSoundAtPosition(
3448
+ pos: BlockPos$1,
3449
+ volume: number | undefined,
3450
+ pitch: number | undefined,
3451
+ name: string,
3452
+ ): void;
3453
+ playSound(pos: BlockPos$1, volume?: number, pitch?: number): void;
3454
+ playSoundAtPositionClientSidePredicted(
3455
+ name: string,
3456
+ vol: number | undefined,
3457
+ pitch: number | undefined,
3458
+ pos: BlockPos$1,
3459
+ plr: EntityPlayer$1,
3460
+ ): void;
3461
+ playPlaceSoundAtPositionClientSidePredicted(
3462
+ block: Block$1,
3463
+ pos: Vector3$2,
3464
+ plr: EntityPlayer$1,
3465
+ ): void;
3466
+ spawnEntityInWorld(e: Entity$1): boolean;
3467
+ setEntityState(_a: unknown, _b: unknown): void;
3468
+ getEntityTracker(): void;
3469
+ loadEntities(entities: Entity$1[]): void;
3470
+ onEntityAdded(entity: Entity$1): void;
3471
+ markChunkDirty(pos: BlockPos$1): void;
3472
+ addItem(_a: unknown, _b: unknown): null;
3473
+ getEntityItem(u: Item, pos: Vector3$2, yOffset: number): EntityItem;
3474
+ getServer(): void;
3475
+ getConfigurationManager(): void;
3476
+ resetUpdateEntityTick(): void;
3477
+ getTopSolidOrLiquidBlock(pos: BlockPos$1): BlockPos$1;
3478
+ canBlockBePlaced(
3479
+ block: Block$1,
3480
+ pos: BlockPos$1,
3481
+ bl: boolean,
3482
+ _unused: unknown,
3483
+ ): boolean;
3484
+ checkNoEntityCollision(box: Box3, _unused: unknown): boolean;
3485
+ emitToAllNearExcept(
3486
+ _a: unknown,
3487
+ _b: unknown,
3488
+ _c: unknown,
3489
+ _d: unknown,
3490
+ _e: unknown,
3491
+ _f: unknown,
3492
+ _g: unknown,
3493
+ ): void;
3494
+ playSoundToNearExcept(
3495
+ player: EntityPlayer$1,
3496
+ pos: BlockPos$1,
3497
+ vol: number,
3498
+ pitch: number,
3499
+ name: string,
3500
+ ): void;
3501
+ getCollidingBoundingBoxes(entity: Entity$1, box: Box3): Box3[];
3502
+ isAnyLiquid(box: Box3): boolean;
3503
+ isFlammableWithin(box: Box3): boolean;
3504
+ handleMaterialAcceleration(box: Box3, _a: unknown, e: Entity$1): boolean;
3505
+ getEntitiesWithinAABBExcludingEntity(
3506
+ excludedID: number,
3507
+ box: Box3,
3508
+ ): Entity$1[];
3509
+ getEntitiesInAABBexcluding(
3510
+ excludedID: number | null,
3511
+ box: Box3,
3512
+ idk?: null,
3513
+ ): Entity$1[];
3514
+ getDifficulty(): EnumDifficulty;
3515
+ setDifficulty(difficulty: EnumDifficulty): void;
3516
+ updatePlayerInventory(_a: unknown): void;
3517
+ onEntityRemoved(e: Entity$1): void;
3518
+ removeEntity(e: Entity$1): void;
3519
+ updateEntities(): void;
3520
+ isValid(v: Vector3$2): boolean;
3521
+ getTileEntity(pos: BlockPos$1): TileEntity | null;
3522
+ addTileEntity(u: TileEntity): void;
3523
+ addTileEntities(entities: TileEntity[]): void;
3524
+ removeTileEntity(pos: BlockPos$1): void;
3525
+ markTileEntityForRemoval(tileEntity: TileEntity): void;
3526
+ unloadEntities(entities: Entity$1[]): void;
3527
+ addBlockEvent(
3528
+ pos: BlockPos$1,
3529
+ idk: unknown,
3530
+ idk2: unknown,
3531
+ idk3: unknown,
3532
+ ): void;
3533
+ reconcileBlock(_a: unknown, _b: unknown): void;
3534
+ forceBlockUpdateTick(block: Block$1, pos: BlockPos$1): void;
3535
+ getRenderDistanceChunks(): void;
3536
+ setActivePlayerChunksAndCheckLight(): void;
3537
+ static doesBlockHaveSolidTopSurface(world: World$1, pos: BlockPos$1): boolean;
3538
+ isBlockNormalCube(pos: BlockPos$1, idk: boolean): boolean;
3539
+ getLightBrightness(_a: unknown): 15 | -15;
3540
+ isBlockIndirectlyGettingPowered(facing: EnumFacing): number;
3541
+ isSidePowered(pos: BlockPos$1, idk: unknown): boolean;
3542
+ getRedstonePower(pos: BlockPos$1, idk: unknown): number;
3543
+ getStrongPowerWithDirection(pos: BlockPos$1, dir: EnumFacing): number;
3544
+ isBlockPowered(u: BlockPos$1): boolean;
3545
+ getStrongPower(pos: BlockPos$1, bl?: boolean): number;
3546
+ scheduleUpdate(_a: unknown, _b: unknown, _c: unknown): void;
3547
+ updateBlockTick(_a: unknown, _b: unknown, _c: unknown, _d: unknown): void;
3548
+ getEntitiesWithinAABB(
3549
+ eType: string | null,
3550
+ box: Box3,
3551
+ _?: unknown,
3552
+ ): Entity$1[];
3553
+ findNearestEntityWithinAABB(
3554
+ eType: string,
3555
+ box: Box3,
3556
+ from_: Entity$1,
3557
+ ): Entity$1 | null;
3558
+ isBlockTickPending(_a: unknown, _b: unknown): boolean;
3559
+ updateComparatorOutputLevel(pos: BlockPos$1, idk: unknown): void;
3560
+ spawnParticle(
3561
+ particleType: EnumParticleTypes,
3562
+ xO: number,
3563
+ yO: number,
3564
+ zO: number,
3565
+ idk1: unknown,
3566
+ idk2: unknown,
3567
+ idk3: unknown,
3568
+ ...v: unknown[]
3569
+ ): void;
3570
+ getClosestPlayerToEntity(
3571
+ entity: Entity$1,
3572
+ max: number,
3573
+ ): EntityPlayer$1 | null;
3574
+ getClosestPlayer(
3575
+ x: number,
3576
+ y: number,
3577
+ z: number,
3578
+ max: number,
3579
+ ): EntityPlayer$1 | null;
3580
+ isAnyPlayerWithinRangeAt(
3581
+ x: number,
3582
+ y: number,
3583
+ z: number,
3584
+ maxDist: number,
3585
+ ): boolean;
3586
+ getSpawnPoint(): BlockPos$1;
3587
+ countEntities(creatureClass: unknown): number;
3588
+ getChunkProvider(): ChunkProvider;
3589
+ getSpawnListEntryForTypeAt(idk: unknown, idk2: unknown): unknown;
3590
+ /**
3591
+ * @param idk1 passed to chunkProvider.getPossibleCreatures
3592
+ * @param idk if (creature.entityClass == idk.entityClass)
3593
+ */
3594
+ canCreatureTypeSpawnHere(
3595
+ idk1: unknown,
3596
+ idk: {
3597
+ entityClass: unknown;
3598
+ },
3599
+ idk2: unknown,
3600
+ ): boolean;
3601
+ playersIterator(): MapIterator<EntityPlayer$1>;
3602
+ getPlayerCount(): number;
3603
+ getPlayerById(id: number): EntityPlayer$1;
3604
+ getAllPlayerNames(): string[];
3605
+ getEntityCount(): number;
3606
+ getLivingEntityCount(): number;
3607
+ getLiveBlock(pos: BlockPos$1): LiveBlock;
3608
+ sendMessageToAllPlayers(_a: unknown, _b: unknown): void;
3609
+ sendAnnouncementToAllPlayers(..._a: unknown[]): void;
3610
+ getBlockDensity(idk: unknown, box: Box3): number;
3611
+ createExplosion(
3612
+ entity: Entity$1,
3613
+ x: number,
3614
+ y: number,
3615
+ z: number,
3616
+ explosionSize: number,
3617
+ smoking: boolean,
3618
+ ): Explosion;
3619
+ newExplosion(
3620
+ exploder: Entity$1,
3621
+ x: number,
3622
+ y: number,
3623
+ z: number,
3624
+ explosionSize: number,
3625
+ flaming: boolean,
3626
+ smoking: boolean,
3627
+ ): Explosion;
3628
+ isAABBInMaterial(box: Box3, material: Material): boolean;
3629
+ updateEntity(entity: Entity$1, h?: boolean): void;
3630
+ handleEvent(_a: unknown): void;
3631
+ isDaytime(): boolean;
3632
+ canSeeSky(pos: BlockPos$1): boolean;
3633
+ ensureSpawnPoint(): void;
3634
+ checkBlockCollision(box: Box3): boolean;
3635
+ isSpawnChunk(x: number, y: number): boolean;
3636
+ getLightFromNeighbors(_a: unknown): number;
3637
+ getCommandRegistry(): null;
3638
+ getMobGriefing(): boolean;
3639
+ removePlayerEntityDangerously(entity: Entity$1): void;
3640
+ }
3641
+ declare class ClientWorld extends World$1 {
3642
+ private game: Game;
3643
+ private scene: GameScene$1;
3644
+ entityMesh: Map;
3645
+ leaderboardToMesh: Map;
3646
+ private entitySpawnQueue: Entity$1[];
3647
+ /** another relic, but this time I can't find it in MCP-919? */
3648
+ chunkRenderBlockUpdateListener: undefined;
3649
+ chunkProvider: ChunkProviderClient;
3650
+ constructor(game: Game, scene: GameScene$1, dimension: number);
3651
+ get isClient(): boolean;
3652
+ get isServer(): boolean;
3653
+ addPlayer(plr: EntityPlayer$1): void;
3654
+ addTileEntity(tile: TileEntity): void;
3655
+ removeTileEntity(pos: BlockPos$1): void;
3656
+ setBlockState(
3657
+ pos: BlockPos$1,
3658
+ state: BlockState$1,
3659
+ flags?: number,
3660
+ preRender?: boolean,
3661
+ ): boolean;
3662
+ playSoundAtEntity(
3663
+ entity: Entity$1,
3664
+ name: string,
3665
+ volume?: number,
3666
+ pitch?: number,
3667
+ ): void;
3668
+ playSoundAtPosition(
3669
+ name: string,
3670
+ pos: BlockPos$1,
3671
+ volume?: number,
3672
+ pitch?: number,
3673
+ ): void;
3674
+ playSound(name: string, volume?: number, pitch?: number): void;
3675
+ displayBarrierParticles(x: number, y: number, z: number): void;
3676
+ spawnParticle(
3677
+ particle: EnumParticleTypes,
3678
+ xOff: number,
3679
+ yOff: number,
3680
+ zOff: number,
3681
+ idk1: unknown,
3682
+ idk2: unknown,
3683
+ idk3: unknown,
3684
+ pos: Vector3$2,
3685
+ ...v: unknown[]
3686
+ ): void;
3687
+ getEntitiesWithinAABB(eType: string | null, box: Box3): Entity$1[];
3688
+ update(): void;
3689
+ spawnEntityInWorld(h: Entity$1): boolean;
3690
+ onEntityAdded(entity: Entity$1): void;
3691
+ removeEntity(entity: Entity$1): void;
3692
+ onEntityRemoved(entity: Entity$1): void;
3693
+ removeEntityFromWorld(entity: Entity$1): Entity$1;
3694
+ removeAllEntities(): void;
3695
+ isBlockLoaded(bp: BlockPos$1): boolean;
3696
+ handleBlockUpdate(bpJSON: CPacketBlockUpdate): void;
3697
+ getRenderDistanceChunks(): number;
3698
+ clear(): void;
3699
+ }
3700
+ //#endregion
3701
+ //#region src/blocks/Block.d.ts
3702
+ declare class Block$1 {
3703
+ name?: string;
3704
+ material: Material;
3705
+ slipperiness: number;
3706
+ blockHardness: number;
3707
+ blockResistance: number;
3708
+ enableStats: boolean;
3709
+ needsRandomTick: boolean;
3710
+ isBlockContainer: boolean;
3711
+ lightOpacity: number;
3712
+ lightValue: number;
3713
+ useNeighborBrightness: boolean;
3714
+ blockParticleGravity: number;
3715
+ getBoundingBox(): Box3$1;
3716
+ isFullBlock(): boolean;
3717
+ isOpaqueCube(): boolean;
3718
+ isPassable(world: World$1, pos: BlockPos$1): boolean;
3719
+ getCollisionBoundingBox(world: World$1, pos: BlockPos$1): Box3$1 | null;
3720
+ isCollidable(): boolean;
3721
+ canCollideCheck(state: BlockState$1, hitIfLiquid: boolean): boolean;
3722
+ getMaterial(): Material;
3723
+ getBlockHardness(world: World$1, pos: BlockPos$1): number;
3724
+ setBlockUnbreakable(): this;
3725
+ getBlockBoundsMinX(): number;
3726
+ getBlockBoundsMaxX(): number;
3727
+ getBlockBoundsMinY(): number;
3728
+ getBlockBoundsMaxY(): number;
3729
+ getBlockBoundsMinZ(): number;
3730
+ getBlockBoundsMaxZ(): number;
3731
+ setLightOpacity(opacity: number): this;
3732
+ setLightLevel(level: number): this;
3733
+ setResistance(resistance: number): this;
3734
+ setHardness(hardness: number): this;
3735
+ setStepSound(sound: SoundType): this;
3736
+ setBlockBounds(
3737
+ minX: number,
3738
+ minY: number,
3739
+ minZ: number,
3740
+ maxX: number,
3741
+ maxY: number,
3742
+ maxZ: number,
3743
+ ): void;
3744
+ }
3745
+ declare class BlockChest extends Block$1 {
3746
+ // Chest block
3747
+ isTrapped?: boolean;
3748
+ }
3749
+ interface BlockAir extends Block$1 {}
3750
+ interface BlockStone extends Block$1 {}
3751
+ interface BlockDefault extends Block$1 {}
3752
+ interface BlockGrass extends Block$1 {}
3753
+ interface BlockDirt extends Block$1 {}
3754
+ interface BlockPodzol extends Block$1 {}
3755
+ interface BlockPlanks extends Block$1 {}
3756
+ interface BlockSapling extends Block$1 {}
3757
+ interface BlockLiquidWater extends Block$1 {}
3758
+ interface BlockLiquidLava extends Block$1 {}
3759
+ interface BlockFalling extends Block$1 {}
3760
+ interface BlockGravel extends Block$1 {}
3761
+ interface BlockOre extends Block$1 {}
3762
+ interface BlockLog extends Block$1 {}
3763
+ interface BlockStrippedLog extends Block$1 {}
3764
+ interface BlockStrippedWood extends Block$1 {}
3765
+ interface BlockWood extends Block$1 {}
3766
+ interface BlockLeaves extends Block$1 {}
3767
+ interface BlockGlass extends Block$1 {}
3768
+ interface BlockRedstoneBlock extends Block$1 {}
3769
+ interface BlockMarble extends Block$1 {}
3770
+ interface BlockMarble$1 extends Block$1 {}
3771
+ interface BlockSandStone extends Block$1 {}
3772
+ interface BlockBookshelf extends Block$1 {}
3773
+ interface BlockWorkbench extends Block$1 {}
3774
+ interface BlockTnt extends Block$1 {}
3775
+ interface BlockCake extends Block$1 {}
3776
+ interface BlockWeb extends Block$1 {}
3777
+ interface BlockFurnace extends Block$1 {}
3778
+ interface BlockShrub extends Block$1 {}
3779
+ interface BlockWool extends Block$1 {}
3780
+ interface BlockMushroom extends Block$1 {}
3781
+ interface BlockIce extends Block$1 {}
3782
+ interface BlockPackedIce extends Block$1 {}
3783
+ interface BlockSnowBlock extends Block$1 {}
3784
+ interface BlockJukebox extends Block$1 {}
3785
+ interface BlockPumpkin extends Block$1 {}
3786
+ interface BlockCarvedPumpkin extends Block$1 {}
3787
+ interface BlockHellstone extends Block$1 {}
3788
+ interface BlockSoulSand extends Block$1 {}
3789
+ interface BlockGlowstone extends Block$1 {}
3790
+ interface BlockMelon extends Block$1 {}
3791
+ interface BlockFire extends Block$1 {}
3792
+ interface BlockSlime extends Block$1 {}
3793
+ interface BlockRotatedPillar extends Block$1 {}
3794
+ interface BlockHardenedClay extends Block$1 {}
3795
+ interface BlockConcrete extends Block$1 {}
3796
+ interface BlockHugeMushroom extends Block$1 {}
3797
+ interface BlockHalfStoneSlab extends Block$1 {}
3798
+ interface BlockHalfWoodSlab extends Block$1 {}
3799
+ interface BlockHalfStoneSlab$1 extends Block$1 {}
3800
+ interface BlockHalfBrickSlab extends Block$1 {}
3801
+ interface BlockHalfSandstoneSlab extends Block$1 {}
3802
+ interface BlockStairs extends Block$1 {}
3803
+ interface BlockCactus extends Block$1 {}
3804
+ interface BlockLadder extends Block$1 {}
3805
+ interface BlockVine extends Block$1 {}
3806
+ interface BlockCommandBlock extends Block$1 {}
3807
+ interface BlockDoor extends Block$1 {}
3808
+ interface BlockCarpet extends Block$1 {}
3809
+ interface BlockMuck extends Block$1 {}
3810
+ interface BlockSnow extends Block$1 {}
3811
+ interface BlockEnchantmentTable extends Block$1 {}
3812
+ interface BlockEnderChest extends Block$1 {}
3813
+ interface BlockStandingSign extends Block$1 {}
3814
+ interface BlockWallSign extends Block$1 {}
3815
+ interface BlockPistonBase extends Block$1 {}
3816
+ interface BlockPistonExtension extends Block$1 {}
3817
+ interface BlockPistonMoving extends Block$1 {}
3818
+ interface BlockBarrier extends Block$1 {}
3819
+ interface BlockFarmland extends Block$1 {}
3820
+ interface BlockCrops extends Block$1 {}
3821
+ interface BlockCarrot extends Block$1 {}
3822
+ interface BlockPotato extends Block$1 {}
3823
+ interface BlockHellFungus extends Block$1 {}
3824
+ interface BlockRedstoneWire extends Block$1 {}
3825
+ interface BlockLever extends Block$1 {}
3826
+ interface BlockButtonStone extends Block$1 {}
3827
+ interface BlockButtonWood extends Block$1 {}
3828
+ interface BlockTorch extends Block$1 {}
3829
+ interface BlockWallTorch extends Block$1 {}
3830
+ interface BlockRedstoneTorch extends Block$1 {}
3831
+ interface BlockRedstoneWallTorch extends Block$1 {}
3832
+ interface BlockRedstoneRepeater extends Block$1 {}
3833
+ interface BlockRedstoneComparator extends Block$1 {}
3834
+ interface BlockRedstoneLight extends Block$1 {}
3835
+ interface BlockPressurePlate extends Block$1 {}
3836
+ interface BlockPressurePlateWeighted extends Block$1 {}
3837
+ interface BlockFence extends Block$1 {}
3838
+ interface BlockFenceGate extends Block$1 {}
3839
+ interface BlockWall extends Block$1 {}
3840
+ interface BlockPane extends Block$1 {}
3841
+ interface BlockStem extends Block$1 {}
3842
+ interface BlockCauldron extends Block$1 {}
3843
+ interface BlockTrapDoor extends Block$1 {}
3844
+ interface BlockLilyPad extends Block$1 {}
3845
+ interface BlockDragonEgg extends Block$1 {}
3846
+ interface BlockAnvil extends Block$1 {}
3847
+ interface BlockDispenser extends Block$1 {}
3848
+ interface BlockBed extends Block$1 {}
3849
+ interface BlockReed extends Block$1 {}
3850
+ interface BlockHellPortal extends Block$1 {}
3851
+ interface BlockCloud extends Block$1 {} // this actually exposed in the window object like a few other objects (i.e. window.Buffer).
3852
+ // see:
3853
+ /*
3854
+ ```ts
3855
+ let Blocks = te; // useless alias. using rollup for bundling and then doing this????
3856
+ Items.init();
3857
+ furnaceRecipes.registerRecipes();
3858
+ globalThis.Blocks = Blocks;
3859
+ // ^^^^^^^^^^^^^^^^
3860
+ ```
3861
+ */
3862
+ type AllBlocks = {
3863
+ readonly idToBlock: Map<number, Block$1>;
3864
+ readonly idToBlockState: Map<number, BlockState$1>;
3865
+ readonly blockStateToId: Map<BlockState$1, number>;
3866
+ readonly nameToBlock: Map<string, Block$1>;
3867
+ readonly air: BlockAir;
3868
+ readonly stone: BlockStone;
3869
+ readonly granite: BlockDefault;
3870
+ readonly polished_granite: BlockDefault;
3871
+ readonly diorite: BlockDefault;
3872
+ readonly polished_diorite: BlockDefault;
3873
+ readonly andesite: BlockDefault;
3874
+ readonly polished_andesite: BlockDefault;
3875
+ readonly grass_block: BlockGrass;
3876
+ readonly dirt: BlockDirt;
3877
+ readonly coarse_dirt: BlockDirt;
3878
+ readonly podzol: BlockPodzol;
3879
+ readonly cobblestone: BlockDefault;
3880
+ readonly oak_planks: BlockPlanks;
3881
+ readonly spruce_planks: BlockPlanks;
3882
+ readonly birch_planks: BlockPlanks;
3883
+ readonly jungle_planks: BlockPlanks;
3884
+ readonly acacia_planks: BlockPlanks;
3885
+ readonly dark_oak_planks: BlockPlanks;
3886
+ readonly oak_sapling: BlockSapling;
3887
+ readonly spruce_sapling: BlockSapling;
3888
+ readonly birch_sapling: BlockSapling;
3889
+ readonly jungle_sapling: BlockSapling;
3890
+ readonly acacia_sapling: BlockSapling;
3891
+ readonly dark_oak_sapling: BlockSapling;
3892
+ readonly bedrock: BlockDefault;
3893
+ readonly water: BlockLiquidWater;
3894
+ readonly lava: BlockLiquidLava;
3895
+ readonly sand: BlockFalling;
3896
+ readonly red_sand: BlockFalling;
3897
+ readonly gravel: BlockGravel;
3898
+ readonly gold_ore: BlockOre;
3899
+ readonly iron_ore: BlockOre;
3900
+ readonly coal_ore: BlockOre;
3901
+ readonly diamond_ore: BlockOre;
3902
+ readonly emerald_ore: BlockOre;
3903
+ readonly lapis_ore: BlockOre;
3904
+ readonly redstone_ore: BlockOre;
3905
+ readonly hell_marble_ore: BlockOre;
3906
+ readonly infernium_ore: BlockOre;
3907
+ readonly oak_log: BlockLog;
3908
+ readonly spruce_log: BlockLog;
3909
+ readonly birch_log: BlockLog;
3910
+ readonly jungle_log: BlockLog;
3911
+ readonly acacia_log: BlockLog;
3912
+ readonly dark_oak_log: BlockLog;
3913
+ readonly stripped_oak_log: BlockStrippedLog;
3914
+ readonly stripped_spruce_log: BlockStrippedLog;
3915
+ readonly stripped_birch_log: BlockStrippedLog;
3916
+ readonly stripped_jungle_log: BlockStrippedLog;
3917
+ readonly stripped_acacia_log: BlockStrippedLog;
3918
+ readonly stripped_dark_oak_log: BlockStrippedLog;
3919
+ readonly stripped_oak_wood: BlockStrippedWood;
3920
+ readonly stripped_spruce_wood: BlockStrippedWood;
3921
+ readonly stripped_birch_wood: BlockStrippedWood;
3922
+ readonly stripped_jungle_wood: BlockStrippedWood;
3923
+ readonly stripped_acacia_wood: BlockStrippedWood;
3924
+ readonly stripped_dark_oak_wood: BlockStrippedWood;
3925
+ readonly oak_wood: BlockWood;
3926
+ readonly spruce_wood: BlockWood;
3927
+ readonly birch_wood: BlockWood;
3928
+ readonly jungle_wood: BlockWood;
3929
+ readonly acacia_wood: BlockWood;
3930
+ readonly dark_oak_wood: BlockWood;
3931
+ readonly oak_leaves: BlockLeaves;
3932
+ readonly spruce_leaves: BlockLeaves;
3933
+ readonly birch_leaves: BlockLeaves;
3934
+ readonly jungle_leaves: BlockLeaves;
3935
+ readonly acacia_leaves: BlockLeaves;
3936
+ readonly dark_oak_leaves: BlockLeaves;
3937
+ readonly sponge: BlockDefault;
3938
+ readonly glass: BlockGlass;
3939
+ readonly white_stained_glass: BlockGlass;
3940
+ readonly orange_stained_glass: BlockGlass;
3941
+ readonly magenta_stained_glass: BlockGlass;
3942
+ readonly light_blue_stained_glass: BlockGlass;
3943
+ readonly yellow_stained_glass: BlockGlass;
3944
+ readonly lime_stained_glass: BlockGlass;
3945
+ readonly pink_stained_glass: BlockGlass;
3946
+ readonly gray_stained_glass: BlockGlass;
3947
+ readonly light_gray_stained_glass: BlockGlass;
3948
+ readonly cyan_stained_glass: BlockGlass;
3949
+ readonly purple_stained_glass: BlockGlass;
3950
+ readonly blue_stained_glass: BlockGlass;
3951
+ readonly brown_stained_glass: BlockGlass;
3952
+ readonly green_stained_glass: BlockGlass;
3953
+ readonly red_stained_glass: BlockGlass;
3954
+ readonly black_stained_glass: BlockGlass;
3955
+ readonly coal_block: BlockDefault;
3956
+ readonly iron_block: BlockDefault;
3957
+ readonly gold_block: BlockDefault;
3958
+ readonly diamond_block: BlockDefault;
3959
+ readonly emerald_block: BlockDefault;
3960
+ readonly infernium_block: BlockDefault;
3961
+ readonly lapis_block: BlockDefault;
3962
+ readonly redstone_block: BlockRedstoneBlock;
3963
+ readonly marble_block: BlockMarble;
3964
+ readonly marble_pillar: BlockDefault;
3965
+ readonly chiseled_marble_block: BlockMarble$1;
3966
+ readonly sandstone: BlockSandStone;
3967
+ readonly chiseled_sandstone: BlockSandStone;
3968
+ readonly smooth_sandstone: BlockSandStone;
3969
+ readonly cut_sandstone: BlockSandStone;
3970
+ readonly red_sandstone: BlockSandStone;
3971
+ readonly chiseled_red_sandstone: BlockSandStone;
3972
+ readonly smooth_red_sandstone: BlockSandStone;
3973
+ readonly note_block: BlockDefault;
3974
+ readonly bookshelf: BlockBookshelf;
3975
+ readonly workbench: BlockWorkbench;
3976
+ readonly bricks: BlockDefault;
3977
+ readonly tnt: BlockTnt;
3978
+ readonly mossy_cobblestone: BlockDefault;
3979
+ readonly obsidian: BlockDefault;
3980
+ readonly cake: BlockCake;
3981
+ readonly cobweb: BlockWeb;
3982
+ readonly furnace: BlockFurnace;
3983
+ readonly grass: BlockShrub;
3984
+ readonly dead_bush: BlockShrub;
3985
+ readonly fern: BlockShrub;
3986
+ readonly white_wool: BlockWool;
3987
+ readonly orange_wool: BlockWool;
3988
+ readonly magenta_wool: BlockWool;
3989
+ readonly light_blue_wool: BlockWool;
3990
+ readonly yellow_wool: BlockWool;
3991
+ readonly lime_wool: BlockWool;
3992
+ readonly pink_wool: BlockWool;
3993
+ readonly gray_wool: BlockWool;
3994
+ readonly light_gray_wool: BlockWool;
3995
+ readonly cyan_wool: BlockWool;
3996
+ readonly purple_wool: BlockWool;
3997
+ readonly blue_wool: BlockWool;
3998
+ readonly brown_wool: BlockWool;
3999
+ readonly green_wool: BlockWool;
4000
+ readonly red_wool: BlockWool;
4001
+ readonly black_wool: BlockWool;
4002
+ readonly poppy: BlockShrub;
4003
+ readonly dandelion: BlockShrub;
4004
+ readonly blue_orchid: BlockShrub;
4005
+ readonly allium: BlockShrub;
4006
+ readonly azure_bluet: BlockShrub;
4007
+ readonly red_tulip: BlockShrub;
4008
+ readonly orange_tulip: BlockShrub;
4009
+ readonly white_tulip: BlockShrub;
4010
+ readonly pink_tulip: BlockShrub;
4011
+ readonly oxeye_daisy: BlockShrub;
4012
+ readonly red_mushroom: BlockMushroom;
4013
+ readonly brown_mushroom: BlockMushroom;
4014
+ readonly ice: BlockIce;
4015
+ readonly packed_ice: BlockPackedIce;
4016
+ readonly snow_block: BlockSnowBlock;
4017
+ readonly clay: BlockDefault;
4018
+ readonly jukebox: BlockJukebox;
4019
+ readonly pumpkin: BlockPumpkin;
4020
+ readonly carved_pumpkin: BlockCarvedPumpkin;
4021
+ readonly jack_o_lantern: BlockDefault;
4022
+ readonly hellstone: BlockHellstone;
4023
+ readonly soul_sand: BlockSoulSand;
4024
+ readonly glowstone: BlockGlowstone;
4025
+ readonly melon: BlockMelon;
4026
+ readonly fire: BlockFire;
4027
+ readonly slime_block: BlockSlime;
4028
+ readonly hay_block: BlockRotatedPillar;
4029
+ readonly terracotta: BlockHardenedClay;
4030
+ readonly white_terracotta: BlockHardenedClay;
4031
+ readonly orange_terracotta: BlockHardenedClay;
4032
+ readonly magenta_terracotta: BlockHardenedClay;
4033
+ readonly light_blue_terracotta: BlockHardenedClay;
4034
+ readonly yellow_terracotta: BlockHardenedClay;
4035
+ readonly lime_terracotta: BlockHardenedClay;
4036
+ readonly pink_terracotta: BlockHardenedClay;
4037
+ readonly gray_terracotta: BlockHardenedClay;
4038
+ readonly light_gray_terracotta: BlockHardenedClay;
4039
+ readonly cyan_terracotta: BlockHardenedClay;
4040
+ readonly purple_terracotta: BlockHardenedClay;
4041
+ readonly blue_terracotta: BlockHardenedClay;
4042
+ readonly brown_terracotta: BlockHardenedClay;
4043
+ readonly green_terracotta: BlockHardenedClay;
4044
+ readonly red_terracotta: BlockHardenedClay;
4045
+ readonly black_terracotta: BlockHardenedClay;
4046
+ readonly white_concrete: BlockConcrete;
4047
+ readonly orange_concrete: BlockConcrete;
4048
+ readonly magenta_concrete: BlockConcrete;
4049
+ readonly light_blue_concrete: BlockConcrete;
4050
+ readonly yellow_concrete: BlockConcrete;
4051
+ readonly lime_concrete: BlockConcrete;
4052
+ readonly pink_concrete: BlockConcrete;
4053
+ readonly gray_concrete: BlockConcrete;
4054
+ readonly light_gray_concrete: BlockConcrete;
4055
+ readonly cyan_concrete: BlockConcrete;
4056
+ readonly purple_concrete: BlockConcrete;
4057
+ readonly blue_concrete: BlockConcrete;
4058
+ readonly brown_concrete: BlockConcrete;
4059
+ readonly green_concrete: BlockConcrete;
4060
+ readonly red_concrete: BlockConcrete;
4061
+ readonly black_concrete: BlockConcrete;
4062
+ readonly stone_bricks: BlockDefault;
4063
+ readonly smooth_stone: BlockDefault;
4064
+ readonly mossy_stone_bricks: BlockDefault;
4065
+ readonly cracked_stone_bricks: BlockDefault;
4066
+ readonly chiseled_stone_bricks: BlockDefault;
4067
+ readonly brown_mushroom_block: BlockHugeMushroom;
4068
+ readonly red_mushroom_block: BlockHugeMushroom;
4069
+ readonly stem_mushroom_block: BlockHugeMushroom;
4070
+ readonly hell_bricks: BlockDefault;
4071
+ readonly aquastone: BlockDefault;
4072
+ readonly aquastone_bricks: BlockDefault;
4073
+ readonly dark_aquastone: BlockDefault;
4074
+ readonly end_stone: BlockDefault;
4075
+ readonly end_stone_bricks: BlockDefault;
4076
+ readonly stone_slab: BlockHalfStoneSlab;
4077
+ readonly stone_brick_slab: BlockHalfStoneSlab;
4078
+ readonly smooth_stone_slab: BlockHalfStoneSlab;
4079
+ readonly marble_slab: BlockHalfStoneSlab;
4080
+ readonly oak_slab: BlockHalfWoodSlab;
4081
+ readonly spruce_slab: BlockHalfWoodSlab;
4082
+ readonly birch_slab: BlockHalfWoodSlab;
4083
+ readonly jungle_slab: BlockHalfWoodSlab;
4084
+ readonly acacia_slab: BlockHalfWoodSlab;
4085
+ readonly dark_oak_slab: BlockHalfWoodSlab;
4086
+ readonly cobblestone_slab: BlockHalfStoneSlab$1;
4087
+ readonly brick_slab: BlockHalfBrickSlab;
4088
+ readonly sandstone_slab: BlockHalfSandstoneSlab;
4089
+ readonly red_sandstone_slab: BlockHalfSandstoneSlab;
4090
+ readonly granite_slab: BlockHalfStoneSlab;
4091
+ readonly diorite_slab: BlockHalfStoneSlab;
4092
+ readonly andesite_slab: BlockHalfStoneSlab;
4093
+ readonly oak_stairs: BlockStairs;
4094
+ readonly spruce_stairs: BlockStairs;
4095
+ readonly birch_stairs: BlockStairs;
4096
+ readonly jungle_stairs: BlockStairs;
4097
+ readonly acacia_stairs: BlockStairs;
4098
+ readonly dark_oak_stairs: BlockStairs;
4099
+ readonly stone_stairs: BlockStairs;
4100
+ readonly cobblestone_stairs: BlockStairs;
4101
+ readonly brick_stairs: BlockStairs;
4102
+ readonly stone_brick_stairs: BlockStairs;
4103
+ readonly hell_brick_stairs: BlockStairs;
4104
+ readonly sandstone_stairs: BlockStairs;
4105
+ readonly smooth_sandstone_stairs: BlockStairs;
4106
+ readonly red_sandstone_stairs: BlockStairs;
4107
+ readonly smooth_red_sandstone_stairs: BlockStairs;
4108
+ readonly marble_stairs: BlockStairs;
4109
+ readonly smooth_marble_stairs: BlockStairs;
4110
+ readonly andesite_stairs: BlockStairs;
4111
+ readonly diorite_stairs: BlockStairs;
4112
+ readonly granite_stairs: BlockStairs;
4113
+ readonly polished_andesite_stairs: BlockStairs;
4114
+ readonly polished_diorite_stairs: BlockStairs;
4115
+ readonly polished_granite_stairs: BlockStairs;
4116
+ readonly end_stone_brick_stairs: BlockStairs;
4117
+ readonly aquastone_stairs: BlockStairs;
4118
+ readonly aquastone_brick_stairs: BlockStairs;
4119
+ readonly dark_aquastone_stairs: BlockStairs;
4120
+ readonly mossy_cobblestone_stairs: BlockStairs;
4121
+ readonly mossy_stone_brick_stairs: BlockStairs;
4122
+ readonly cactus: BlockCactus;
4123
+ readonly ladder: BlockLadder;
4124
+ readonly iron_ladder: BlockLadder;
4125
+ readonly vine: BlockVine;
4126
+ readonly sea_lantern: BlockDefault;
4127
+ readonly command_block: BlockCommandBlock;
4128
+ readonly oak_door: BlockDoor;
4129
+ readonly spruce_door: BlockDoor;
4130
+ readonly birch_door: BlockDoor;
4131
+ readonly jungle_door: BlockDoor;
4132
+ readonly acacia_door: BlockDoor;
4133
+ readonly dark_oak_door: BlockDoor;
4134
+ readonly iron_door: BlockDoor;
4135
+ readonly white_carpet: BlockCarpet;
4136
+ readonly orange_carpet: BlockCarpet;
4137
+ readonly magenta_carpet: BlockCarpet;
4138
+ readonly light_blue_carpet: BlockCarpet;
4139
+ readonly yellow_carpet: BlockCarpet;
4140
+ readonly lime_carpet: BlockCarpet;
4141
+ readonly pink_carpet: BlockCarpet;
4142
+ readonly gray_carpet: BlockCarpet;
4143
+ readonly light_gray_carpet: BlockCarpet;
4144
+ readonly cyan_carpet: BlockCarpet;
4145
+ readonly purple_carpet: BlockCarpet;
4146
+ readonly blue_carpet: BlockCarpet;
4147
+ readonly brown_carpet: BlockCarpet;
4148
+ readonly green_carpet: BlockCarpet;
4149
+ readonly red_carpet: BlockCarpet;
4150
+ readonly black_carpet: BlockCarpet;
4151
+ readonly muck: BlockMuck;
4152
+ readonly snow: BlockSnow;
4153
+ readonly enchanting_table: BlockEnchantmentTable;
4154
+ readonly chest: BlockChest;
4155
+ readonly ender_chest: BlockEnderChest;
4156
+ readonly acacia_sign: BlockStandingSign;
4157
+ readonly birch_sign: BlockStandingSign;
4158
+ readonly dark_oak_sign: BlockStandingSign;
4159
+ readonly jungle_sign: BlockStandingSign;
4160
+ readonly oak_sign: BlockStandingSign;
4161
+ readonly spruce_sign: BlockStandingSign;
4162
+ readonly acacia_wall_sign: BlockWallSign;
4163
+ readonly birch_wall_sign: BlockWallSign;
4164
+ readonly dark_oak_wall_sign: BlockWallSign;
4165
+ readonly jungle_wall_sign: BlockWallSign;
4166
+ readonly oak_wall_sign: BlockWallSign;
4167
+ readonly spruce_wall_sign: BlockWallSign;
4168
+ readonly sticky_piston: BlockPistonBase;
4169
+ readonly piston: BlockPistonBase;
4170
+ readonly piston_head: BlockPistonExtension;
4171
+ readonly moving_piston: BlockPistonMoving;
4172
+ readonly barrier: BlockBarrier;
4173
+ readonly farmland: BlockFarmland;
4174
+ readonly wheat: BlockCrops;
4175
+ readonly carrots: BlockCarrot;
4176
+ readonly potatoes: BlockPotato;
4177
+ readonly hell_fungus: BlockHellFungus;
4178
+ readonly redstone_wire: BlockRedstoneWire;
4179
+ readonly lever: BlockLever;
4180
+ readonly stone_button: BlockButtonStone;
4181
+ readonly oak_button: BlockButtonWood;
4182
+ readonly spruce_button: BlockButtonWood;
4183
+ readonly birch_button: BlockButtonWood;
4184
+ readonly jungle_button: BlockButtonWood;
4185
+ readonly acacia_button: BlockButtonWood;
4186
+ readonly dark_oak_button: BlockButtonWood;
4187
+ readonly torch: BlockTorch;
4188
+ readonly wall_torch: BlockWallTorch;
4189
+ readonly redstone_torch: BlockRedstoneTorch;
4190
+ readonly redstone_wall_torch: BlockRedstoneWallTorch;
4191
+ readonly repeater: BlockRedstoneRepeater;
4192
+ readonly comparator: BlockRedstoneComparator;
4193
+ readonly redstone_lamp: BlockRedstoneLight;
4194
+ readonly stone_pressure_plate: BlockPressurePlate;
4195
+ readonly oak_pressure_plate: BlockPressurePlate;
4196
+ readonly spruce_pressure_plate: BlockPressurePlate;
4197
+ readonly birch_pressure_plate: BlockPressurePlate;
4198
+ readonly jungle_pressure_plate: BlockPressurePlate;
4199
+ readonly acacia_pressure_plate: BlockPressurePlate;
4200
+ readonly dark_oak_pressure_plate: BlockPressurePlate;
4201
+ readonly light_weighted_pressure_plate: BlockPressurePlateWeighted;
4202
+ readonly heavy_weighted_pressure_plate: BlockPressurePlateWeighted;
4203
+ readonly oak_fence: BlockFence;
4204
+ readonly spruce_fence: BlockFence;
4205
+ readonly birch_fence: BlockFence;
4206
+ readonly jungle_fence: BlockFence;
4207
+ readonly acacia_fence: BlockFence;
4208
+ readonly dark_oak_fence: BlockFence;
4209
+ readonly hell_brick_fence: BlockFence;
4210
+ readonly oak_fence_gate: BlockFenceGate;
4211
+ readonly spruce_fence_gate: BlockFenceGate;
4212
+ readonly birch_fence_gate: BlockFenceGate;
4213
+ readonly jungle_fence_gate: BlockFenceGate;
4214
+ readonly acacia_fence_gate: BlockFenceGate;
4215
+ readonly dark_oak_fence_gate: BlockFenceGate;
4216
+ readonly andesite_wall: BlockWall;
4217
+ readonly blackstone_wall: BlockWall;
4218
+ readonly brick_wall: BlockWall;
4219
+ readonly cobblestone_wall: BlockWall;
4220
+ readonly diorite_wall: BlockWall;
4221
+ readonly end_stone_brick_wall: BlockWall;
4222
+ readonly granite_wall: BlockWall;
4223
+ readonly mossy_cobblestone_wall: BlockWall;
4224
+ readonly mossy_stone_brick_wall: BlockWall;
4225
+ readonly hell_brick_wall: BlockWall;
4226
+ readonly red_hell_brick_wall: BlockWall;
4227
+ readonly sandstone_wall: BlockWall;
4228
+ readonly stone_brick_wall: BlockWall;
4229
+ readonly red_sandstone_wall: BlockWall;
4230
+ readonly aquastone_wall: BlockWall;
4231
+ readonly iron_bars: BlockPane;
4232
+ readonly glass_pane: BlockPane;
4233
+ readonly white_stained_glass_pane: BlockPane;
4234
+ readonly orange_stained_glass_pane: BlockPane;
4235
+ readonly magenta_stained_glass_pane: BlockPane;
4236
+ readonly light_blue_stained_glass_pane: BlockPane;
4237
+ readonly yellow_stained_glass_pane: BlockPane;
4238
+ readonly lime_stained_glass_pane: BlockPane;
4239
+ readonly pink_stained_glass_pane: BlockPane;
4240
+ readonly gray_stained_glass_pane: BlockPane;
4241
+ readonly light_gray_stained_glass_pane: BlockPane;
4242
+ readonly cyan_stained_glass_pane: BlockPane;
4243
+ readonly purple_stained_glass_pane: BlockPane;
4244
+ readonly blue_stained_glass_pane: BlockPane;
4245
+ readonly brown_stained_glass_pane: BlockPane;
4246
+ readonly green_stained_glass_pane: BlockPane;
4247
+ readonly red_stained_glass_pane: BlockPane;
4248
+ readonly black_stained_glass_pane: BlockPane;
4249
+ readonly pumpkin_stem: BlockStem;
4250
+ readonly melon_stem: BlockStem;
4251
+ readonly cauldron: BlockCauldron;
4252
+ readonly water_cauldron: BlockCauldron;
4253
+ readonly oak_trapdoor: BlockTrapDoor;
4254
+ readonly spruce_trapdoor: BlockTrapDoor;
4255
+ readonly birch_trapdoor: BlockTrapDoor;
4256
+ readonly jungle_trapdoor: BlockTrapDoor;
4257
+ readonly acacia_trapdoor: BlockTrapDoor;
4258
+ readonly dark_oak_trapdoor: BlockTrapDoor;
4259
+ readonly iron_trapdoor: BlockTrapDoor;
4260
+ readonly lily_pad: BlockLilyPad;
4261
+ readonly dragon_egg: BlockDragonEgg;
4262
+ readonly anvil: BlockAnvil;
4263
+ readonly dispenser: BlockDispenser;
4264
+ readonly white_bed: BlockBed;
4265
+ readonly orange_bed: BlockBed;
4266
+ readonly magenta_bed: BlockBed;
4267
+ readonly light_blue_bed: BlockBed;
4268
+ readonly yellow_bed: BlockBed;
4269
+ readonly lime_bed: BlockBed;
4270
+ readonly pink_bed: BlockBed;
4271
+ readonly gray_bed: BlockBed;
4272
+ readonly light_gray_bed: BlockBed;
4273
+ readonly cyan_bed: BlockBed;
4274
+ readonly purple_bed: BlockBed;
4275
+ readonly blue_bed: BlockBed;
4276
+ readonly brown_bed: BlockBed;
4277
+ readonly green_bed: BlockBed;
4278
+ readonly red_bed: BlockBed;
4279
+ readonly black_bed: BlockBed;
4280
+ readonly reeds: BlockReed;
4281
+ readonly bone_block: BlockRotatedPillar;
4282
+ readonly hell_portal: BlockHellPortal;
4283
+ readonly cloud_block: BlockCloud;
4284
+ readonly [key: string]: Block$1;
4285
+ };
4286
+ //#endregion
4287
+ //#region src/network/clientSocket.d.ts
4288
+ declare interface EventMap {
4289
+ disconnect: string;
4290
+ CPacketAnimation: CPacketAnimation;
4291
+ CPacketBlockAction: CPacketBlockAction;
4292
+ CPacketBlockUpdate: CPacketBlockUpdate;
4293
+ CPacketChangeServers: CPacketChangeServers;
4294
+ CPacketChunkData: CPacketChunkData;
4295
+ CPacketCloseWindow: CPacketCloseWindow;
4296
+ CPacketConfirmTransaction: CPacketConfirmTransaction;
4297
+ CPacketDestroyEntities: CPacketDestroyEntities;
4298
+ CPacketDisconnect: CPacketDisconnect;
4299
+ CPacketEntityAction: CPacketEntityAction;
4300
+ CPacketEntityEquipment: CPacketEntityEquipment;
4301
+ CPacketEntityMetadata: CPacketEntityMetadata;
4302
+ CPacketEntityPositionAndRotation: CPacketEntityPositionAndRotation;
4303
+ CPacketEntityRelativePositionAndRotation: CPacketEntityRelativePositionAndRotation;
4304
+ CPacketEntityStatus: CPacketEntityStatus;
4305
+ CPacketEntityVelocity: CPacketEntityVelocity;
4306
+ CPacketExplosion: CPacketExplosion;
4307
+ CPacketJoinGame: CPacketJoinGame;
4308
+ CPacketLeaderboard: CPacketLeaderboard;
4309
+ CPacketLocalStorage: CPacketLocalStorage;
4310
+ CPacketMessage: CPacketMessage;
4311
+ CPacketOpenWindow: CPacketOpenWindow;
4312
+ CPacketParticles: CPacketParticles;
4313
+ CPacketPlayerList: CPacketPlayerList;
4314
+ CPacketPlayerPosition: CPacketPlayerPosition;
4315
+ CPacketPlayerPosLook: CPacketPlayerPosLook;
4316
+ CPacketPlayerReconciliation: CPacketPlayerReconciliation;
4317
+ CPacketPong: CPacketPong;
4318
+ CPacketRespawn: CPacketRespawn;
4319
+ CPacketScoreboard: CPacketScoreboard;
4320
+ CPacketServerInfo: CPacketServerInfo;
4321
+ CPacketSetSlot: CPacketSetSlot;
4322
+ CPacketSignEditorOpen: CPacketSignEditorOpen;
4323
+ CPacketSoundEffect: CPacketSoundEffect;
4324
+ CPacketSpawnEntity: CPacketSpawnEntity;
4325
+ CPacketSpawnPlayer: CPacketSpawnPlayer;
4326
+ CPacketTabComplete: CPacketTabComplete;
4327
+ CPacketTitle: CPacketTitle;
4328
+ CPacketUpdate: CPacketUpdate;
4329
+ CPacketUpdateHealth: CPacketUpdateHealth;
4330
+ CPacketUpdateLeaderboard: CPacketUpdateLeaderboard;
4331
+ CPacketUpdateScoreboard: CPacketUpdateScoreboard;
4332
+ CPacketUpdateSign: CPacketUpdateSign;
4333
+ CPacketUpdateStatus: CPacketUpdateStatus;
4334
+ CPacketWindowItems: CPacketWindowItems;
4335
+ CPacketWindowProperty: CPacketWindowProperty;
4336
+ CPacketUseBed: CPacketUseBed;
4337
+ CPacketQueueNext: CPacketQueueNext;
4338
+ CPacketSpawnExperienceOrb: CPacketSpawnExperienceOrb;
4339
+ CPacketSetExperience: CPacketSetExperience;
4340
+ CPacketOpenShop: CPacketOpenShop;
4341
+ CPacketShopProperties: CPacketShopProperties;
4342
+ CPacketEntityProperties: CPacketEntityProperties;
4343
+ CPacketEntityEffect: CPacketEntityEffect;
4344
+ CPacketRemoveEntityEffect: CPacketRemoveEntityEffect;
4345
+ CPacketUpdateCommandBlock: CPacketUpdateCommandBlock;
4346
+ CPacketEntityAttach: CPacketEntityAttach;
4347
+ CPacketServerMetadata: CPacketServerMetadata;
4348
+ CPacketTimeUpdate: CPacketTimeUpdate;
4349
+ ClientBoundCombined: ClientBoundCombined; // biome-ignore lint/suspicious/noConfusingVoidType: used as a parameter + I'm bored
4350
+ connect: void;
4351
+ }
4352
+ type thing<T> = T extends void ? () => void : (data: T) => void; // biome-ignore lint/complexity/noStaticOnlyClass: this is Miniblox's code, not mine.
4353
+ declare class ClientSocket {
4354
+ static socket: Socket;
4355
+ static disconnectMessage?: string;
4356
+ /**
4357
+ * @param url server URI/URL
4358
+ * @param path defaults to `/socket.io`
4359
+ */
4360
+ static setUrl(url: string, path?: string): void;
4361
+ static connect(): void;
4362
+ static disconnect(message: string): void;
4363
+ static once<T>(name: T, callback: thing<EventMap[T]>): void;
4364
+ static on<T>(name: T, callback: (data: thing<EventMap[T]>) => void): void;
4365
+ static sendPacket(packet: C2SPacket): void;
4366
+ }
4367
+ //#endregion
4368
+ //#region src/utils/Utils.d.ts
4369
+ declare function keyPressed(key: string): boolean;
4370
+ declare function canCraftItem(
4371
+ inventory: InventoryPlayer,
4372
+ recipe: Recipe,
4373
+ ): boolean;
4374
+ declare function craftItem(
4375
+ inventory: InventoryPlayer,
4376
+ recipe: Recipe,
4377
+ shiftDown: boolean,
4378
+ ): void;
4379
+ type ItemID = number;
4380
+ interface Result {
4381
+ count: number;
4382
+ id: ItemID;
4383
+ }
4384
+ type Shape = ItemID[][];
4385
+ type OptionalShape = (ItemID | undefined)[][];
4386
+ interface WithResult {
4387
+ result: Result;
4388
+ }
4389
+ interface WithIngredients extends WithResult {
4390
+ ingredients: ItemID[];
4391
+ }
4392
+ interface WithShape extends WithResult {
4393
+ inShape: Shape;
4394
+ }
4395
+ interface WithOptionalShape extends WithResult {
4396
+ inShape: OptionalShape;
4397
+ }
4398
+ interface WithOptionalShapeAndIngredients extends WithResult {
4399
+ inShape?: Shape;
4400
+ ingredients?: ItemID[];
4401
+ }
4402
+ type Recipe =
4403
+ | WithIngredients
4404
+ | WithShape
4405
+ | WithOptionalShape
4406
+ | WithOptionalShapeAndIngredients;
4407
+ // Recipe registry
4408
+ declare type RecipeRegistry = Record<number, Recipe[]>;
4409
+ interface Level {
4410
+ owner: RankLevel;
4411
+ admin: RankLevel;
4412
+ goat: RankLevel;
4413
+ janitor: RankLevel;
4414
+ mod: RankLevel;
4415
+ helper: RankLevel;
4416
+ youtube: RankLevel;
4417
+ builder: RankLevel;
4418
+ og: RankLevel;
4419
+ immortal: RankLevel;
4420
+ legend: RankLevel;
4421
+ pro: RankLevel;
4422
+ [rank: string]: RankLevel;
4423
+ }
4424
+ interface RankLevel {
4425
+ /** CSS Color string */
4426
+ color: string;
4427
+ permLevel: number;
4428
+ rankLevel: number;
4429
+ }
4430
+ // Rank system
4431
+ declare const RANK: {
4432
+ LEVEL: Level;
4433
+ };
4434
+ // Ray tracing
4435
+ declare function rayTraceBlocks(
4436
+ start: Vector3$2,
4437
+ end: Vector3$2,
4438
+ stopOnLiquid: boolean,
4439
+ ignoreBlockWithoutBoundingBox: boolean,
4440
+ returnLastUncollidableBlock: boolean,
4441
+ world: World$1,
4442
+ ): RayTraceResult | null;
4443
+ // Block collision utilities
4444
+ declare function calculateXOffset(
4445
+ self: Box3$1,
4446
+ other: Box3$1,
4447
+ offset: number,
4448
+ ): number;
4449
+ declare function calculateYOffset(
4450
+ self: Box3$1,
4451
+ other: Box3$1,
4452
+ offset: number,
4453
+ ): number;
4454
+ declare function calculateZOffset(
4455
+ self: Box3$1,
4456
+ other: Box3$1,
4457
+ offset: number,
4458
+ ): number;
4459
+
4460
+ //#endregion
4461
+ export {
4462
+ Abilities,
4463
+ AllBlocks,
4464
+ AnimationKeyframe,
4465
+ AnimationLerp,
4466
+ AnyPacket$1 as AnyPacket,
4467
+ AttributeMap,
4468
+ Axis,
4469
+ AxisDirection,
4470
+ BanPlayer,
4471
+ Block$1 as Block,
4472
+ BlockChest,
4473
+ BlockPos$1 as BlockPos,
4474
+ BlockState$1 as BlockState,
4475
+ C2SPacket,
4476
+ Chat,
4477
+ ChatData,
4478
+ ChatLog,
4479
+ Chunk,
4480
+ ChunkProviderClient$1 as ChunkProviderClient,
4481
+ ClientBoundCombined_CPacket,
4482
+ ClientBoundCombined$1 as ClientBoundCombined,
4483
+ ClientEntityPlayer,
4484
+ ClientEntityPlayerOther,
4485
+ ClientSocket,
4486
+ ClientWorld,
4487
+ CombatTracker,
4488
+ CommandBlockLogic,
4489
+ Container,
4490
+ ContainerPlayer,
4491
+ CPACKET_MAP,
4492
+ CPacketAnimation$1 as CPacketAnimation,
4493
+ CPacketBlockAction$1 as CPacketBlockAction,
4494
+ CPacketBlockUpdate$1 as CPacketBlockUpdate,
4495
+ CPacketChangeServers$1 as CPacketChangeServers,
4496
+ CPacketChunkData$1 as CPacketChunkData,
4497
+ CPacketCloseWindow$1 as CPacketCloseWindow,
4498
+ CPacketConfirmTransaction$1 as CPacketConfirmTransaction,
4499
+ CPacketDestroyEntities$1 as CPacketDestroyEntities,
4500
+ CPacketDisconnect$1 as CPacketDisconnect,
4501
+ CPacketEntityAction$1 as CPacketEntityAction,
4502
+ CPacketEntityAttach$1 as CPacketEntityAttach,
4503
+ CPacketEntityEffect$1 as CPacketEntityEffect,
4504
+ CPacketEntityEquipment$1 as CPacketEntityEquipment,
4505
+ CPacketEntityMetadata$1 as CPacketEntityMetadata,
4506
+ CPacketEntityPositionAndRotation$1 as CPacketEntityPositionAndRotation,
4507
+ CPacketEntityProperties$1 as CPacketEntityProperties,
4508
+ CPacketEntityRelativePositionAndRotation$1 as CPacketEntityRelativePositionAndRotation,
4509
+ CPacketEntityStatus$1 as CPacketEntityStatus,
4510
+ CPacketEntityVelocity$1 as CPacketEntityVelocity,
4511
+ CPacketExplosion$1 as CPacketExplosion,
4512
+ CPacketJoinGame$1 as CPacketJoinGame,
4513
+ CPacketLeaderboard$1 as CPacketLeaderboard,
4514
+ CPacketLocalStorage_Action,
4515
+ CPacketLocalStorage$1 as CPacketLocalStorage,
4516
+ CPacketMessage$1 as CPacketMessage,
4517
+ CPacketOpenShop$1 as CPacketOpenShop,
4518
+ CPacketOpenWindow$1 as CPacketOpenWindow,
4519
+ CPacketParticles$1 as CPacketParticles,
4520
+ CPacketPlayerList$1 as CPacketPlayerList,
4521
+ CPacketPlayerPosition$1 as CPacketPlayerPosition,
4522
+ CPacketPlayerPosLook$1 as CPacketPlayerPosLook,
4523
+ CPacketPlayerReconciliation$1 as CPacketPlayerReconciliation,
4524
+ CPacketPong$1 as CPacketPong,
4525
+ CPacketQueueNext$1 as CPacketQueueNext,
4526
+ CPacketRemoveEntityEffect$1 as CPacketRemoveEntityEffect,
4527
+ CPacketRespawn$1 as CPacketRespawn,
4528
+ CPacketScoreboard$1 as CPacketScoreboard,
4529
+ CPacketServerInfo$1 as CPacketServerInfo,
4530
+ CPacketServerMetadata$1 as CPacketServerMetadata,
4531
+ CPacketSetExperience$1 as CPacketSetExperience,
4532
+ CPacketSetSlot$1 as CPacketSetSlot,
4533
+ CPacketShopProperties$1 as CPacketShopProperties,
4534
+ CPacketShopProperty,
4535
+ CPacketSignEditorOpen$1 as CPacketSignEditorOpen,
4536
+ CPacketSoundEffect$1 as CPacketSoundEffect,
4537
+ CPacketSpawnEntity$1 as CPacketSpawnEntity,
4538
+ CPacketSpawnExperienceOrb$1 as CPacketSpawnExperienceOrb,
4539
+ CPacketSpawnPlayer$1 as CPacketSpawnPlayer,
4540
+ CPacketTabComplete$1 as CPacketTabComplete,
4541
+ CPacketTimeUpdate$1 as CPacketTimeUpdate,
4542
+ CPacketTitle$1 as CPacketTitle,
4543
+ CPacketUpdate$1 as CPacketUpdate,
4544
+ CPacketUpdateCommandBlock$1 as CPacketUpdateCommandBlock,
4545
+ CPacketUpdateHealth$1 as CPacketUpdateHealth,
4546
+ CPacketUpdateLeaderboard$1 as CPacketUpdateLeaderboard,
4547
+ CPacketUpdateScoreboard$1 as CPacketUpdateScoreboard,
4548
+ CPacketUpdateSign$1 as CPacketUpdateSign,
4549
+ CPacketUpdateStatus$1 as CPacketUpdateStatus,
4550
+ CPacketUseBed$1 as CPacketUseBed,
4551
+ CPacketWindowItems$1 as CPacketWindowItems,
4552
+ CPacketWindowProperty$1 as CPacketWindowProperty,
4553
+ calculateXOffset,
4554
+ calculateYOffset,
4555
+ calculateZOffset,
4556
+ canCraftItem,
4557
+ craftItem,
4558
+ DamageSource,
4559
+ DataWatcher,
4560
+ DemotePlayer,
4561
+ EffectRenderer$1 as EffectRenderer,
4562
+ EffectsManager,
4563
+ EmptyChunk$1 as EmptyChunk,
4564
+ Enchantment,
4565
+ EnchantmentData,
4566
+ EnchantmentProtection,
4567
+ Enchantments,
4568
+ Entity$1 as Entity,
4569
+ EntityArrow,
4570
+ EntityFX,
4571
+ EntityItem$1 as EntityItem,
4572
+ EntityLivingBase$1 as EntityLivingBase,
4573
+ EntityName,
4574
+ EntityPlayer$1 as EntityPlayer,
4575
+ EnumCreatureAttribute,
4576
+ EnumDifficulty,
4577
+ EnumEnchantmentType,
4578
+ EnumFacing$1 as EnumFacing,
4579
+ EnumParticleTypes$1 as EnumParticleTypes,
4580
+ Equipment,
4581
+ Equipment_Slot$1 as Equipment_Slot,
4582
+ EventMap,
4583
+ Explosion$1 as Explosion,
4584
+ Font,
4585
+ FontLoader,
4586
+ FoodStats,
4587
+ Game,
4588
+ GameInfo,
4589
+ GameMode,
4590
+ GameProfile,
4591
+ GameScene$1 as GameScene,
4592
+ GameState,
4593
+ Hud3D,
4594
+ IChunkProvider,
4595
+ ICrafting,
4596
+ ID_TO_NAME,
4597
+ ID_TO_PACKET,
4598
+ IInterface,
4599
+ Inventory$1 as Inventory,
4600
+ InventoryBasic,
4601
+ InventoryEnderChest,
4602
+ InventoryPlayer,
4603
+ Item$1 as Item,
4604
+ ItemAppleGold,
4605
+ ItemArmor,
4606
+ ItemBlock,
4607
+ ItemBow,
4608
+ ItemFood,
4609
+ ItemID,
4610
+ ItemPickaxe,
4611
+ ItemStack$1 as ItemStack,
4612
+ ItemSword,
4613
+ Items,
4614
+ ItemTool,
4615
+ KickPlayer,
4616
+ keyPressed,
4617
+ Level,
4618
+ Material,
4619
+ Materials,
4620
+ Message,
4621
+ NAME_TO_ID,
4622
+ OptionalShape,
4623
+ Options,
4624
+ Options$1,
4625
+ PBBlockPos,
4626
+ PBCell,
4627
+ PBCosmetics,
4628
+ PBFloatVector3,
4629
+ PBItemStack,
4630
+ PBModifier,
4631
+ PBSnapshot,
4632
+ PBTileEntity,
4633
+ PBVector3,
4634
+ PBWatchableObject,
4635
+ Perspective,
4636
+ Plane,
4637
+ PlayerController,
4638
+ PlayerControllerMP,
4639
+ PlayerData,
4640
+ PlayerMovement,
4641
+ PlayerPermissionEntry,
4642
+ Potion,
4643
+ PotionEffect,
4644
+ Potions,
4645
+ Profile,
4646
+ PromotePlayer,
4647
+ RANK,
4648
+ RankLevel,
4649
+ RayTraceResult,
4650
+ Recipe,
4651
+ RecipeRegistry,
4652
+ RenderEntity,
4653
+ RenderLivingEntity,
4654
+ RenderPlayer,
4655
+ ResourceMonitor,
4656
+ Result,
4657
+ rayTraceBlocks,
4658
+ S2CPacket,
4659
+ ScoreboardContent,
4660
+ ServerInfo,
4661
+ Shape,
4662
+ Slot,
4663
+ SlotActionType,
4664
+ SPACKET_MAP,
4665
+ SPacketAdminAction,
4666
+ SPacketAnalytics,
4667
+ SPacketBreakBlock,
4668
+ SPacketClick,
4669
+ SPacketClickWindow,
4670
+ SPacketCloseWindow,
4671
+ SPacketConfirmTransaction,
4672
+ SPacketCraftItem,
4673
+ SPacketEnchantItem,
4674
+ SPacketEntityAction,
4675
+ SPacketHeldItemChange,
4676
+ SPacketLoginStart,
4677
+ SPacketMessage,
4678
+ SPacketOpenShop,
4679
+ SPacketPing,
4680
+ SPacketPlaceBlock,
4681
+ SPacketPlayerAbilities,
4682
+ SPacketPlayerAction,
4683
+ SPacketPlayerInput,
4684
+ SPacketPlayerPosLook,
4685
+ SPacketQueueNext,
4686
+ SPacketRequestChunk,
4687
+ SPacketRespawn,
4688
+ SPacketRespawn$1,
4689
+ SPacketTabComplete$1,
4690
+ SPacketUpdateCommandBlock,
4691
+ SPacketUpdateInventory,
4692
+ SPacketUpdateSign,
4693
+ SPacketUseEntity,
4694
+ SPacketUseItem,
4695
+ StopServer,
4696
+ Team$1 as Team,
4697
+ TextureManager,
4698
+ TileEntitySign,
4699
+ TypeOfHit,
4700
+ UnbanPlayer,
4701
+ UpdateAccessControl,
4702
+ UpdateCheats,
4703
+ UpdatePvP,
4704
+ Vector3$1 as Vector3,
4705
+ WithIngredients,
4706
+ WithOptionalShape,
4707
+ WithOptionalShapeAndIngredients,
4708
+ WithResult,
4709
+ WithShape,
4710
+ World$1 as World,
4711
+ };