@serenityjs/protocol 0.4.2-beta-20240813200021 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +527 -88
  2. package/dist/index.js +2006 -1225
  3. package/package.json +6 -6
package/dist/index.d.ts CHANGED
@@ -628,7 +628,7 @@ declare enum ModalFormCanceledReason {
628
628
  Busy = 1
629
629
  }
630
630
 
631
- declare enum ItemStackActionType {
631
+ declare enum ItemStackRequestActionType {
632
632
  Take = 0,
633
633
  Place = 1,
634
634
  Swap = 2,
@@ -636,19 +636,23 @@ declare enum ItemStackActionType {
636
636
  Destroy = 4,
637
637
  Consume = 5,
638
638
  Create = 6,
639
- PlaceInContainer = 7,
640
- TakeFromContainer = 8,
641
- LabTableCombine = 9,
642
- BeaconPayment = 10,
643
- MineBlock = 11,
639
+ PlaceInItemContainer_DEPRECATED = 7,
640
+ TakeFromItemContainer_DEPRECATED = 8,
641
+ ScreenLabTableCombine = 9,
642
+ ScreenBeaconPayment = 10,
643
+ ScreenHUDMineBlock = 11,
644
644
  CraftRecipe = 12,
645
645
  CraftRecipeAuto = 13,
646
646
  CraftCreative = 14,
647
- Optional = 15,
648
- CraftGrindstoneRequest = 16,
649
- CraftLoomRequest = 17,
650
- NonImplemented = 18,
651
- ResultsDeprecated = 19
647
+ CraftRecipeOptional = 15,
648
+ CraftRepairAndDisenchant = 16,
649
+ CraftLoom = 17,
650
+ CraftNonImplemented_DEPRECATEDASKTYLAING = 18,
651
+ CraftResults_DEPRECATEDASKTYLAING = 19,
652
+ ifdef = 20,
653
+ TEST_INFRASTRUCTURE_ENABLED = 21,
654
+ Test = 22,
655
+ endif = 23
652
656
  }
653
657
 
654
658
  declare enum ItemStackStatus {
@@ -2089,6 +2093,12 @@ declare enum GeneratorType {
2089
2093
  Void = 5
2090
2094
  }
2091
2095
 
2096
+ declare enum TriggerType {
2097
+ Unknown = 0,
2098
+ PlayerInput = 1,
2099
+ SimulationTick = 2
2100
+ }
2101
+
2092
2102
  declare class LoginTokens extends DataType {
2093
2103
  client: string;
2094
2104
  identity: string;
@@ -2954,89 +2964,47 @@ declare class EntityAttributes extends DataType {
2954
2964
  static write(stream: BinaryStream, value: Array<EntityAttributes>): void;
2955
2965
  }
2956
2966
 
2957
- declare class StackRequestSlotInfo extends DataType {
2958
- type: ContainerName;
2959
- slot: number;
2960
- stackId: number;
2961
- constructor(type: number, slot: number, stackId: number);
2962
- static read(stream: BinaryStream): StackRequestSlotInfo;
2963
- static write(stream: BinaryStream, value: StackRequestSlotInfo): void;
2964
- }
2965
-
2966
- declare class ItemInstanceUserData extends DataType {
2967
+ declare class FullContainerName extends DataType {
2967
2968
  /**
2968
- * The NBT data for the item.
2969
+ * The identifier of the container.
2969
2970
  */
2970
- nbt: CompoundTag | null;
2971
+ readonly identifier: ContainerName;
2971
2972
  /**
2972
- * Blocks the item can be placed on.
2973
+ * The identifier of the container, if it is dynamic.
2973
2974
  */
2974
- canPlaceOn: Array<string>;
2975
+ readonly dynamicIdentifier: number;
2975
2976
  /**
2976
- * Blocks the item can destroy.
2977
+ * Creates a new instance of FullContainerName.
2978
+ * @param identifier - The identifier of the container.
2979
+ * @param dynamicIdentifier - The identifier of the container, if it is dynamic.
2977
2980
  */
2978
- canDestroy: Array<string>;
2981
+ constructor(identifier: ContainerName, dynamicIdentifier: number);
2982
+ static read(stream: BinaryStream): FullContainerName;
2983
+ static write(stream: BinaryStream, value: FullContainerName): void;
2984
+ }
2985
+
2986
+ declare class ItemStackRequestSlotInfo extends DataType {
2979
2987
  /**
2980
- * The ticking for the item.
2988
+ * The container of the stack request slot info.
2981
2989
  */
2982
- ticking?: bigint | null;
2990
+ readonly container: FullContainerName;
2983
2991
  /**
2984
- * Creates an instance of ItemInstanceUserData.
2985
- * @param nbt NBT data for the item.
2986
- * @param canPlaceOn Blocks the item can be placed on.
2987
- * @param canDestroy Blocks the item can destroy.
2992
+ * The slot of the stack request slot info.
2988
2993
  */
2989
- constructor(nbt: CompoundTag | null, canPlaceOn: Array<string>, canDestroy: Array<string>, ticking?: bigint | null);
2990
- static read(stream: BinaryStream, _endian: Endianness, id: number): ItemInstanceUserData;
2991
- static write(stream: BinaryStream, value: ItemInstanceUserData, _endian: Endianness, id: number): void;
2992
- }
2993
-
2994
- declare class NetworkItemInstanceDescriptor extends DataType {
2995
- network: number;
2996
- stackSize: number | null;
2997
- metadata: number | null;
2998
- networkBlockId: number | null;
2999
- extras: ItemInstanceUserData | null;
2994
+ readonly slot: number;
3000
2995
  /**
3001
- * Creates an instance of NetworkItemInstanceDescriptor.
3002
- * @param id The network id of the item.
3003
- * @param stackSize The size of the stack.
3004
- * @param metadata The metadata of the item.
3005
- * @param auxValue The aux value of the item.
3006
- * @param userData The user data of the item.
2996
+ * The stack id of the stack request slot info.
3007
2997
  */
3008
- constructor(network: number, stackSize?: number | null, metadata?: number | null, networkBlockId?: number | null, extras?: ItemInstanceUserData | null);
3009
- static read(stream: BinaryStream): NetworkItemInstanceDescriptor;
3010
- static write(stream: BinaryStream, value: NetworkItemInstanceDescriptor): void;
3011
- }
3012
-
3013
- interface ItemStackAction {
3014
- cost?: number;
3015
- count?: number;
3016
- destination?: StackRequestSlotInfo;
3017
- filterStringIndex?: number;
3018
- networkId?: number;
3019
- pattern?: string;
3020
- predictedDurability?: number;
3021
- primaryEffect?: number;
3022
- randomly?: boolean;
3023
- recipeNetworkId?: number;
3024
- resultItems?: Array<NetworkItemInstanceDescriptor>;
3025
- resultedSlotId?: number;
3026
- runtimeId?: number;
3027
- secondaryEffect?: number;
3028
- source?: StackRequestSlotInfo;
3029
- timesCrafted?: number;
3030
- type: ItemStackActionType;
3031
- unknown1?: number;
3032
- }
3033
- declare class ItemStackRequests extends DataType {
3034
- id: number;
3035
- actions: Array<ItemStackAction>;
3036
- names: Array<string>;
3037
- cause: number;
3038
- constructor(id: number, actions: Array<ItemStackAction>, names: Array<string>, cause: number);
3039
- static read(stream: BinaryStream): Array<ItemStackRequests>;
2998
+ readonly stackId: number;
2999
+ /**
3000
+ * Creates a new instance of ItemStackRequestSlotInfo.
3001
+ * @param container - The container of the stack request slot info.
3002
+ * @param slot - The slot of the stack request slot info.
3003
+ * @param stackId - The stack id of the stack request slot info.
3004
+ */
3005
+ constructor(container: FullContainerName, slot: number, stackId: number);
3006
+ static read(stream: BinaryStream): ItemStackRequestSlotInfo;
3007
+ static write(stream: BinaryStream, value: ItemStackRequestSlotInfo): void;
3040
3008
  }
3041
3009
 
3042
3010
  interface ItemStackContainer {
@@ -3060,6 +3028,34 @@ declare class ItemStackResponses extends DataType {
3060
3028
  static write(stream: BinaryStream, value: Array<ItemStackResponses>): void;
3061
3029
  }
3062
3030
 
3031
+ declare class ItemInstanceUserData extends DataType {
3032
+ /**
3033
+ * The NBT data for the item.
3034
+ */
3035
+ nbt: CompoundTag | null;
3036
+ /**
3037
+ * Blocks the item can be placed on.
3038
+ */
3039
+ canPlaceOn: Array<string>;
3040
+ /**
3041
+ * Blocks the item can destroy.
3042
+ */
3043
+ canDestroy: Array<string>;
3044
+ /**
3045
+ * The ticking for the item.
3046
+ */
3047
+ ticking?: bigint | null;
3048
+ /**
3049
+ * Creates an instance of ItemInstanceUserData.
3050
+ * @param nbt NBT data for the item.
3051
+ * @param canPlaceOn Blocks the item can be placed on.
3052
+ * @param canDestroy Blocks the item can destroy.
3053
+ */
3054
+ constructor(nbt: CompoundTag | null, canPlaceOn: Array<string>, canDestroy: Array<string>, ticking?: bigint | null);
3055
+ static read(stream: BinaryStream, _endian: Endianness, id: number): ItemInstanceUserData;
3056
+ static write(stream: BinaryStream, value: ItemInstanceUserData, _endian: Endianness, id: number): void;
3057
+ }
3058
+
3063
3059
  /**
3064
3060
  * Represents a network item stack descriptor.
3065
3061
  */
@@ -3314,6 +3310,25 @@ declare class Rotation extends DataType {
3314
3310
  static write(stream: BinaryStream, value: Rotation): void;
3315
3311
  }
3316
3312
 
3313
+ declare class NetworkItemInstanceDescriptor extends DataType {
3314
+ network: number;
3315
+ stackSize: number | null;
3316
+ metadata: number | null;
3317
+ networkBlockId: number | null;
3318
+ extras: ItemInstanceUserData | null;
3319
+ /**
3320
+ * Creates an instance of NetworkItemInstanceDescriptor.
3321
+ * @param id The network id of the item.
3322
+ * @param stackSize The size of the stack.
3323
+ * @param metadata The metadata of the item.
3324
+ * @param auxValue The aux value of the item.
3325
+ * @param userData The user data of the item.
3326
+ */
3327
+ constructor(network: number, stackSize?: number | null, metadata?: number | null, networkBlockId?: number | null, extras?: ItemInstanceUserData | null);
3328
+ static read(stream: BinaryStream): NetworkItemInstanceDescriptor;
3329
+ static write(stream: BinaryStream, value: NetworkItemInstanceDescriptor): void;
3330
+ }
3331
+
3317
3332
  declare class CreativeItems extends DataType {
3318
3333
  static read(stream: BinaryStream): Array<NetworkItemInstanceDescriptor>;
3319
3334
  static write(stream: BinaryStream, value: Array<NetworkItemInstanceDescriptor>): void;
@@ -3427,6 +3442,10 @@ declare class ItemUseInventoryTransaction extends DataType {
3427
3442
  * The type of the item use inventory transaction.
3428
3443
  */
3429
3444
  readonly type: ItemUseInventoryTransactionType;
3445
+ /**
3446
+ * The trigger type of the item use inventory transaction.
3447
+ */
3448
+ readonly triggerType: TriggerType;
3430
3449
  /**
3431
3450
  * The block position of the item use inventory transaction.
3432
3451
  */
@@ -3455,10 +3474,15 @@ declare class ItemUseInventoryTransaction extends DataType {
3455
3474
  * The network block id of the item use inventory transaction.
3456
3475
  */
3457
3476
  readonly networkBlockId: number;
3477
+ /**
3478
+ * Whether or not the transaction is an initial transaction.
3479
+ */
3480
+ readonly intialTransaction: boolean;
3458
3481
  /**
3459
3482
  * Creates an instance of ItemUseInventoryTransaction.
3460
3483
  *
3461
3484
  * @param type The type of the item use inventory transaction.
3485
+ * @param triggerType The trigger type of the item use inventory transaction.
3462
3486
  * @param blockPosition The block position of the item use inventory transaction.
3463
3487
  * @param face The block face of the item use inventory transaction.
3464
3488
  * @param slot The slot of the item use inventory transaction.
@@ -3466,8 +3490,9 @@ declare class ItemUseInventoryTransaction extends DataType {
3466
3490
  * @param fromPosition The from position of the item use inventory transaction.
3467
3491
  * @param clickPosition The click position of the item use inventory transaction.
3468
3492
  * @param networkBlockId The network block id of the item use inventory transaction.
3493
+ * @param initialTransaction Whether or not the transaction is an initial transaction.
3469
3494
  */
3470
- constructor(type: ItemUseInventoryTransactionType, blockPosition: BlockCoordinates, face: BlockFace, slot: number, item: NetworkItemStackDescriptor, fromPosition: Vector3f, clickPosition: Vector3f, networkBlockId: number);
3495
+ constructor(type: ItemUseInventoryTransactionType, triggerType: TriggerType, blockPosition: BlockCoordinates, face: BlockFace, slot: number, item: NetworkItemStackDescriptor, fromPosition: Vector3f, clickPosition: Vector3f, networkBlockId: number, initialTransaction: boolean);
3471
3496
  static read(stream: BinaryStream): ItemUseInventoryTransaction;
3472
3497
  static write(stream: BinaryStream, value: ItemUseInventoryTransaction): void;
3473
3498
  }
@@ -4403,6 +4428,418 @@ declare class DimensionDefinitionGroup extends DataType {
4403
4428
  static read(stream: BinaryStream): DimensionDefinitionGroup;
4404
4429
  }
4405
4430
 
4431
+ declare class ItemStackActionTakePlace extends DataType {
4432
+ /**
4433
+ * The amount of the item stack request action.
4434
+ */
4435
+ readonly amount: number;
4436
+ /**
4437
+ * The source of the item stack request action.
4438
+ */
4439
+ readonly source: ItemStackRequestSlotInfo;
4440
+ /**
4441
+ * The destination of the item stack request action.
4442
+ */
4443
+ readonly destination: ItemStackRequestSlotInfo;
4444
+ /**
4445
+ * Creates a new instance of ItemStackRequestAction.
4446
+ * @param amount - The amount of the item stack request action.
4447
+ * @param source - The source of the item stack request action.
4448
+ * @param destination - The destination of the item stack request action.
4449
+ */
4450
+ constructor(amount: number, source: ItemStackRequestSlotInfo, destination: ItemStackRequestSlotInfo);
4451
+ static read(stream: BinaryStream): ItemStackActionTakePlace;
4452
+ static write(stream: BinaryStream, value: ItemStackActionTakePlace): void;
4453
+ }
4454
+
4455
+ declare class ItemStackRequestActionSwap extends DataType {
4456
+ /**
4457
+ * The source of the item stack request action.
4458
+ */
4459
+ readonly source: ItemStackRequestSlotInfo;
4460
+ /**
4461
+ * The destination of the item stack request action.
4462
+ */
4463
+ readonly destination: ItemStackRequestSlotInfo;
4464
+ /**
4465
+ * Creates a new instance of ItemStackRequestActionSwap.
4466
+ * @param source - The source of the item stack request action.
4467
+ * @param destination - The destination of the item stack request action.
4468
+ */
4469
+ constructor(source: ItemStackRequestSlotInfo, destination: ItemStackRequestSlotInfo);
4470
+ static read(stream: BinaryStream): ItemStackRequestActionSwap;
4471
+ static write(stream: BinaryStream, value: ItemStackRequestActionSwap): void;
4472
+ }
4473
+
4474
+ declare class ItemStackRequestActionDrop extends DataType {
4475
+ /**
4476
+ * The amount of the item stack request action.
4477
+ */
4478
+ readonly amount: number;
4479
+ /**
4480
+ * The source of the item stack request action.
4481
+ */
4482
+ readonly source: ItemStackRequestSlotInfo;
4483
+ /**
4484
+ * Whether the item stack was dropped randomly.
4485
+ */
4486
+ readonly randomly: boolean;
4487
+ /**
4488
+ * Creates a new instance of ItemStackRequestActionDrop.
4489
+ * @param amount - The amount of the item stack request action.
4490
+ * @param source - The source of the item stack request action.
4491
+ * @param randomly - Whether the item stack was dropped randomly.
4492
+ */
4493
+ constructor(amount: number, source: ItemStackRequestSlotInfo, randomly: boolean);
4494
+ static read(stream: BinaryStream): ItemStackRequestActionDrop;
4495
+ static write(stream: BinaryStream, value: ItemStackRequestActionDrop): void;
4496
+ }
4497
+
4498
+ declare class ItemStackRequestActionDestroyConsume extends DataType {
4499
+ /**
4500
+ * The amount of the item stack request action.
4501
+ */
4502
+ readonly amount: number;
4503
+ /**
4504
+ * The source of the item stack request action.
4505
+ */
4506
+ readonly source: ItemStackRequestSlotInfo;
4507
+ /**
4508
+ * Creates a new instance of ItemStackRequestActionDestroyConsume.
4509
+ * @param amount - The amount of the item stack request action.
4510
+ * @param source - The source of the item stack request action.
4511
+ */
4512
+ constructor(amount: number, source: ItemStackRequestSlotInfo);
4513
+ static read(stream: BinaryStream): ItemStackRequestActionDestroyConsume;
4514
+ static write(stream: BinaryStream, value: ItemStackRequestActionDestroyConsume): void;
4515
+ }
4516
+
4517
+ declare class ItemStackRequestActionCreate extends DataType {
4518
+ /**
4519
+ * The slot of the stack request create action.
4520
+ */
4521
+ readonly slot: number;
4522
+ /**
4523
+ * Creates a new instance of ItemStackRequestActionCreate.
4524
+ * @param slot - The slot of the stack request create action.
4525
+ */
4526
+ constructor(slot: number);
4527
+ static read(stream: BinaryStream): ItemStackRequestActionCreate;
4528
+ static write(stream: BinaryStream, value: ItemStackRequestActionCreate): void;
4529
+ }
4530
+
4531
+ declare class ItemStackRequestActionBeanconPayment extends DataType {
4532
+ /**
4533
+ * The primary effect of the item stack request action beacon payment.
4534
+ */
4535
+ readonly primaryEffect: EffectType;
4536
+ /**
4537
+ * The secondary effect of the item stack request action
4538
+ */
4539
+ readonly secondaryEffect: EffectType;
4540
+ /**
4541
+ * Creates a new instance of ItemStackRequestActionBeanconPayment.
4542
+ * @param primaryEffect - The primary effect of the item stack request action beacon payment.
4543
+ * @param secondaryEffect - The secondary effect of the item stack request action
4544
+ */
4545
+ constructor(primaryEffect: EffectType, secondaryEffect: EffectType);
4546
+ static read(stream: BinaryStream): ItemStackRequestActionBeanconPayment;
4547
+ static write(stream: BinaryStream, value: ItemStackRequestActionBeanconPayment): void;
4548
+ }
4549
+
4550
+ declare class ItemStackRequestActionMineBlock extends DataType {
4551
+ /**
4552
+ * The slot of the item stack request action.
4553
+ */
4554
+ readonly slot: number;
4555
+ /**
4556
+ * The predicted durability of the item stack request action.
4557
+ */
4558
+ readonly predictedDurability: number;
4559
+ /**
4560
+ * The network id of the block of the item stack request action.
4561
+ */
4562
+ readonly networkId: number;
4563
+ /**
4564
+ * Creates a new instance of ItemStackRequestActionMineBlock.
4565
+ * @param slot - The slot of the item stack request action.
4566
+ * @param predictedDurability - The predicted durability of the item stack request action.
4567
+ * @param networkId - The network id of the block of the item stack request action.
4568
+ */
4569
+ constructor(slot: number, predictedDurability: number, networkId: number);
4570
+ static read(stream: BinaryStream): ItemStackRequestActionMineBlock;
4571
+ static write(stream: BinaryStream, value: ItemStackRequestActionMineBlock): void;
4572
+ }
4573
+
4574
+ declare class ItemStackRequestActionCraftRecipe extends DataType {
4575
+ /**
4576
+ * The recipe id of the stack request craft recipe action.
4577
+ */
4578
+ readonly recipeId: number;
4579
+ /**
4580
+ * The amount of the stack request craft recipe action.
4581
+ */
4582
+ readonly amount: number;
4583
+ /**
4584
+ * Creates a new instance of ItemStackRequestActionCraftRecipe.
4585
+ * @param recipeId - The recipe id of the stack request craft
4586
+ * @param amount - The amount of the stack request craft recipe action.
4587
+ */
4588
+ constructor(recipeId: number, amount: number);
4589
+ static read(stream: BinaryStream): ItemStackRequestActionCraftRecipe;
4590
+ static write(stream: BinaryStream, value: ItemStackRequestActionCraftRecipe): void;
4591
+ }
4592
+
4593
+ declare class ItemStackRequestActionCraftRecipeAuto extends DataType {
4594
+ /**
4595
+ * The recipe id of the stack request craft recipe action.
4596
+ */
4597
+ readonly recipeId: number;
4598
+ /**
4599
+ * The times crafted of the stack request craft recipe action.
4600
+ */
4601
+ readonly timesCrafted: number;
4602
+ /**
4603
+ * The ingredients of the stack request craft recipe action.
4604
+ */
4605
+ readonly ingredients: Array<RecipeIngredient>;
4606
+ /**
4607
+ * Creates a new instance of ItemStackRequestActionCraftRecipeAuto.
4608
+ * @param recipeId - The recipe id of the stack request craft
4609
+ * @param timesCrafted - The times crafted of the stack request craft recipe action.
4610
+ * @param ingredients - The ingredients of the stack request craft recipe action.
4611
+ */
4612
+ constructor(recipeId: number, timesCrafted: number, ingredients: Array<RecipeIngredient>);
4613
+ static read(stream: BinaryStream): ItemStackRequestActionCraftRecipeAuto;
4614
+ static write(stream: BinaryStream, value: ItemStackRequestActionCraftRecipeAuto): void;
4615
+ }
4616
+
4617
+ declare class ItemStackRequestActionCraftCreative extends DataType {
4618
+ /**
4619
+ * The creative index of the stack request craft.
4620
+ */
4621
+ readonly creativeIndex: number;
4622
+ /**
4623
+ * The amount of the stack request craft.
4624
+ */
4625
+ readonly amount: number;
4626
+ /**
4627
+ * Creates a new instance of ItemStackRequestActionCraftCreative.
4628
+ * @param creativeIndex - The creative index of the stack request craft.
4629
+ * @param amount - The amount of the stack request craft.
4630
+ */
4631
+ constructor(creativeIndex: number, amount: number);
4632
+ static read(stream: BinaryStream): ItemStackRequestActionCraftCreative;
4633
+ static write(stream: BinaryStream, value: ItemStackRequestActionCraftCreative): void;
4634
+ }
4635
+
4636
+ declare class ItemStackRequestActionOptional extends DataType {
4637
+ /**
4638
+ * The recipe id of the stack request craft recipe action.
4639
+ */
4640
+ readonly recipeId: number;
4641
+ /**
4642
+ * The times crafted of the stack request craft recipe action.
4643
+ */
4644
+ readonly filteredStringIndex: number;
4645
+ /**
4646
+ * Creates a new instance of ItemStackRequestActionCraftRecipeAuto.
4647
+ * @param recipeId - The recipe id of the stack request craft
4648
+ * @param timesCrafted - The times crafted of the stack request craft recipe action.
4649
+ */
4650
+ constructor(recipeId: number, filteredStringIndex: number);
4651
+ static read(stream: BinaryStream): ItemStackRequestActionOptional;
4652
+ static write(stream: BinaryStream, value: ItemStackRequestActionOptional): void;
4653
+ }
4654
+
4655
+ declare class ItemStackRequestActionCraftGrindstoneRequest extends DataType {
4656
+ /**
4657
+ * The recipe id of the stack request craft grindstone action.
4658
+ */
4659
+ readonly recipeId: number;
4660
+ /**
4661
+ * The cost of the stack request craft grindstone action.
4662
+ */
4663
+ readonly cost: number;
4664
+ /**
4665
+ * The amount of the stack request craft grindstone action.
4666
+ */
4667
+ readonly amount: number;
4668
+ /**
4669
+ * Creates a new instance of ItemStackRequestActionCraftGrindstoneRequest.
4670
+ * @param recipeId - The recipe id of the stack request craft
4671
+ * @param cost - The cost of the stack request craft grindstone action.
4672
+ * @param amount - The amount of the stack request craft grindstone action.
4673
+ */
4674
+ constructor(recipeId: number, cost: number, amount: number);
4675
+ static read(stream: BinaryStream): ItemStackRequestActionCraftGrindstoneRequest;
4676
+ static write(stream: BinaryStream, value: ItemStackRequestActionCraftGrindstoneRequest): void;
4677
+ }
4678
+
4679
+ declare class ItemStackRequestActionCraftLoomRequest extends DataType {
4680
+ /**
4681
+ * The pattern of the stack request craft loom action.
4682
+ */
4683
+ readonly pattern: string;
4684
+ /**
4685
+ * Creates a new instance of ItemStackRequestActionCraftLoomRequest.
4686
+ * @param pattern - The pattern of the stack request craft
4687
+ */
4688
+ constructor(pattern: string);
4689
+ static read(stream: BinaryStream): ItemStackRequestActionCraftLoomRequest;
4690
+ static write(stream: BinaryStream, value: ItemStackRequestActionCraftLoomRequest): void;
4691
+ }
4692
+
4693
+ declare class ItemStackRequestActionResultsDeprecated extends DataType {
4694
+ /**
4695
+ * The resultants of the item stack request action results deprecated.
4696
+ */
4697
+ readonly resultants: Array<NetworkItemInstanceDescriptor>;
4698
+ /**
4699
+ * The amount of the item stack request action results deprecated.
4700
+ */
4701
+ readonly amount: number;
4702
+ /**
4703
+ * Creates a new instance of ItemStackRequestActionResultsDeprecated.
4704
+ * @param resultants - The resultants of the item stack request action results deprecated.
4705
+ * @param amount - The amount of the item stack request action results deprecated.
4706
+ */
4707
+ constructor(resultants: Array<NetworkItemInstanceDescriptor>, amount: number);
4708
+ static read(stream: BinaryStream): ItemStackRequestActionResultsDeprecated;
4709
+ static write(stream: BinaryStream, value: ItemStackRequestActionResultsDeprecated): void;
4710
+ }
4711
+
4712
+ declare class ItemStackRequestAction extends DataType {
4713
+ /**
4714
+ * The action of the item stack request action.
4715
+ */
4716
+ readonly action: ItemStackRequestActionType;
4717
+ /**
4718
+ * The take or place of the item stack request action.
4719
+ */
4720
+ readonly takeOrPlace: ItemStackActionTakePlace | null;
4721
+ /**
4722
+ * The swap of the item stack request action.
4723
+ */
4724
+ readonly swap: ItemStackRequestActionSwap | null;
4725
+ /**
4726
+ * The drop of the item stack request action.
4727
+ */
4728
+ readonly drop: ItemStackRequestActionDrop | null;
4729
+ /**
4730
+ * The destroy or consume of the item stack request action.
4731
+ */
4732
+ readonly destroyOrConsume: ItemStackRequestActionDestroyConsume | null;
4733
+ /**
4734
+ * The create of the item stack request action.
4735
+ */
4736
+ readonly create: ItemStackRequestActionCreate | null;
4737
+ /**
4738
+ * The beacon payment of the item stack request action.
4739
+ */
4740
+ readonly beaconPayment: ItemStackRequestActionBeanconPayment | null;
4741
+ /**
4742
+ * The mine block of the item stack request action.
4743
+ */
4744
+ readonly mineBlock: ItemStackRequestActionMineBlock | null;
4745
+ /**
4746
+ * The craft recipe of the item stack request action.
4747
+ */
4748
+ readonly craftRecipe: ItemStackRequestActionCraftRecipe | null;
4749
+ /**
4750
+ * The craft recipe auto of the item stack request action.
4751
+ */
4752
+ readonly craftRecipeAuto: ItemStackRequestActionCraftRecipeAuto | null;
4753
+ /**
4754
+ * The craft creative of the item stack request action.
4755
+ */
4756
+ readonly craftCreative: ItemStackRequestActionCraftCreative | null;
4757
+ /**
4758
+ * The optional of the item stack request action.
4759
+ */
4760
+ readonly optional: ItemStackRequestActionOptional | null;
4761
+ /**
4762
+ * The craft grindstone request of the item stack request action.
4763
+ */
4764
+ readonly craftGrindstoneRequest: ItemStackRequestActionCraftGrindstoneRequest | null;
4765
+ /**
4766
+ * The craft loom request of the item stack request action.
4767
+ */
4768
+ readonly craftLoomRequest: ItemStackRequestActionCraftLoomRequest | null;
4769
+ /**
4770
+ * The results deprecated of the item stack request action.
4771
+ */
4772
+ readonly resultsDeprecated: ItemStackRequestActionResultsDeprecated | null;
4773
+ /**
4774
+ * Creates a new instance of ItemStackRequestAction.
4775
+ * @param action - The action of the item stack request action.
4776
+ * @param takeOrPlace - The take or place of the item stack request action.
4777
+ * @param swap - The swap of the item stack request action.
4778
+ * @param drop - The drop of the item stack request action.
4779
+ * @param destroyOrConsume - The destroy or consume of the item stack request action.
4780
+ * @param create - The create of the item stack request action.
4781
+ * @param beaconPayment - The beacon payment of the item stack request action.
4782
+ * @param mineBlock - The mine block of the item stack request action.
4783
+ * @param craftRecipe - The craft recipe of the item stack request action.
4784
+ * @param craftRecipeAuto - The craft recipe auto of the item stack request action.
4785
+ * @param craftCreative - The craft creative of the item stack request action.
4786
+ * @param optional - The optional of the item stack request action.
4787
+ * @param craftGrindstoneRequest - The craft grindstone request of the item stack request action.
4788
+ * @param craftLoomRequest - The craft loom request of the item stack request action.
4789
+ * @param resultsDeprecated - The results deprecated of the item stack request action.
4790
+ */
4791
+ constructor(action: ItemStackRequestActionType, takeOrPlace?: ItemStackActionTakePlace | null, swap?: ItemStackRequestActionSwap | null, drop?: ItemStackRequestActionDrop | null, destroyOrConsume?: ItemStackRequestActionDestroyConsume | null, create?: ItemStackRequestActionCreate | null, beaconPayment?: ItemStackRequestActionBeanconPayment | null, mineBlock?: ItemStackRequestActionMineBlock | null, craftRecipe?: ItemStackRequestActionCraftRecipe | null, craftRecipeAuto?: ItemStackRequestActionCraftRecipeAuto | null, craftCreative?: ItemStackRequestActionCraftCreative | null, optional?: ItemStackRequestActionOptional | null, craftGrindstoneRequest?: ItemStackRequestActionCraftGrindstoneRequest | null, craftLoomRequest?: ItemStackRequestActionCraftLoomRequest | null, resultsDeprecated?: ItemStackRequestActionResultsDeprecated | null);
4792
+ static read(stream: BinaryStream): ItemStackRequestAction;
4793
+ }
4794
+
4795
+ declare class ItemStackRequest extends DataType {
4796
+ /**
4797
+ * The item stack request id.
4798
+ */
4799
+ readonly clientRequestId: number;
4800
+ /**
4801
+ * The item stack request actions.
4802
+ */
4803
+ readonly actions: Array<ItemStackRequestAction>;
4804
+ /**
4805
+ * The filter strings of the item stack request.
4806
+ */
4807
+ readonly filterStrings: Array<string>;
4808
+ /**
4809
+ * The origin of the strings filter.
4810
+ */
4811
+ readonly stringsFilterOrigin: number;
4812
+ /**
4813
+ * Creates a new instance of ItemStackRequest.
4814
+ * @param clientRequestId - The item stack request id.
4815
+ * @param actions - The item stack request actions.
4816
+ * @param filterStrings - The filter strings of the item stack request.
4817
+ * @param stringsFilterOrigin - The origin of the strings filter.
4818
+ */
4819
+ constructor(clientRequestId: number, actions: Array<ItemStackRequestAction>, filterStrings: Array<string>, stringsFilterOrigin: number);
4820
+ static read(stream: BinaryStream): Array<ItemStackRequest>;
4821
+ static write(stream: BinaryStream, value: Array<ItemStackRequest>): void;
4822
+ }
4823
+
4824
+ declare class DisconnectMessage extends DataType {
4825
+ /**
4826
+ * The message of the disconnect message.
4827
+ */
4828
+ message: string | null;
4829
+ /**
4830
+ * The filtered message of the disconnect message.
4831
+ */
4832
+ filtered: string | null;
4833
+ /**
4834
+ * Creates a new instance of DisconnectMessage.
4835
+ * @param message - The message of the disconnect message.
4836
+ * @param filtered - The filtered message of the disconnect message.
4837
+ */
4838
+ constructor(message?: string | null, filtered?: string | null);
4839
+ static read(stream: BinaryStream, _: Endianness, hideDisconnectScreen: boolean): DisconnectMessage;
4840
+ static write(stream: BinaryStream, value: DisconnectMessage, _: Endianness, hideDisconnectScreen: boolean): void;
4841
+ }
4842
+
4406
4843
  /**
4407
4844
  * Represents a Minecraft Bedrock Edition data packet
4408
4845
  */
@@ -4534,7 +4971,7 @@ declare class CreativeContentPacket extends DataPacket {
4534
4971
  declare class DisconnectPacket extends DataPacket {
4535
4972
  reason: DisconnectReason;
4536
4973
  hideDisconnectScreen: boolean;
4537
- message: string;
4974
+ message: DisconnectMessage;
4538
4975
  }
4539
4976
 
4540
4977
  declare class InteractPacket extends DataPacket {
@@ -4546,11 +4983,13 @@ declare class InteractPacket extends DataPacket {
4546
4983
  declare class InventoryContentPacket extends DataPacket {
4547
4984
  containerId: ContainerId;
4548
4985
  items: Array<NetworkItemStackDescriptor>;
4986
+ dynamicContainerId: number;
4549
4987
  }
4550
4988
 
4551
4989
  declare class InventorySlotPacket extends DataPacket {
4552
4990
  containerId: ContainerId;
4553
4991
  slot: number;
4992
+ dynamicContainerId: number;
4554
4993
  item: NetworkItemStackDescriptor;
4555
4994
  }
4556
4995
 
@@ -4564,7 +5003,7 @@ declare class ItemComponentPacket extends DataPacket {
4564
5003
  }
4565
5004
 
4566
5005
  declare class ItemStackRequestPacket extends DataPacket {
4567
- requests: Array<ItemStackRequests>;
5006
+ requests: Array<ItemStackRequest>;
4568
5007
  }
4569
5008
 
4570
5009
  declare class ItemStackResponsePacket extends DataPacket {
@@ -5305,8 +5744,8 @@ declare class Framer {
5305
5744
  */
5306
5745
  declare function getPacketId(buffer: Buffer): Packet;
5307
5746
 
5308
- declare const PROTOCOL_VERSION = 686;
5309
- declare const MINECRAFT_VERSION = "1.21.2";
5747
+ declare const PROTOCOL_VERSION = 712;
5748
+ declare const MINECRAFT_VERSION = "1.21.20";
5310
5749
  declare const MINECRAFT_TICK_SPEED = 50;
5311
5750
 
5312
- export { AbilityIndex, AbilityLayer, AbilityLayerType, AbilitySet, AbilitySetId, ActionIds, ActorDamageCause, ActorDataId, ActorDataType, ActorEventIds, ActorEventPacket, ActorFlag, AddEntityPacket, AddItemActorPacket, AddPlayerPacket, AnimateAction, AnimateEntity, AnimateEntityPacket, AnimateId, AnimatePacket, Attribute, AttributeModifier, AttributeName, AvailableActorIdentifiersPacket, AvailableCommandsPacket, AwardAchievementPacket, BehaviorPackInfo, BiomeDefinitionListPacket, BlockActorDataPacket, BlockCoordinates, BlockFace, BlockPickRequestPacket, BlockProperties, BookActions, BookEditAction, BookEditPacket, BossEventAdd, BossEventColor, BossEventPacket, BossEventUpdate, BossEventUpdateType, CameraAudioListener, CameraFadeDuration, CameraFadeInstruction, CameraInstructions, CameraInstructionsPacket, CameraPreset, CameraPresetsPacket, CameraSetEasing, CameraSetInstruction, CameraShakePacket, ChainedSubcommandValues, ChangeDimensionPacket, ChunkCoords, ChunkRadiusUpdatePacket, type ClientData, ClientboundCloseFormPacket, Color, CommandOriginData, CommandOutputData, CommandOutputMessage, CommandOutputPacket, CommandParameterType, CommandPermissionLevel, CommandRequestPacket, Commands, CompletedUsingItemPacket, ComplexInventoryTransaction, ComponentItem, CompressionMethod, ContainerClosePacket, ContainerDataType, ContainerId, ContainerMixDataEntry, ContainerName, ContainerOpenPacket, ContainerSetDataPacket, ContainerType, CraftingDataEntry, CraftingDataEntryType, CraftingDataPacket, CreativeContentPacket, CreativeItems, DataItem, DataPacket, DeathInfoPacket, DeathParameters, DeviceOS, Difficulty, DimensionDataPacket, DimensionDefinition, DimensionDefinitionGroup, DimensionType, DisconnectPacket, DisconnectReason, DisplaySlotType, DynamicEnums, EasingType, EffectType, EmoteFlags, EmoteListPacket, EmotePacket, Emotes, Enchantment, EntityAttributes, EnumConstraints, EnumValues, Enums, EquipmentSlot, Experiments, Framer, GameRuleType, GameRules, Gamemode, GeneratorType, HUDElement, HUDElementId, HUDVisibility, type IdentityData, InteractActions, InteractPacket, InteractPosition, InternalType, InventoryAction, InventoryContentPacket, InventoryLayout, InventoryLeftTab, InventoryRightTab, InventorySlotPacket, InventorySource, InventorySourceType, InventoryTransaction, InventoryTransactionPacket, ItemComponentPacket, ItemData, ItemInstanceUserData, ItemReleaseInventoryTransaction, ItemReleaseInventoryTransactionType, type ItemStackAction, ItemStackActionType, type ItemStackContainer, ItemStackRequestPacket, ItemStackRequests, ItemStackResponsePacket, ItemStackResponses, ItemStackStatus, ItemStacks, ItemUseInventoryTransaction, ItemUseInventoryTransactionType, ItemUseMethod, ItemUseOnEntityInventoryTransaction, ItemUseOnEntityInventoryTransactionType, LegacyTransaction, LevelChunkPacket, LevelEvent, LevelEventPacket, LevelSoundEvent, LevelSoundEventPacket, Links, LoginPacket, type LoginTokenData, LoginTokens, MINECRAFT_TICK_SPEED, MINECRAFT_VERSION, MaterialReducerDataEntry, MobEffectEvents, MobEffectPacket, MobEquipmentPacket, ModalFormCanceled, ModalFormCanceledReason, ModalFormData, ModalFormRequestPacket, ModalFormResponsePacket, ModalFormType, MoveActorAbsolutePacket, MoveMode, MovePlayerPacket, NetworkChunkPublisherUpdatePacket, NetworkItemInstanceDescriptor, NetworkItemStackDescriptor, NetworkSettingsPacket, NetworkStackLatencyPacket, NpcDialogueAction, NpcDialoguePacket, NpcRequestPacket, NpcRequestType, ObjectiveSortOrder, OpenSignPacket, Optional, PROTOCOL_VERSION, PackLinks, PackType, Packet, PacketViolationWarningPacket, Packets, PermissionLevel, PlayStatus, PlayStatusPacket, PlayerActionPacket, PlayerAuthInputData, PlayerAuthInputPacket, PlayerHotbarPacket, PlayerListAction, PlayerListPacket, PlayerListRecord, PlayerSkinPacket, PlayerStartItemCooldownPacket, PostFixes, PotionMixDataEntry, PropertySyncData, RecipeIngredient, RecipeUnlockingRequirement, RemoveEntityPacket, RemoveObjectivePacket, RequestChunkRadiusPacket, RequestNetworkSettingsPacket, ResourceIdVersions, ResourcePackChunkDataPacket, ResourcePackChunkRequestPacket, ResourcePackClientResponsePacket, ResourcePackDataInfoPacket, ResourcePackIds, ResourcePackResponse, ResourcePackStackPacket, ResourcePacksInfoPacket, RespawnPacket, RespawnState, Rotation, ScoreEntry, ScoreboardActionType, ScoreboardIdentity, ScoreboardIdentityAction, ScoreboardIdentityType, ScriptMessagePacket, SerializedSkin, ServerToClientHandshakePacket, ServerboundLoadingScreenPacketPacket, ServerboundLoadingScreenType, SetActorDataPacket, SetActorMotionPacket, SetCommandsEnabledPacket, SetDisplayObjectivePacket, SetHudPacket, SetLocalPlayerAsInitializedPacket, SetPlayerGameTypePacket, SetPlayerInventoryOptionsPacket, SetScorePacket, SetScoreboardIdentityPacket, SetTimePacket, SetTitlePacket, ShakeAction, ShakeType, ShapedRecipe, ShapelessRecipe, SkinAnimation, SkinImage, SkinPersonaPiece, SkinPersonaTintPiece, SpawnParticleEffectPacket, StackRequestSlotInfo, StartGamePacket, StructureBlockUpdatePacket, StructureEditorData, StructureSettings, Subcommands, TakeItemActorPacket, TeleportCause, TextPacket, TextPacketType, TextParameters, TextSource, TexturePackInfo, TitleTypes, ToastRequestPacket, TransactionSourceType, TransferPacket, UnlockingContext, UpdateAbilitiesPacket, UpdateAdventureSettingsPacket, UpdateAttributesPacket, UpdateBlockFlagsType, UpdateBlockLayerType, UpdateBlockPacket, VariableStringArray as VarStringArray, VarintArray, Vector2f, Vector3f, ViolationSeverity, ViolationType, getPacketId };
5751
+ export { AbilityIndex, AbilityLayer, AbilityLayerType, AbilitySet, AbilitySetId, ActionIds, ActorDamageCause, ActorDataId, ActorDataType, ActorEventIds, ActorEventPacket, ActorFlag, AddEntityPacket, AddItemActorPacket, AddPlayerPacket, AnimateAction, AnimateEntity, AnimateEntityPacket, AnimateId, AnimatePacket, Attribute, AttributeModifier, AttributeName, AvailableActorIdentifiersPacket, AvailableCommandsPacket, AwardAchievementPacket, BehaviorPackInfo, BiomeDefinitionListPacket, BlockActorDataPacket, BlockCoordinates, BlockFace, BlockPickRequestPacket, BlockProperties, BookActions, BookEditAction, BookEditPacket, BossEventAdd, BossEventColor, BossEventPacket, BossEventUpdate, BossEventUpdateType, CameraAudioListener, CameraFadeDuration, CameraFadeInstruction, CameraInstructions, CameraInstructionsPacket, CameraPreset, CameraPresetsPacket, CameraSetEasing, CameraSetInstruction, CameraShakePacket, ChainedSubcommandValues, ChangeDimensionPacket, ChunkCoords, ChunkRadiusUpdatePacket, type ClientData, ClientboundCloseFormPacket, Color, CommandOriginData, CommandOutputData, CommandOutputMessage, CommandOutputPacket, CommandParameterType, CommandPermissionLevel, CommandRequestPacket, Commands, CompletedUsingItemPacket, ComplexInventoryTransaction, ComponentItem, CompressionMethod, ContainerClosePacket, ContainerDataType, ContainerId, ContainerMixDataEntry, ContainerName, ContainerOpenPacket, ContainerSetDataPacket, ContainerType, CraftingDataEntry, CraftingDataEntryType, CraftingDataPacket, CreativeContentPacket, CreativeItems, DataItem, DataPacket, DeathInfoPacket, DeathParameters, DeviceOS, Difficulty, DimensionDataPacket, DimensionDefinition, DimensionDefinitionGroup, DimensionType, DisconnectMessage, DisconnectPacket, DisconnectReason, DisplaySlotType, DynamicEnums, EasingType, EffectType, EmoteFlags, EmoteListPacket, EmotePacket, Emotes, Enchantment, EntityAttributes, EnumConstraints, EnumValues, Enums, EquipmentSlot, Experiments, Framer, FullContainerName, GameRuleType, GameRules, Gamemode, GeneratorType, HUDElement, HUDElementId, HUDVisibility, type IdentityData, InteractActions, InteractPacket, InteractPosition, InternalType, InventoryAction, InventoryContentPacket, InventoryLayout, InventoryLeftTab, InventoryRightTab, InventorySlotPacket, InventorySource, InventorySourceType, InventoryTransaction, InventoryTransactionPacket, ItemComponentPacket, ItemData, ItemInstanceUserData, ItemReleaseInventoryTransaction, ItemReleaseInventoryTransactionType, ItemStackActionTakePlace, type ItemStackContainer, ItemStackRequest, ItemStackRequestAction, ItemStackRequestActionBeanconPayment, ItemStackRequestActionCraftCreative, ItemStackRequestActionCraftGrindstoneRequest, ItemStackRequestActionCraftLoomRequest, ItemStackRequestActionCraftRecipe, ItemStackRequestActionCraftRecipeAuto, ItemStackRequestActionCreate, ItemStackRequestActionDestroyConsume, ItemStackRequestActionDrop, ItemStackRequestActionMineBlock, ItemStackRequestActionOptional, ItemStackRequestActionResultsDeprecated, ItemStackRequestActionSwap, ItemStackRequestActionType, ItemStackRequestPacket, ItemStackRequestSlotInfo, ItemStackResponsePacket, ItemStackResponses, ItemStackStatus, ItemStacks, ItemUseInventoryTransaction, ItemUseInventoryTransactionType, ItemUseMethod, ItemUseOnEntityInventoryTransaction, ItemUseOnEntityInventoryTransactionType, LegacyTransaction, LevelChunkPacket, LevelEvent, LevelEventPacket, LevelSoundEvent, LevelSoundEventPacket, Links, LoginPacket, type LoginTokenData, LoginTokens, MINECRAFT_TICK_SPEED, MINECRAFT_VERSION, MaterialReducerDataEntry, MobEffectEvents, MobEffectPacket, MobEquipmentPacket, ModalFormCanceled, ModalFormCanceledReason, ModalFormData, ModalFormRequestPacket, ModalFormResponsePacket, ModalFormType, MoveActorAbsolutePacket, MoveMode, MovePlayerPacket, NetworkChunkPublisherUpdatePacket, NetworkItemInstanceDescriptor, NetworkItemStackDescriptor, NetworkSettingsPacket, NetworkStackLatencyPacket, NpcDialogueAction, NpcDialoguePacket, NpcRequestPacket, NpcRequestType, ObjectiveSortOrder, OpenSignPacket, Optional, PROTOCOL_VERSION, PackLinks, PackType, Packet, PacketViolationWarningPacket, Packets, PermissionLevel, PlayStatus, PlayStatusPacket, PlayerActionPacket, PlayerAuthInputData, PlayerAuthInputPacket, PlayerHotbarPacket, PlayerListAction, PlayerListPacket, PlayerListRecord, PlayerSkinPacket, PlayerStartItemCooldownPacket, PostFixes, PotionMixDataEntry, PropertySyncData, RecipeIngredient, RecipeUnlockingRequirement, RemoveEntityPacket, RemoveObjectivePacket, RequestChunkRadiusPacket, RequestNetworkSettingsPacket, ResourceIdVersions, ResourcePackChunkDataPacket, ResourcePackChunkRequestPacket, ResourcePackClientResponsePacket, ResourcePackDataInfoPacket, ResourcePackIds, ResourcePackResponse, ResourcePackStackPacket, ResourcePacksInfoPacket, RespawnPacket, RespawnState, Rotation, ScoreEntry, ScoreboardActionType, ScoreboardIdentity, ScoreboardIdentityAction, ScoreboardIdentityType, ScriptMessagePacket, SerializedSkin, ServerToClientHandshakePacket, ServerboundLoadingScreenPacketPacket, ServerboundLoadingScreenType, SetActorDataPacket, SetActorMotionPacket, SetCommandsEnabledPacket, SetDisplayObjectivePacket, SetHudPacket, SetLocalPlayerAsInitializedPacket, SetPlayerGameTypePacket, SetPlayerInventoryOptionsPacket, SetScorePacket, SetScoreboardIdentityPacket, SetTimePacket, SetTitlePacket, ShakeAction, ShakeType, ShapedRecipe, ShapelessRecipe, SkinAnimation, SkinImage, SkinPersonaPiece, SkinPersonaTintPiece, SpawnParticleEffectPacket, StartGamePacket, StructureBlockUpdatePacket, StructureEditorData, StructureSettings, Subcommands, TakeItemActorPacket, TeleportCause, TextPacket, TextPacketType, TextParameters, TextSource, TexturePackInfo, TitleTypes, ToastRequestPacket, TransactionSourceType, TransferPacket, TriggerType, UnlockingContext, UpdateAbilitiesPacket, UpdateAdventureSettingsPacket, UpdateAttributesPacket, UpdateBlockFlagsType, UpdateBlockLayerType, UpdateBlockPacket, VariableStringArray as VarStringArray, VarintArray, Vector2f, Vector3f, ViolationSeverity, ViolationType, getPacketId };