From 4b18f4be8b414996a2184615a5f059248d2c2589 Mon Sep 17 00:00:00 2001 From: Vitaly Date: Thu, 15 Feb 2024 21:58:48 +0300 Subject: [PATCH 01/28] add generated packets types --- src/generatedClientPackets.ts | 543 ++++++++++++ src/generatedServerPackets.ts | 1495 +++++++++++++++++++++++++++++++++ src/globals.d.ts | 7 +- 3 files changed, 2044 insertions(+), 1 deletion(-) create mode 100644 src/generatedClientPackets.ts create mode 100644 src/generatedServerPackets.ts diff --git a/src/generatedClientPackets.ts b/src/generatedClientPackets.ts new file mode 100644 index 00000000..2715cd73 --- /dev/null +++ b/src/generatedClientPackets.ts @@ -0,0 +1,543 @@ +export interface ClientWriteMap { + keep_alive: /** 1.7 */ { + keepAliveId: number; + } | /** 1.12.2 */ { + keepAliveId: bigint; + }; + /** Removed in 1.19 */ + chat: /** 1.7 */ { + message: string; + }; + use_entity: /** 1.7 */ { + target: number; + mouse: number; + x: any; + y: any; + z: any; + } | /** 1.9 */ { + target: number; + mouse: number; + x: any; + y: any; + z: any; + hand: any; + } | /** 1.16 */ { + target: number; + mouse: number; + x: any; + y: any; + z: any; + hand: any; + sneaking: boolean; + }; + flying: /** 1.7 */ { + onGround: boolean; + }; + position: /** 1.7 */ { + x: number; + stance: number; + y: number; + z: number; + onGround: boolean; + } | /** 1.8 */ { + x: number; + y: number; + z: number; + onGround: boolean; + }; + look: /** 1.7 */ { + yaw: number; + pitch: number; + onGround: boolean; + }; + position_look: /** 1.7 */ { + x: number; + stance: number; + y: number; + z: number; + yaw: number; + pitch: number; + onGround: boolean; + } | /** 1.8 */ { + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + onGround: boolean; + }; + block_dig: /** 1.7 */ { + status: number; + location: any; + face: number; + } | /** 1.8 */ { + status: number; + location: { x: number, y: number, z: number }; + face: number; + } | /** 1.19 */ { + status: number; + location: { x: number, y: number, z: number }; + face: number; + sequence: number; + }; + block_place: /** 1.7 */ { + location: any; + direction: number; + heldItem: any; + cursorX: number; + cursorY: number; + cursorZ: number; + } | /** 1.8 */ { + location: { x: number, y: number, z: number }; + direction: number; + heldItem: any; + cursorX: number; + cursorY: number; + cursorZ: number; + } | /** 1.9 */ { + location: { x: number, y: number, z: number }; + direction: number; + hand: number; + cursorX: number; + cursorY: number; + cursorZ: number; + } | /** 1.14 */ { + hand: number; + location: { x: number, y: number, z: number }; + direction: number; + cursorX: number; + cursorY: number; + cursorZ: number; + insideBlock: boolean; + } | /** 1.19 */ { + hand: number; + location: { x: number, y: number, z: number }; + direction: number; + cursorX: number; + cursorY: number; + cursorZ: number; + insideBlock: boolean; + sequence: number; + }; + held_item_slot: /** 1.7 */ { + slotId: number; + }; + arm_animation: /** 1.7 */ { + entityId: number; + animation: number; + } | /** 1.8 */ { + + } | /** 1.9 */ { + hand: number; + }; + entity_action: /** 1.7 */ { + entityId: number; + actionId: number; + jumpBoost: number; + }; + steer_vehicle: /** 1.7 */ { + sideways: number; + forward: number; + jump: boolean; + unmount: boolean; + } | /** 1.8 */ { + sideways: number; + forward: number; + jump: number; + }; + close_window: /** 1.7 */ { + windowId: number; + }; + window_click: /** 1.7 */ { + windowId: number; + slot: number; + mouseButton: number; + action: number; + mode: number; + item: any; + } | /** 1.17 */ { + windowId: number; + slot: number; + mouseButton: number; + mode: number; + changedSlots: any; + cursorItem: any; + } | /** 1.17.1 */ { + windowId: number; + stateId: number; + slot: number; + mouseButton: number; + mode: number; + changedSlots: any; + cursorItem: any; + }; + /** Removed in 1.17 */ + transaction: /** 1.7 */ { + windowId: number; + action: number; + accepted: boolean; + }; + set_creative_slot: /** 1.7 */ { + slot: number; + item: any; + }; + enchant_item: /** 1.7 */ { + windowId: number; + enchantment: number; + }; + update_sign: /** 1.7 */ { + location: any; + text1: string; + text2: string; + text3: string; + text4: string; + } | /** 1.8 */ { + location: { x: number, y: number, z: number }; + text1: string; + text2: string; + text3: string; + text4: string; + } | /** 1.20 */ { + location: { x: number, y: number, z: number }; + isFrontText: boolean; + text1: string; + text2: string; + text3: string; + text4: string; + }; + abilities: /** 1.7 */ { + flags: number; + flyingSpeed: number; + walkingSpeed: number; + } | /** 1.16 */ { + flags: number; + }; + tab_complete: /** 1.7 */ { + text: string; + } | /** 1.8 */ { + text: string; + block: any; + } | /** 1.9 */ { + text: string; + assumeCommand: boolean; + lookedAtBlock: any; + } | /** 1.13 */ { + transactionId: number; + text: string; + }; + settings: /** 1.7 */ { + locale: string; + viewDistance: number; + chatFlags: number; + chatColors: boolean; + difficulty: number; + showCape: boolean; + } | /** 1.8 */ { + locale: string; + viewDistance: number; + chatFlags: number; + chatColors: boolean; + skinParts: number; + } | /** 1.9 */ { + locale: string; + viewDistance: number; + chatFlags: number; + chatColors: boolean; + skinParts: number; + mainHand: number; + } | /** 1.17 */ { + locale: string; + viewDistance: number; + chatFlags: number; + chatColors: boolean; + skinParts: number; + mainHand: number; + disableTextFiltering: boolean; + } | /** 1.18 */ { + locale: string; + viewDistance: number; + chatFlags: number; + chatColors: boolean; + skinParts: number; + mainHand: number; + enableTextFiltering: boolean; + enableServerListing: boolean; + }; + client_command: /** 1.7 */ { + payload: number; + } | /** 1.9 */ { + actionId: number; + }; + custom_payload: /** 1.7 */ { + channel: string; + data: any; + }; + packet: /** 1.7 */ { + name: any; + params: any; + }; + spectate: /** 1.8 */ { + target: any; + }; + resource_pack_receive: /** 1.8 */ { + hash: string; + result: number; + } | /** 1.10 */ { + result: number; + } | /** 1.20.3 */ { + uuid: any; + result: number; + }; + teleport_confirm: /** 1.9 */ { + teleportId: number; + }; + vehicle_move: /** 1.9 */ { + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + }; + steer_boat: /** 1.9 */ { + leftPaddle: boolean; + rightPaddle: boolean; + }; + use_item: /** 1.9 */ { + hand: number; + } | /** 1.19 */ { + hand: number; + sequence: number; + }; + /** Removed in 1.12.1 */ + prepare_crafting_grid: /** 1.12 */ { + windowId: number; + actionNumber: number; + returnEntry: any; + prepareEntry: any; + }; + /** Removed in 1.16.2 */ + crafting_book_data: /** 1.12 */ { + type: number; + undefined: any; + }; + advancement_tab: /** 1.12 */ { + action: number; + tabId: any; + }; + craft_recipe_request: /** 1.12.1 */ { + windowId: number; + recipe: number; + makeAll: boolean; + } | /** 1.13 */ { + windowId: number; + recipe: string; + makeAll: boolean; + }; + query_block_nbt: /** 1.13 */ { + transactionId: number; + location: { x: number, y: number, z: number }; + }; + edit_book: /** 1.13 */ { + new_book: any; + signing: boolean; + } | /** 1.13.1 */ { + new_book: any; + signing: boolean; + hand: number; + } | /** 1.17.1 */ { + hand: number; + pages: any; + title: any; + }; + query_entity_nbt: /** 1.13 */ { + transactionId: number; + entityId: number; + }; + pick_item: /** 1.13 */ { + slot: number; + }; + name_item: /** 1.13 */ { + name: string; + }; + select_trade: /** 1.13 */ { + slot: number; + }; + set_beacon_effect: /** 1.13 */ { + primary_effect: number; + secondary_effect: number; + } | /** 1.19 */ { + primary_effect: any; + secondary_effect: any; + }; + update_command_block: /** 1.13 */ { + location: { x: number, y: number, z: number }; + command: string; + mode: number; + flags: number; + }; + update_command_block_minecart: /** 1.13 */ { + entityId: number; + command: string; + track_output: boolean; + }; + update_structure_block: /** 1.13 */ { + location: { x: number, y: number, z: number }; + action: number; + mode: number; + name: string; + offset_x: number; + offset_y: number; + offset_z: number; + size_x: number; + size_y: number; + size_z: number; + mirror: number; + rotation: number; + metadata: string; + integrity: number; + seed: any; + flags: number; + } | /** 1.19 */ { + location: { x: number, y: number, z: number }; + action: number; + mode: number; + name: string; + offset_x: number; + offset_y: number; + offset_z: number; + size_x: number; + size_y: number; + size_z: number; + mirror: number; + rotation: number; + metadata: string; + integrity: number; + seed: number; + flags: number; + }; + set_difficulty: /** 1.14 */ { + newDifficulty: number; + }; + lock_difficulty: /** 1.14 */ { + locked: boolean; + }; + update_jigsaw_block: /** 1.14 */ { + location: { x: number, y: number, z: number }; + attachmentType: string; + targetPool: string; + finalState: string; + } | /** 1.16 */ { + location: { x: number, y: number, z: number }; + name: string; + target: string; + pool: string; + finalState: string; + jointType: string; + } | /** 1.20.3 */ { + location: { x: number, y: number, z: number }; + name: string; + target: string; + pool: string; + finalState: string; + jointType: string; + selection_priority: number; + placement_priority: number; + }; + generate_structure: /** 1.16 */ { + location: { x: number, y: number, z: number }; + levels: number; + keepJigsaws: boolean; + }; + displayed_recipe: /** 1.16.2 */ { + recipeId: string; + }; + recipe_book: /** 1.16.2 */ { + bookId: number; + bookOpen: boolean; + filterActive: boolean; + }; + pong: /** 1.17 */ { + id: number; + }; + chat_command: /** 1.19 */ { + command: string; + timestamp: bigint; + salt: bigint; + argumentSignatures: any; + signedPreview: boolean; + } | /** 1.19.2 */ { + command: string; + timestamp: bigint; + salt: bigint; + argumentSignatures: any; + signedPreview: boolean; + previousMessages: any; + lastRejectedMessage: any; + } | /** 1.19.3 */ { + command: string; + timestamp: bigint; + salt: bigint; + argumentSignatures: any; + messageCount: number; + acknowledged: any; + }; + chat_message: /** 1.19 */ { + message: string; + timestamp: bigint; + salt: bigint; + signature: any; + signedPreview: boolean; + } | /** 1.19.2 */ { + message: string; + timestamp: bigint; + salt: bigint; + signature: any; + signedPreview: boolean; + previousMessages: any; + lastRejectedMessage: any; + } | /** 1.19.3 */ { + message: string; + timestamp: bigint; + salt: bigint; + signature: any; + offset: number; + acknowledged: any; + }; + /** Removed in 1.19.3 */ + chat_preview: /** 1.19 */ { + query: number; + message: string; + }; + message_acknowledgement: /** 1.19.2 */ { + previousMessages: any; + lastRejectedMessage: any; + } | /** 1.19.3 */ { + count: number; + }; + chat_session_update: /** 1.19.3 */ { + sessionUUID: any; + expireTime: bigint; + publicKey: any; + signature: any; + }; + chunk_batch_received: /** 1.20.2 */ { + chunksPerTick: number; + }; + /** Removed in 1.20.3 */ + configuation_acknowledged: /** 1.20.2 */ { + + }; + ping_request: /** 1.20.2 */ { + id: bigint; + }; + configuration_acknowledged: /** 1.20.3 */ { + + }; + set_slot_state: /** 1.20.3 */ { + slot_id: number; + window_id: number; + state: boolean; + }; +} + +export declare const clientWrite: (name: T, data: ClientWriteMap[T]) => Buffer diff --git a/src/generatedServerPackets.ts b/src/generatedServerPackets.ts new file mode 100644 index 00000000..ffc232c5 --- /dev/null +++ b/src/generatedServerPackets.ts @@ -0,0 +1,1495 @@ +// from server to client + +export interface ClientOnMap { + keep_alive: /** 1.7 */ { + keepAliveId: number; + } | /** 1.12.2 */ { + keepAliveId: bigint; + }; + login: /** 1.7 */ { + entityId: number; + gameMode: number; + dimension: number; + difficulty: number; + maxPlayers: number; + levelType: string; + } | /** 1.8 */ { + entityId: number; + gameMode: number; + dimension: number; + difficulty: number; + maxPlayers: number; + levelType: string; + reducedDebugInfo: boolean; + } | /** 1.14 */ { + entityId: number; + gameMode: number; + dimension: number; + maxPlayers: number; + levelType: string; + viewDistance: number; + reducedDebugInfo: boolean; + } | /** 1.15 */ { + entityId: number; + gameMode: number; + dimension: number; + hashedSeed: bigint; + maxPlayers: number; + levelType: string; + viewDistance: number; + reducedDebugInfo: boolean; + enableRespawnScreen: boolean; + } | /** 1.16 */ { + entityId: number; + gameMode: number; + previousGameMode: number; + worldNames: any; + dimensionCodec: any; + dimension: string; + worldName: string; + hashedSeed: bigint; + maxPlayers: number; + viewDistance: number; + reducedDebugInfo: boolean; + enableRespawnScreen: boolean; + isDebug: boolean; + isFlat: boolean; + } | /** 1.16.2 */ { + entityId: number; + isHardcore: boolean; + gameMode: number; + previousGameMode: number; + worldNames: any; + dimensionCodec: any; + dimension: any; + worldName: string; + hashedSeed: bigint; + maxPlayers: number; + viewDistance: number; + reducedDebugInfo: boolean; + enableRespawnScreen: boolean; + isDebug: boolean; + isFlat: boolean; + } | /** 1.18 */ { + entityId: number; + isHardcore: boolean; + gameMode: number; + previousGameMode: number; + worldNames: any; + dimensionCodec: any; + dimension: any; + worldName: string; + hashedSeed: bigint; + maxPlayers: number; + viewDistance: number; + simulationDistance: number; + reducedDebugInfo: boolean; + enableRespawnScreen: boolean; + isDebug: boolean; + isFlat: boolean; + } | /** 1.19 */ { + entityId: number; + isHardcore: boolean; + gameMode: number; + previousGameMode: number; + worldNames: any; + dimensionCodec: any; + worldType: string; + worldName: string; + hashedSeed: bigint; + maxPlayers: number; + viewDistance: number; + simulationDistance: number; + reducedDebugInfo: boolean; + enableRespawnScreen: boolean; + isDebug: boolean; + isFlat: boolean; + death: any; + } | /** 1.20 */ { + entityId: number; + isHardcore: boolean; + gameMode: number; + previousGameMode: number; + worldNames: any; + dimensionCodec: any; + worldType: string; + worldName: string; + hashedSeed: bigint; + maxPlayers: number; + viewDistance: number; + simulationDistance: number; + reducedDebugInfo: boolean; + enableRespawnScreen: boolean; + isDebug: boolean; + isFlat: boolean; + death: any; + portalCooldown: number; + }; + /** Removed in 1.19 */ + chat: /** 1.7 */ { + message: string; + } | /** 1.8 */ { + message: string; + position: number; + } | /** 1.16 */ { + message: string; + position: number; + sender: any; + }; + update_time: /** 1.7 */ { + age: bigint; + time: bigint; + }; + entity_equipment: /** 1.7 */ { + entityId: number; + slot: number; + item: any; + } | /** 1.16 */ { + entityId: number; + equipments: any; + }; + spawn_position: /** 1.7 */ { + location: any; + } | /** 1.8 */ { + location: { x: number, y: number, z: number }; + } | /** 1.17 */ { + location: { x: number, y: number, z: number }; + angle: number; + }; + update_health: /** 1.7 */ { + health: number; + food: number; + foodSaturation: number; + }; + respawn: /** 1.7 */ { + dimension: number; + difficulty: number; + gamemode: number; + levelType: string; + } | /** 1.14 */ { + dimension: number; + gamemode: number; + levelType: string; + } | /** 1.15 */ { + dimension: number; + hashedSeed: bigint; + gamemode: number; + levelType: string; + } | /** 1.16 */ { + dimension: string; + worldName: string; + hashedSeed: bigint; + gamemode: number; + previousGamemode: number; + isDebug: boolean; + isFlat: boolean; + copyMetadata: boolean; + } | /** 1.16.2 */ { + dimension: any; + worldName: string; + hashedSeed: bigint; + gamemode: number; + previousGamemode: number; + isDebug: boolean; + isFlat: boolean; + copyMetadata: boolean; + } | /** 1.19 */ { + dimension: string; + worldName: string; + hashedSeed: bigint; + gamemode: number; + previousGamemode: number; + isDebug: boolean; + isFlat: boolean; + copyMetadata: boolean; + death: any; + } | /** 1.20 */ { + dimension: string; + worldName: string; + hashedSeed: bigint; + gamemode: number; + previousGamemode: number; + isDebug: boolean; + isFlat: boolean; + copyMetadata: boolean; + death: any; + portalCooldown: number; + }; + position: /** 1.7 */ { + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + onGround: boolean; + } | /** 1.8 */ { + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + flags: number; + } | /** 1.9 */ { + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + flags: number; + teleportId: number; + } | /** 1.17 */ { + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + flags: number; + teleportId: number; + dismountVehicle: boolean; + } /** 1.19.4 */ ; + held_item_slot: /** 1.7 */ { + slot: number; + }; + /** Removed in 1.14 */ + bed: /** 1.7 */ { + entityId: number; + location: any; + } | /** 1.8 */ { + entityId: number; + location: { x: number, y: number, z: number }; + }; + animation: /** 1.7 */ { + entityId: number; + animation: number; + }; + named_entity_spawn: /** 1.7 */ { + entityId: number; + playerUUID: string; + playerName: string; + data: any; + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + currentItem: number; + metadata: any; + } | /** 1.8 */ { + entityId: number; + playerUUID: any; + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + currentItem: number; + metadata: any; + } | /** 1.9 */ { + entityId: number; + playerUUID: any; + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + metadata: any; + } | /** 1.15 */ { + entityId: number; + playerUUID: any; + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + }; + collect: /** 1.7 */ { + collectedEntityId: number; + collectorEntityId: number; + } | /** 1.11 */ { + collectedEntityId: number; + collectorEntityId: number; + pickupItemCount: number; + }; + spawn_entity: /** 1.7 */ { + entityId: number; + type: number; + x: number; + y: number; + z: number; + pitch: number; + yaw: number; + objectData: any; + } | /** 1.9 */ { + entityId: number; + objectUUID: any; + type: number; + x: number; + y: number; + z: number; + pitch: number; + yaw: number; + objectData: number; + velocityX: number; + velocityY: number; + velocityZ: number; + } | /** 1.19 */ { + entityId: number; + objectUUID: any; + type: number; + x: number; + y: number; + z: number; + pitch: number; + yaw: number; + headPitch: number; + objectData: number; + velocityX: number; + velocityY: number; + velocityZ: number; + }; + /** Removed in 1.19 */ + spawn_entity_living: /** 1.7 */ { + entityId: number; + type: number; + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + headPitch: number; + velocityX: number; + velocityY: number; + velocityZ: number; + metadata: any; + } | /** 1.9 */ { + entityId: number; + entityUUID: any; + type: number; + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + headPitch: number; + velocityX: number; + velocityY: number; + velocityZ: number; + metadata: any; + } | /** 1.15 */ { + entityId: number; + entityUUID: any; + type: number; + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + headPitch: number; + velocityX: number; + velocityY: number; + velocityZ: number; + }; + /** Removed in 1.19 */ + spawn_entity_painting: /** 1.7 */ { + entityId: number; + title: string; + location: any; + direction: number; + } | /** 1.8 */ { + entityId: number; + title: string; + location: { x: number, y: number, z: number }; + direction: number; + } | /** 1.9 */ { + entityId: number; + entityUUID: any; + title: string; + location: { x: number, y: number, z: number }; + direction: number; + } | /** 1.13 */ { + entityId: number; + entityUUID: any; + title: number; + location: { x: number, y: number, z: number }; + direction: number; + }; + spawn_entity_experience_orb: /** 1.7 */ { + entityId: number; + x: number; + y: number; + z: number; + count: number; + }; + entity_velocity: /** 1.7 */ { + entityId: number; + velocityX: number; + velocityY: number; + velocityZ: number; + }; + /** Removed in 1.17 */ + entity_destroy: /** 1.17.1 */ { + entityIds: any; + }; + /** Removed in 1.17 */ + entity: /** 1.7 */ { + entityId: number; + }; + rel_entity_move: /** 1.7 */ { + entityId: number; + dX: number; + dY: number; + dZ: number; + } | /** 1.8 */ { + entityId: number; + dX: number; + dY: number; + dZ: number; + onGround: boolean; + }; + entity_look: /** 1.7 */ { + entityId: number; + yaw: number; + pitch: number; + } | /** 1.8 */ { + entityId: number; + yaw: number; + pitch: number; + onGround: boolean; + }; + entity_move_look: /** 1.7 */ { + entityId: number; + dX: number; + dY: number; + dZ: number; + yaw: number; + pitch: number; + } | /** 1.8 */ { + entityId: number; + dX: number; + dY: number; + dZ: number; + yaw: number; + pitch: number; + onGround: boolean; + }; + entity_teleport: /** 1.7 */ { + entityId: number; + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + } | /** 1.8 */ { + entityId: number; + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + onGround: boolean; + }; + entity_head_rotation: /** 1.7 */ { + entityId: number; + headYaw: number; + }; + entity_status: /** 1.7 */ { + entityId: number; + entityStatus: number; + }; + attach_entity: /** 1.7 */ { + entityId: number; + vehicleId: number; + leash: boolean; + } | /** 1.9 */ { + entityId: number; + vehicleId: number; + }; + entity_metadata: /** 1.7 */ { + entityId: number; + metadata: any; + }; + entity_effect: /** 1.7 */ { + entityId: number; + effectId: number; + amplifier: number; + duration: number; + } | /** 1.8 */ { + entityId: number; + effectId: number; + amplifier: number; + duration: number; + hideParticles: boolean; + } | /** 1.9 */ { + entityId: number; + effectId: number; + amplifier: number; + duration: number; + hideParticles: number; + } | /** 1.19 */ { + entityId: number; + effectId: number; + amplifier: number; + duration: number; + hideParticles: number; + factorCodec: any; + }; + remove_entity_effect: /** 1.7 */ { + entityId: number; + effectId: number; + }; + experience: /** 1.7 */ { + experienceBar: number; + level: number; + totalExperience: number; + } | /** 1.19.3 */ { + experienceBar: number; + totalExperience: number; + level: number; + }; + /** Removed in 1.9 */ + update_attributes: /** 1.7 */ { + entityId: number; + properties: any; + }; + map_chunk: /** 1.7 */ { + x: number; + z: number; + groundUp: boolean; + bitMap: number; + addBitMap: number; + compressedChunkData: any; + } | /** 1.8 */ { + x: number; + z: number; + groundUp: boolean; + bitMap: number; + chunkData: any; + } | /** 1.9.4 */ { + x: number; + z: number; + groundUp: boolean; + bitMap: number; + chunkData: any; + blockEntities: any; + } | /** 1.14 */ { + x: number; + z: number; + groundUp: boolean; + bitMap: number; + heightmaps: any; + chunkData: any; + blockEntities: any; + } | /** 1.15 */ { + x: number; + z: number; + groundUp: boolean; + bitMap: number; + heightmaps: any; + biomes: any; + chunkData: any; + blockEntities: any; + } | /** 1.16 */ { + x: number; + z: number; + groundUp: boolean; + ignoreOldData: boolean; + bitMap: number; + heightmaps: any; + biomes: any; + chunkData: any; + blockEntities: any; + } /** 1.16.2 */ | /** 1.17 */ { + x: number; + z: number; + bitMap: any; + heightmaps: any; + biomes: any; + chunkData: any; + blockEntities: any; + } | /** 1.18 */ { + x: number; + z: number; + heightmaps: any; + chunkData: any; + blockEntities: any; + trustEdges: boolean; + skyLightMask: any; + blockLightMask: any; + emptySkyLightMask: any; + emptyBlockLightMask: any; + skyLight: any; + blockLight: any; + } | /** 1.20 */ { + x: number; + z: number; + heightmaps: any; + chunkData: any; + blockEntities: any; + skyLightMask: any; + blockLightMask: any; + emptySkyLightMask: any; + emptyBlockLightMask: any; + skyLight: any; + blockLight: any; + }; + multi_block_change: /** 1.7 */ { + chunkX: number; + chunkZ: number; + recordCount: any; + dataLength: number; + records: any; + } | /** 1.8 */ { + chunkX: number; + chunkZ: number; + records: any; + } | /** 1.16.2 */ { + chunkCoordinates: any; + notTrustEdges: boolean; + records: any; + } | /** 1.19.2 */ { + chunkCoordinates: any; + suppressLightUpdates: boolean; + records: any; + } | /** 1.20 */ { + chunkCoordinates: any; + records: any; + }; + block_change: /** 1.7 */ { + location: any; + type: number; + metadata: number; + } | /** 1.8 */ { + location: { x: number, y: number, z: number }; + type: number; + }; + block_action: /** 1.7 */ { + location: any; + byte1: number; + byte2: number; + blockId: number; + } | /** 1.8 */ { + location: { x: number, y: number, z: number }; + byte1: number; + byte2: number; + blockId: number; + }; + block_break_animation: /** 1.7 */ { + entityId: number; + location: any; + destroyStage: number; + } | /** 1.8 */ { + entityId: number; + location: { x: number, y: number, z: number }; + destroyStage: number; + }; + /** Removed in 1.9 */ + map_chunk_bulk: /** 1.7 */ { + chunkColumnCount: any; + dataLength: any; + skyLightSent: boolean; + compressedChunkData: any; + meta: any; + } | /** 1.8 */ { + skyLightSent: boolean; + meta: any; + data: any; + }; + explosion: /** 1.7 */ { + x: number; + y: number; + z: number; + radius: number; + affectedBlockOffsets: any; + playerMotionX: number; + playerMotionY: number; + playerMotionZ: number; + }; + world_event: /** 1.7 */ { + effectId: number; + location: any; + data: number; + global: boolean; + } | /** 1.8 */ { + effectId: number; + location: { x: number, y: number, z: number }; + data: number; + global: boolean; + }; + /** Removed in 1.19.3 */ + named_sound_effect: /** 1.7 */ { + soundName: string; + x: number; + y: number; + z: number; + volume: number; + pitch: number; + } | /** 1.9 */ { + soundName: string; + soundCategory: number; + x: number; + y: number; + z: number; + volume: number; + pitch: number; + } | /** 1.19 */ { + soundName: string; + soundCategory: number; + x: number; + y: number; + z: number; + volume: number; + pitch: number; + seed: bigint; + }; + world_particles: /** 1.7 */ { + particleName: string; + x: number; + y: number; + z: number; + offsetX: number; + offsetY: number; + offsetZ: number; + particleData: number; + particles: number; + } | /** 1.8 */ { + particleId: number; + longDistance: boolean; + x: number; + y: number; + z: number; + offsetX: number; + offsetY: number; + offsetZ: number; + particleData: number; + particles: number; + data: any; + }; + game_state_change: /** 1.7 */ { + reason: number; + gameMode: number; + }; + /** Removed in 1.16 */ + spawn_entity_weather: /** 1.7 */ { + entityId: number; + type: number; + x: number; + y: number; + z: number; + }; + open_window: /** 1.7 */ { + windowId: number; + inventoryType: number; + windowTitle: string; + slotCount: number; + useProvidedTitle: boolean; + entityId: any; + } | /** 1.8 */ { + windowId: number; + inventoryType: string; + windowTitle: string; + slotCount: number; + entityId: any; + } | /** 1.14 */ { + windowId: number; + inventoryType: number; + windowTitle: string; + }; + close_window: /** 1.7 */ { + windowId: number; + }; + set_slot: /** 1.7 */ { + windowId: number; + slot: number; + item: any; + } | /** 1.17.1 */ { + windowId: number; + stateId: number; + slot: number; + item: any; + }; + window_items: /** 1.7 */ { + windowId: number; + items: any; + } | /** 1.17.1 */ { + windowId: number; + stateId: number; + items: any; + carriedItem: any; + }; + craft_progress_bar: /** 1.7 */ { + windowId: number; + property: number; + value: number; + }; + /** Removed in 1.17 */ + transaction: /** 1.7 */ { + windowId: number; + action: number; + accepted: boolean; + }; + /** Removed in 1.9.4 */ + update_sign: /** 1.7 */ { + location: any; + text1: string; + text2: string; + text3: string; + text4: string; + } | /** 1.8 */ { + location: { x: number, y: number, z: number }; + text1: string; + text2: string; + text3: string; + text4: string; + }; + map: /** 1.7 */ { + itemDamage: number; + data: any; + } | /** 1.8 */ { + itemDamage: number; + scale: number; + icons: any; + columns: number; + rows: any; + x: any; + y: any; + data: any; + } | /** 1.9 */ { + itemDamage: number; + scale: number; + trackingPosition: boolean; + icons: any; + columns: number; + rows: any; + x: any; + y: any; + data: any; + } | /** 1.14 */ { + itemDamage: number; + scale: number; + trackingPosition: boolean; + locked: boolean; + icons: any; + columns: number; + rows: any; + x: any; + y: any; + data: any; + } | /** 1.17 */ { + itemDamage: number; + scale: number; + locked: boolean; + icons: any; + columns: number; + rows: any; + x: any; + y: any; + data: any; + }; + tile_entity_data: /** 1.7 */ { + location: any; + action: number; + nbtData: any; + } | /** 1.8 */ { + location: { x: number, y: number, z: number }; + action: number; + nbtData: any; + }; + open_sign_entity: /** 1.7 */ { + location: any; + } | /** 1.8 */ { + location: { x: number, y: number, z: number }; + } | /** 1.20 */ { + location: { x: number, y: number, z: number }; + isFrontText: boolean; + }; + statistics: /** 1.7 */ { + entries: any; + }; + player_info: /** 1.7 */ { + playerName: string; + online: boolean; + ping: number; + } | /** 1.8 */ { + action: number; + data: any; + }; + abilities: /** 1.7 */ { + flags: number; + flyingSpeed: number; + walkingSpeed: number; + }; + tab_complete: /** 1.7 */ { + matches: any; + } | /** 1.13 */ { + transactionId: number; + start: number; + length: number; + matches: any; + }; + scoreboard_objective: /** 1.7 */ { + name: string; + displayText: string; + action: number; + } | /** 1.8 */ { + name: string; + action: number; + displayText: any; + type: any; + }; + scoreboard_score: /** 1.7 */ { + itemName: string; + action: number; + scoreName: any; + value: any; + } | /** 1.8 */ { + itemName: string; + action: number; + scoreName: string; + value: any; + }; + scoreboard_display_objective: /** 1.7 */ { + position: number; + name: string; + }; + /** Removed in 1.9 */ + scoreboard_team: /** 1.7 */ { + team: string; + mode: number; + name: any; + prefix: any; + suffix: any; + friendlyFire: any; + players: any; + } | /** 1.8 */ { + team: string; + mode: number; + name: any; + prefix: any; + suffix: any; + friendlyFire: any; + nameTagVisibility: any; + color: any; + players: any; + }; + custom_payload: /** 1.7 */ { + channel: string; + data: any; + }; + kick_disconnect: /** 1.7 */ { + reason: string; + }; + packet: /** 1.7 */ { + name: any; + params: any; + }; + difficulty: /** 1.8 */ { + difficulty: number; + } | /** 1.14 */ { + difficulty: number; + difficultyLocked: boolean; + }; + /** Removed in 1.17 */ + combat_event: /** 1.8 */ { + event: number; + duration: any; + playerId: any; + entityId: any; + message: any; + }; + camera: /** 1.8 */ { + cameraId: number; + }; + /** Removed in 1.17 */ + world_border: /** 1.8 */ { + action: number; + radius: any; + x: any; + z: any; + old_radius: any; + new_radius: any; + speed: any; + portalBoundary: any; + warning_time: any; + warning_blocks: any; + }; + /** Removed in 1.17 */ + title: /** 1.8 */ { + action: number; + text: any; + fadeIn: any; + stay: any; + fadeOut: any; + }; + /** Removed in 1.9 */ + set_compression: /** 1.8 */ { + threshold: number; + }; + playerlist_header: /** 1.8 */ { + header: string; + footer: string; + }; + resource_pack_send: /** 1.8 */ { + url: string; + hash: string; + } | /** 1.17 */ { + url: string; + hash: string; + forced: boolean; + promptMessage: any; + }; + /** Removed in 1.9 */ + update_entity_nbt: /** 1.8 */ { + entityId: number; + tag: any; + }; + boss_bar: /** 1.9 */ { + entityUUID: any; + action: number; + title: any; + health: any; + color: any; + dividers: any; + flags: any; + }; + set_cooldown: /** 1.9 */ { + itemID: number; + cooldownTicks: number; + }; + unload_chunk: /** 1.9 */ { + chunkX: number; + chunkZ: number; + }; + vehicle_move: /** 1.9 */ { + x: number; + y: number; + z: number; + yaw: number; + pitch: number; + }; + set_passengers: /** 1.9 */ { + entityId: number; + passengers: any; + }; + teams: /** 1.9 */ { + team: string; + mode: number; + name: any; + prefix: any; + suffix: any; + friendlyFire: any; + nameTagVisibility: any; + collisionRule: any; + color: any; + players: any; + } | /** 1.13 */ { + team: string; + mode: number; + name: any; + friendlyFire: any; + nameTagVisibility: any; + collisionRule: any; + formatting: any; + prefix: any; + suffix: any; + players: any; + }; + sound_effect: /** 1.9 */ { + soundId: number; + soundCategory: number; + x: number; + y: number; + z: number; + volume: number; + pitch: number; + } | /** 1.19 */ { + soundId: number; + soundCategory: number; + x: number; + y: number; + z: number; + volume: number; + pitch: number; + seed: bigint; + }; + entity_update_attributes: /** 1.9 */ { + entityId: number; + properties: any; + }; + advancements: /** 1.12 */ { + reset: boolean; + advancementMapping: any; + identifiers: any; + progressMapping: any; + }; + unlock_recipes: /** 1.12 */ { + action: number; + craftingBookOpen: boolean; + filteringCraftable: boolean; + recipes1: any; + recipes2: any; + } | /** 1.13 */ { + action: number; + craftingBookOpen: boolean; + filteringCraftable: boolean; + smeltingBookOpen: boolean; + filteringSmeltable: boolean; + recipes1: any; + recipes2: any; + } | /** 1.16.2 */ { + action: number; + craftingBookOpen: boolean; + filteringCraftable: boolean; + smeltingBookOpen: boolean; + filteringSmeltable: boolean; + blastFurnaceOpen: boolean; + filteringBlastFurnace: boolean; + smokerBookOpen: boolean; + filteringSmoker: boolean; + recipes1: any; + recipes2: any; + }; + select_advancement_tab: /** 1.12 */ { + id: any; + }; + craft_recipe_response: /** 1.12.1 */ { + windowId: number; + recipe: number; + } | /** 1.13 */ { + windowId: number; + recipe: string; + }; + declare_commands: /** 1.13 */ { + nodes: any; + rootIndex: number; + }; + face_player: /** 1.13 */ { + feet_eyes: number; + x: number; + y: number; + z: number; + isEntity: boolean; + entityId: any; + entity_feet_eyes: any; + }; + nbt_query_response: /** 1.13 */ { + transactionId: number; + nbt: any; + }; + stop_sound: /** 1.13 */ { + flags: number; + source: any; + sound: any; + }; + declare_recipes: /** 1.13 */ { + recipes: any; + }; + tags: /** 1.13 */ { + blockTags: any; + itemTags: any; + fluidTags: any; + } | /** 1.14 */ { + blockTags: any; + itemTags: any; + fluidTags: any; + entityTags: any; + } | /** 1.17 */ { + tags: any; + }; + open_horse_window: /** 1.14 */ { + windowId: number; + nbSlots: number; + entityId: number; + }; + update_light: /** 1.14 */ { + chunkX: number; + chunkZ: number; + skyLightMask: number; + blockLightMask: number; + emptySkyLightMask: number; + emptyBlockLightMask: number; + data: any; + } | /** 1.16 */ { + chunkX: number; + chunkZ: number; + trustEdges: boolean; + skyLightMask: number; + blockLightMask: number; + emptySkyLightMask: number; + emptyBlockLightMask: number; + data: any; + } | /** 1.17 */ { + chunkX: number; + chunkZ: number; + trustEdges: boolean; + skyLightMask: any; + blockLightMask: any; + emptySkyLightMask: any; + emptyBlockLightMask: any; + skyLight: any; + blockLight: any; + } | /** 1.20 */ { + chunkX: number; + chunkZ: number; + skyLightMask: any; + blockLightMask: any; + emptySkyLightMask: any; + emptyBlockLightMask: any; + skyLight: any; + blockLight: any; + }; + trade_list: /** 1.14 */ { + windowId: number; + trades: any; + villagerLevel: number; + experience: number; + isRegularVillager: boolean; + } | /** 1.14.3 */ { + windowId: number; + trades: any; + villagerLevel: number; + experience: number; + isRegularVillager: boolean; + canRestock: boolean; + }; + open_book: /** 1.14 */ { + hand: number; + }; + update_view_position: /** 1.14 */ { + chunkX: number; + chunkZ: number; + }; + update_view_distance: /** 1.14 */ { + viewDistance: number; + }; + entity_sound_effect: /** 1.14 */ { + soundId: number; + soundCategory: number; + entityId: number; + volume: number; + pitch: number; + } | /** 1.19.2 */ { + soundId: number; + soundCategory: number; + entityId: number; + volume: number; + pitch: number; + seed: bigint; + }; + acknowledge_player_digging: /** 1.14.4 */ { + location: { x: number, y: number, z: number }; + block: number; + status: number; + successful: boolean; + } | /** 1.19 */ { + sequenceId: number; + }; + end_combat_event: /** 1.17 */ { + duration: number; + entityId: number; + } | /** 1.20 */ { + duration: number; + }; + enter_combat_event: /** 1.17 */ { + + }; + death_combat_event: /** 1.17 */ { + playerId: number; + entityId: number; + message: string; + } | /** 1.20 */ { + playerId: number; + message: string; + }; + /** Removed in 1.17.1 */ + destroy_entity: /** 1.17 */ { + entityId: number; + }; + /** Removed in 1.19 */ + sculk_vibration_signal: /** 1.17 */ { + sourcePosition: { x: number, y: number, z: number }; + destinationIdentifier: string; + destination: any; + arrivalTicks: number; + }; + clear_titles: /** 1.17 */ { + reset: boolean; + }; + initialize_world_border: /** 1.17 */ { + x: number; + z: number; + oldDiameter: number; + newDiameter: number; + speed: any; + portalTeleportBoundary: number; + warningBlocks: number; + warningTime: number; + } | /** 1.19 */ { + x: number; + z: number; + oldDiameter: number; + newDiameter: number; + speed: number; + portalTeleportBoundary: number; + warningBlocks: number; + warningTime: number; + }; + action_bar: /** 1.17 */ { + text: string; + }; + world_border_center: /** 1.17 */ { + x: number; + z: number; + }; + world_border_lerp_size: /** 1.17 */ { + oldDiameter: number; + newDiameter: number; + speed: any; + } | /** 1.19 */ { + oldDiameter: number; + newDiameter: number; + speed: number; + }; + world_border_size: /** 1.17 */ { + diameter: number; + }; + world_border_warning_delay: /** 1.17 */ { + warningTime: number; + }; + world_border_warning_reach: /** 1.17 */ { + warningBlocks: number; + }; + ping: /** 1.17 */ { + id: number; + }; + set_title_subtitle: /** 1.17 */ { + text: string; + }; + set_title_text: /** 1.17 */ { + text: string; + }; + set_title_time: /** 1.17 */ { + fadeIn: number; + stay: number; + fadeOut: number; + }; + simulation_distance: /** 1.18 */ { + distance: number; + }; + /** Removed in 1.19.3 */ + chat_preview: /** 1.19 */ { + queryId: number; + message: any; + }; + player_chat: /** 1.19 */ { + signedChatContent: string; + unsignedChatContent: any; + type: number; + senderUuid: any; + senderName: string; + senderTeam: any; + timestamp: bigint; + salt: bigint; + signature: any; + } | /** 1.19.2 */ { + previousSignature: any; + senderUuid: any; + signature: any; + plainMessage: string; + formattedMessage: any; + timestamp: bigint; + salt: bigint; + previousMessages: any; + unsignedContent: any; + filterType: number; + filterTypeMask: any; + type: number; + networkName: string; + networkTargetName: any; + } | /** 1.19.3 */ { + senderUuid: any; + index: number; + signature: any; + plainMessage: string; + timestamp: bigint; + salt: bigint; + previousMessages: any; + unsignedChatContent: any; + filterType: number; + filterTypeMask: any; + type: number; + networkName: string; + networkTargetName: any; + }; + /** Removed in 1.19.3 */ + should_display_chat_preview: /** 1.19 */ { + should_display_chat_preview: boolean; + }; + system_chat: /** 1.19 */ { + content: string; + type: number; + } | /** 1.19.2 */ { + content: string; + isActionBar: boolean; + }; + server_data: /** 1.19 */ { + motd: any; + icon: any; + previewsChat: boolean; + } | /** 1.19.2 */ { + motd: any; + icon: any; + previewsChat: boolean; + enforcesSecureChat: boolean; + } | /** 1.19.3 */ { + motd: any; + icon: any; + enforcesSecureChat: boolean; + } | /** 1.19.4 */ { + motd: string; + iconBytes: any; + enforcesSecureChat: boolean; + }; + chat_suggestions: /** 1.19.2 */ { + action: number; + entries: any; + }; + hide_message: /** 1.19.2 */ { + signature: any; + } | /** 1.19.3 */ { + id: number; + signature: any; + }; + /** Removed in 1.19.3 */ + message_header: /** 1.19.2 */ { + previousSignature: any; + senderUuid: any; + signature: any; + messageHash: any; + }; + profileless_chat: /** 1.19.3 */ { + message: string; + type: number; + name: string; + target: any; + }; + player_remove: /** 1.19.3 */ { + players: any; + }; + feature_flags: /** 1.19.3 */ { + features: any; + }; + chunk_biomes: /** 1.19.4 */ { + biomes: any; + }; + damage_event: /** 1.19.4 */ { + entityId: number; + sourceTypeId: number; + sourceCauseId: any; + sourceDirectId: any; + sourcePosition: any; + }; + hurt_animation: /** 1.19.4 */ { + entityId: number; + yaw: number; + }; +} diff --git a/src/globals.d.ts b/src/globals.d.ts index fee3f5ec..145096f9 100644 --- a/src/globals.d.ts +++ b/src/globals.d.ts @@ -2,7 +2,12 @@ declare const THREE: typeof import('three') // todo make optional -declare const bot: Omit & { world: import('prismarine-world').world.WorldSync } +declare const bot: Omit & { + world: import('prismarine-world').world.WorldSync + _client: import('minecraft-protocol').Client & { + write: typeof import('./generatedClientPackets').clientWrite + } +} declare const __type_bot: typeof bot declare const viewer: import('prismarine-viewer/viewer/lib/viewer').Viewer declare const worldView: import('prismarine-viewer/viewer/lib/worldDataEmitter').WorldDataEmitter | undefined From 145f2a52ca1253408ba7515a2d2a16a48cccdb50 Mon Sep 17 00:00:00 2001 From: Vitaly Date: Fri, 16 Feb 2024 13:40:09 +0300 Subject: [PATCH 02/28] try to download block states from root (trying to fix utopia) --- prismarine-viewer/viewer/lib/worldrenderer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prismarine-viewer/viewer/lib/worldrenderer.ts b/prismarine-viewer/viewer/lib/worldrenderer.ts index afa668c2..bc8f55f9 100644 --- a/prismarine-viewer/viewer/lib/worldrenderer.ts +++ b/prismarine-viewer/viewer/lib/worldrenderer.ts @@ -259,7 +259,7 @@ export class WorldRenderer { const loadBlockStates = async () => { return new Promise(resolve => { if (this.customBlockStatesData) return resolve(this.customBlockStatesData) - return loadJSON(`blocksStates/${this.texturesVersion}.json`, (data) => { + return loadJSON(`/blocksStates/${this.texturesVersion}.json`, (data) => { this.downloadedBlockStatesData = data // todo this.renderUpdateEmitter.emit('blockStatesDownloaded') From 99e58d806923b9f6522144e07978213f9ddab261 Mon Sep 17 00:00:00 2001 From: Vitaly Date: Fri, 16 Feb 2024 13:45:41 +0300 Subject: [PATCH 03/28] fix: improve compatibility with tor browser by disabling sound support --- src/basicSounds.ts | 8 +++++++- src/utils.ts | 8 ++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/basicSounds.ts b/src/basicSounds.ts index a16193fe..53c86652 100644 --- a/src/basicSounds.ts +++ b/src/basicSounds.ts @@ -1,5 +1,6 @@ import { options } from './optionsStorage' import { isCypress } from './standaloneUtils' +import { reportWarningOnce } from './utils' let audioContext: AudioContext const sounds: Record = {} @@ -39,7 +40,12 @@ export async function playSound (url, soundVolume = 1) { if (!volume) return - audioContext ??= new window.AudioContext() + try { + audioContext ??= new window.AudioContext() + } catch (err) { + reportWarningOnce('audioContext', 'Failed to create audio context. Some sounds will not play') + return + } for (const [soundName, sound] of Object.entries(sounds)) { if (convertedSounds.includes(soundName)) continue diff --git a/src/utils.ts b/src/utils.ts index 4492c29e..e8658acf 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -187,3 +187,11 @@ export function assertDefined (x: T | undefined): asserts x is T { export const haveDirectoryPicker = () => { return !!window.showDirectoryPicker } + +const reportedWarnings = new Set() + +export const reportWarningOnce = (id: string, message: string) => { + if (reportedWarnings.has(id)) return + reportedWarnings.add(id) + console.warn(message) +} From 21430d51b5bfad34a939508e07096589af127750 Mon Sep 17 00:00:00 2001 From: Vitaly Date: Fri, 16 Feb 2024 14:15:38 +0300 Subject: [PATCH 04/28] feat: add basic support for other guis like enchanting table horse villager or anvil --- pnpm-lock.yaml | 97 ++++++++++++++++++++++++-------------------- src/playerWindows.ts | 21 +++++++++- 2 files changed, 72 insertions(+), 46 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e394cb98..08f47225 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: + flying-squid: file:../space-squid-2 three: 0.128.0 diamond-square: github:zardoy/diamond-square prismarine-block: github:zardoy/prismarine-block#next-era @@ -76,8 +77,8 @@ importers: specifier: ^4.18.2 version: 4.18.2 flying-squid: - specifier: npm:@zardoy/flying-squid@^0.0.9 - version: /@zardoy/flying-squid@0.0.9 + specifier: file:C:\Users\Vitaly\Documents\repos\space-squid-2 + version: file:../space-squid-2 fs-extra: specifier: ^11.1.1 version: 11.1.1 @@ -241,7 +242,7 @@ importers: version: 1.0.0 minecraft-inventory-gui: specifier: github:zardoy/minecraft-inventory-gui#next - version: github.com/zardoy/minecraft-inventory-gui/e794b5d44d9cdaf58c4bf9fc5fbbc3a729f4b447(@types/react@18.2.20)(react@18.2.0) + version: github.com/zardoy/minecraft-inventory-gui/306d056da5ebf49cc2550aa311d0f17f60cdb6cd(@types/react@18.2.20)(react@18.2.0) mineflayer: specifier: github:PrismarineJS/mineflayer version: github.com/PrismarineJS/mineflayer/cc98f1307e3ab48477d2a9ff29da4447f42b30bc @@ -5594,45 +5595,6 @@ packages: tslib: 1.14.1 dev: true - /@zardoy/flying-squid@0.0.9: - resolution: {integrity: sha512-Q7xqm+Uu/Y/8jziVM+sazddDw50t3IoQ7y0BTAgLpYaqEsJDvTAoXmHspd9NRFVEs0CM4M/qZxvztCcdJryGIg==} - engines: {node: '>=8'} - hasBin: true - dependencies: - change-case: 4.1.2 - colors: 1.4.0 - diamond-square: github.com/zardoy/diamond-square/915fce8e27fe8eb45464d89b9563956afa4f7687 - emit-then: 2.0.0 - event-promise: 0.0.1 - exit-hook: 2.2.1 - flatmap: 0.0.3 - long: 5.2.3 - minecraft-data: 3.60.0 - minecraft-protocol: github.com/zardoy/minecraft-protocol/2c14a686bfe7cbd9a5c87b629b402295ee86219f - mkdirp: 2.1.6 - moment: 2.29.4 - needle: 2.9.1 - node-gzip: 1.1.2 - node-rsa: 1.1.1 - prismarine-chunk: 1.35.0(minecraft-data@3.60.0) - prismarine-entity: 2.3.1 - prismarine-item: 1.14.0 - prismarine-nbt: 2.5.0 - prismarine-provider-anvil: github.com/zardoy/prismarine-provider-anvil/0ddcd9d48574113308e1fbebef60816aced0846f(minecraft-data@3.60.0) - prismarine-windows: 2.8.0 - prismarine-world: github.com/zardoy/prismarine-world/c358222204d21fe7d45379fbfcefb047f926c786 - random-seed: 0.3.0 - range: 0.0.3 - readline: 1.3.0 - typed-emitter: 1.4.0 - uuid-1345: 1.0.2 - vec3: 0.1.8 - yargs: 17.7.2 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - /@zardoy/react-util@0.2.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-glABtx54mh4XSaK6BNALWE3mlshPjcPwPsRj/GnOXEA7WJY/6n43iJoukbaYF3758mGZRU5Fq6gklyFjBg0yHQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -12208,6 +12170,10 @@ packages: resolution: {integrity: sha512-yosVdGg1hNGkXPzqGiOYNEpXKjEOxzUCg2rB0l+NKdyCaSf4z+i5ojbN0IqDSezMMf71YEglI+ZUTgTffn5afw==} dev: false + /rambda@9.1.0: + resolution: {integrity: sha512-fCRAq8Of+bAuqjAA0MSb/umbNgiYwy9N5camM2T++Qu/mRImLT3a31hf0REvnqaWCrgrdC3ewf/ucAILsYeBgQ==} + dev: false + /ramda@0.29.0: resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} dev: true @@ -15139,6 +15105,47 @@ packages: react: 18.2.0 dev: false + file:../space-squid-2: + resolution: {directory: ../space-squid-2, type: directory} + name: '@zardoy/flying-squid' + engines: {node: '>=8'} + hasBin: true + dependencies: + change-case: 4.1.2 + colors: 1.4.0 + diamond-square: github.com/zardoy/diamond-square/915fce8e27fe8eb45464d89b9563956afa4f7687 + emit-then: 2.0.0 + event-promise: 0.0.1 + exit-hook: 2.2.1 + flatmap: 0.0.3 + long: 5.2.3 + minecraft-data: 3.60.0 + minecraft-protocol: github.com/zardoy/minecraft-protocol/2c14a686bfe7cbd9a5c87b629b402295ee86219f + mkdirp: 2.1.6 + moment: 2.29.4 + needle: 2.9.1 + node-gzip: 1.1.2 + node-rsa: 1.1.1 + prismarine-chunk: 1.35.0(minecraft-data@3.60.0) + prismarine-entity: 2.3.1 + prismarine-item: 1.14.0 + prismarine-nbt: 2.5.0 + prismarine-provider-anvil: github.com/zardoy/prismarine-provider-anvil/0ddcd9d48574113308e1fbebef60816aced0846f(minecraft-data@3.60.0) + prismarine-windows: 2.8.0 + prismarine-world: github.com/zardoy/prismarine-world/c358222204d21fe7d45379fbfcefb047f926c786 + rambda: 9.1.0 + random-seed: 0.3.0 + range: 0.0.3 + readline: 1.3.0 + typed-emitter: 1.4.0 + uuid-1345: 1.0.2 + vec3: 0.1.8 + yargs: 17.7.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + github.com/PrismarineJS/mineflayer/cc98f1307e3ab48477d2a9ff29da4447f42b30bc: resolution: {tarball: https://codeload.github.com/PrismarineJS/mineflayer/tar.gz/cc98f1307e3ab48477d2a9ff29da4447f42b30bc} name: mineflayer @@ -15193,9 +15200,9 @@ packages: vec3: 0.1.8 dev: false - github.com/zardoy/minecraft-inventory-gui/e794b5d44d9cdaf58c4bf9fc5fbbc3a729f4b447(@types/react@18.2.20)(react@18.2.0): - resolution: {tarball: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/e794b5d44d9cdaf58c4bf9fc5fbbc3a729f4b447} - id: github.com/zardoy/minecraft-inventory-gui/e794b5d44d9cdaf58c4bf9fc5fbbc3a729f4b447 + github.com/zardoy/minecraft-inventory-gui/306d056da5ebf49cc2550aa311d0f17f60cdb6cd(@types/react@18.2.20)(react@18.2.0): + resolution: {tarball: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/306d056da5ebf49cc2550aa311d0f17f60cdb6cd} + id: github.com/zardoy/minecraft-inventory-gui/306d056da5ebf49cc2550aa311d0f17f60cdb6cd name: minecraft-inventory-gui version: 1.0.1 dependencies: diff --git a/src/playerWindows.ts b/src/playerWindows.ts index 1d5844de..ee5667c5 100644 --- a/src/playerWindows.ts +++ b/src/playerWindows.ts @@ -6,6 +6,11 @@ import LargeChestLikeGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui import FurnaceGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/furnace.png' import CraftingTableGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/crafting_table.png' import DispenserGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/dispenser.png' +import HopperGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/hopper.png' +import HorseGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/horse.png' +import VillageGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/villager.png' +import EnchantingGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/enchanting_table.png' +import AnvilGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/anvil.png' import Dirt from 'minecraft-assets/minecraft-assets/data/1.17.1/blocks/dirt.png' import { subscribeKey } from 'valtio/utils' @@ -184,6 +189,11 @@ const getImageSrc = (path): string | HTMLImageElement => { case 'gui/container/crafting_table': return CraftingTableGui case 'gui/container/shulker_box': return ChestLikeGui case 'gui/container/generic_54': return LargeChestLikeGui + case 'gui/container/hopper': return HopperGui + case 'gui/container/horse': return HorseGui + case 'gui/container/villager': return VillageGui + case 'gui/container/enchanting_table': return EnchantingGui + case 'gui/container/anvil': return AnvilGui } return Dirt } @@ -332,11 +342,20 @@ export const onModalClose = (callback: () => any) => { const implementedContainersGuiMap = { // todo allow arbitrary size instead! 'minecraft:generic_9x3': 'ChestWin', + // hopper + 'minecraft:generic_5x1': 'HopperWin', 'minecraft:generic_9x6': 'LargeChestWin', 'minecraft:generic_3x3': 'DropDispenseWin', 'minecraft:furnace': 'FurnaceWin', 'minecraft:smoker': 'FurnaceWin', - 'minecraft:crafting': 'CraftingWin' + 'minecraft:crafting': 'CraftingWin', + 'minecraft:anvil': 'AnvilWin', + // enchant + 'minecraft:enchanting_table': 'EnchantingWin', + // horse + 'minecraft:horse': 'HorseWin', + // villager + 'minecraft:villager': 'VillagerWin', } const upJei = (search: string) => { From 90f0cbab0d83bc5468b457b0eb672aa5516cb37c Mon Sep 17 00:00:00 2001 From: Vitaly Date: Fri, 16 Feb 2024 14:16:08 +0300 Subject: [PATCH 05/28] fix tsc --- src/menus/pause_screen.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/menus/pause_screen.js b/src/menus/pause_screen.js index f8042ea5..ce376645 100644 --- a/src/menus/pause_screen.js +++ b/src/menus/pause_screen.js @@ -4,7 +4,8 @@ const { subscribe } = require('valtio') const { subscribeKey } = require('valtio/utils') const { hideCurrentModal, showModal, miscUiState, notification, openOptionsMenu } = require('../globalState') const { fsState } = require('../loadSave') -const { disconnect, openGithub } = require('../utils') +const { openGithub } = require('../utils') +const { disconnect } = require('../flyingSquidUtils') const { closeWan, openToWanAndCopyJoinLink, getJoinLink } = require('../localServerMultiplayer') const { uniqueFileNameFromWorldName, copyFilesAsyncWithProgress } = require('../browserfs') const { showOptionsModal } = require('../react/SelectOption') From 7657afbd1bac557f30ecc87a0cdd61e62e0b4e49 Mon Sep 17 00:00:00 2001 From: Vitaly Date: Fri, 16 Feb 2024 14:57:04 +0300 Subject: [PATCH 06/28] add generic win 95 support for mineberry --- assets/generic_91.png | Bin 0 -> 2468 bytes assets/generic_92.png | Bin 0 -> 2504 bytes assets/generic_93.png | Bin 0 -> 2524 bytes assets/generic_94.png | Bin 0 -> 2536 bytes assets/generic_95.png | Bin 0 -> 2564 bytes pnpm-lock.yaml | 8 ++++---- src/playerWindows.ts | 3 +++ 7 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 assets/generic_91.png create mode 100644 assets/generic_92.png create mode 100644 assets/generic_93.png create mode 100644 assets/generic_94.png create mode 100644 assets/generic_95.png diff --git a/assets/generic_91.png b/assets/generic_91.png new file mode 100644 index 0000000000000000000000000000000000000000..99e4d04ae8581563228e4cd505d390adcc9fe152 GIT binary patch literal 2468 zcmbVO4Qvx-82&moG7yM_8K;nWIiiD%>;1Id?Jg?}+KtUn7^C4QXyAJHwLR9}9d|d{ zZ6XDXM590=(E!W*K_jAI5F%5Afkvib3MTwaG8_p8Fk#suNf)Ate%E#tq#I;Sn)~j% z=X>7geV_N<_O<%O3nx!}dLjT|a$T*r0RS6X+CbrWba_GFA4Hc4TJ0(WfXAj;UmMud zRt!MFkFtNIxze|Y7uBd;kkkOQ$DL@QD_QSJQ`69KJLa-ygXW4+a!*qAZDW*pKk@k zR{H8OkE%nAwKIfBQ542S zCew{0sp%Y|T9#HZGIc@~BjbWb(ss(qDFu|oEKY0EBdOq$NWut=Ld7%?md;|euxhGC zSRH{n`}n>9sJ1>|Hbzb@(P%b=VODQIX=DnL6K(jLHAprBL-Q2P({vf-;3+B% z^{J8^Y|cWR1jP_^xu16OE}D0`?t`M9kpxqCC|DBtpsGg&l&~BXLXgyy5RPTb$a~a? zs-wV2og<~f=i}=X!xR(|)_L7H%GoZ<5)Y+7Am~E!%PSl#!E#QP5LkymI0cD?oP!aW zU|{&XR~4HqXRY(;E|*jhar_sR3kWPtSI`8*1!*Gaas~;3VnqT%j-zP`u?f;J+Y((y zFPad!m(@}wA;utN0~HR@ML3}(5{$!16N1QbM8H)pxq_@1U}(nb=2V05wX%V%YtFnM z%i#LVDk5X4p5O)1>UB3RS|&rJAiXW;sK+Bk&YX{hAtD{c{B#&Y4Vp1Qhx0?Ib`NbX zawPGFuwiuRk7i|BQ&##&%{Uh6nX-ssK?y-LIZ50~hO|aZ+7$Btex;t>GmeJgXvSH~ z>~uvp+4&3=M6ILgo2;qn2VmUhI`4dc{7V1TrR%m<6;&<$>A-^CS6BUzI9u4UQ<}c- z>=!<)Cwb%?HKl#rz|h7?e^ig#-M;5yV9~QjUJk$Weg2K3?fbr?n!5W62RD5@^vt{q zfj!Sn?V&(t_nk=hq0o%38!abZKXu6#FR^RaNQN{!6eV^w#Py$(J=3muPM0Q54tN}swz`wA3|)I7N3pZz zPdl-Epif+Qrlj?Q)>%b~uIsG6<0oaQ@*K6L}+L_n!$(a&1@9vb*R9Fm&jRmKCu4Kp5Tc>QdzCN`3CRd4)dFq?I zl<$Lg!H2uPearZ=tNnb*#JRSPgO^H<<+YA#ua(={H8ySaLAO#cR|CDv8+WYUd?HO) z5lg1uXhG_mnM?>R~3^Ftnchw^X}@>!&l3y{;Kqg>xwu1J-uM< ws<&@+9X;b`K0i0-WPbjGEj-3 z!W@c^NpvI{2?Pz8Xhaeo>LL+wixY;A_=q7aOhHA4CPTLn1__DyzqYFzwv2d5bKl+n z_x--#_qeZJHP!3#au?b3&C*r~u5(*MA1EcV7Vj z*PUzenxTeyV3QPd;D4Ry#W6{A;B^)k2@wL*_zS%EPW!;qAPq*#KoaSX#TES9`*6iyMnT&;6$G8lSt z;66ZIhmB#AQC6Brnq^s%Vn~J|5Q0$KgBl+pf@<*ugA=NPB84Es=GY|$y%t&t%?9E+K|j*J)00$u0URs z6}K$=CpuL#AsJ&#Ml-gwP6~>0SY0;B0XlgNI&joA6G2%CnsqZYN6{QjFQ-f#MJ1pv zS(Lo(DX5vC7=pICX)|Y`Inz`qni-MT_-VnSzhYK<-b^qih9(5Y3<*}WPy|i$EGv4ff)&~)*fuB< z`p|g)WL903h!{nyjiK!nBm^rX5+>eE6RekJ36qDidaZU3Z?g0HG{*;otCUpKy7uJv zu@SZ;Ex&}tXM*Deebybgpf?$cc=ENBrXKecIq4tvK}33&<|m@7vR4c93M^|vwVQUh z$V}o@zU}VP@2!;yO)2S_hVlPMPnJdS@xdmDHYbVe$&mVrNi>DLvtRMEN$Y3=j&_`G zrnW13NbP4BMAQn}zG1cabpW#7u5y;SBj>OF_bXTn@B8JU`9t<& zE5i9Xf1Z?22sLB38aH1ldw(^3R6Y2}2lVVcm&;dvyM)?(nT-|<7hHRK=FJmd-RfTa z%CBRQ7yDi^+#E2wPLD*DZ_ZwA%irFUHM;e9UstaI%m6t61D)Vbqpu}vS8eWwWv7Z_ zYhr_=g{9|O5BzcKLQ(9q*l2DBpEyf`aOaKN!n)H%vA1G_OTi`kp;VM#|A3)=g;0B7}~P;olz8COioANm8tX7+1xXJ zJa^>bG@VKj>PF|b?7p5SV-49QEui60&%ma}BZ)C7{F063ET6sq@A2rlXi0-GzG~}m zVd=J$n;m)gU+U=XE&1rp&!b1c^=k(fsyoI8dTYUO`{9oDfv?MkukSh4-8pr#^r6Q< kks3trv#!oj|wGXPyx71hqeYZ{;V2cbLEbpQYW literal 0 HcmV?d00001 diff --git a/assets/generic_93.png b/assets/generic_93.png new file mode 100644 index 0000000000000000000000000000000000000000..1b35f671d1dc6e621e204386105e02b00d467f95 GIT binary patch literal 2524 zcmbVNYfKbZ6uy91r6r+N`%sG0u|GsRJCEJj$AqmQOM%8k3MiV=l-ZfPFuFT4&J66r zrgoJ^Q(7O1O-z+)AF-uAP=B;d(~4T6*wm&!j7q2pM6D(j>$4DBAHB1?Y|#K3C)v!I zx#xV}cOG;0{qnNn%#7(70D#QW5>EvHDacF#lP02Djn?i*x5;YBQXPONr&Mg*gNega(g=g8^CR!frf<%OTr*P2yP0#aQmf3rs?6 ziMJdpR5XY=EDRw~6ooll7S?WuK7oA&V|PQMp15 z@`j>SDN10tQ{}^wF~(}KVY90xSyV!L?uY>B;SK1lWhZD?6+?3r&C&E+%F0nx z+|{dylD{eGY9lCypzT$(jbmw!q3&}kgtQJD%asyvW#4z z5>PZmjMQ0UD!g8x$n9@fs|sL$!P8 zaFJt)*ZIcrr9WCLDv#~Q}Rk)9}vP|wSC5N%EpH<`9%NU>Z;a*DIgV00vL#b2aQ8bX&Wmt7Umww ziOi4mT$_>KH}u&HYYyi`eu`Yp7$YWz5(nJ%+dZN9XintwNKY;}VPk{8ukmLWM+PQe z=DVxG=4Asbo<63GLVLfE?76^lvgaILek4Wx`e@E`tLD6$9ye}J98ZIp(xLsS{T1un zmefVralZDm;Cx%xiH1+ygYOOYJ3zkqCp!UTjbdbh4P%^)6ZEj7vB*ZmMJv;>9aFbe zw3-t4opVGxuM}FJYC%s!{nJKOnh1`kv3UEv?)4wK2R%dkD#4f1vfghqe|4@O?3vQr zwSI5Bk{kQR&N_kRTnuV~w;+PO~@i z)^_Ja@RsU$jXP&XKdK17o*P%x2WobG)4iy6@1u-C$I0Gvb5t}2drsw4uR4$#8`pu^ z7YAMnWJiB_`$}lf=`Qxdv93^ON{#&8)~^mrc{v+~E}q)d^VhWg>&@*)+xXkpl&Mj; xbjwVgzVPymyT{KK=Z`3TViq2=^U=Mx(w^yDz2kh=^xh*$)V&wLKQM=3nVA>4l=K|Yy z%mQH2X*JSfw}hXSk)HBEMUP@nCS?#b02P%P1EN-JQ&AjOwIF@vSU*jvN|0_A!(7;? z#tF5y)5J}k^%2zBiX?@ue3Gij$Rt1t+mOnnlA0xFf^;^nOl;>dOH)~h-5R8;973uk z+(1?9CZ+-&fk7O{Q31&#`u#YH#6^_A2?EQBEGIEsKo$g9kf{7c6FO6g$&I0>^JL@{ zq!YGn$Sj*qr#)$}M>pdvFG&*139KM61i@Gxnhi6IX3Zao5W*HRRl`BD|!X$eizFW60GehPG}- zbUiuJsfH2Bl;HLFsK=XCP0`cVf?FJL2--MEldgFg&d=~tMBrtPmwA36=ao4w2Mz0r z8tW)PeGDfsyg$PGWRa6aX%v*qi~?T_{MCoIR?l$WZhm=qrbeQ0^^fqJAIGKtYfgpM(N_@=E{$Y)Y<-CZ>G2?@=7!yD~iGdJ_jNi|pfD+{-ACg9*Ej3m0p~2*> zQ5{u^qskAVC`J7YRuE>qqA%vC3NQgLEEkm+6az?cra3zxa;<8S)^+5+k0!h-ZzWYK zI}9Iq#oNU=nnK=I7WgJ!Yq&iL2tIc6S^uc0BPGY`=r_ zyJ}@lQ$hN8!}wpM=gWc;P>W--Ia%6ChILj8I^Q>%8x6 zJ+ZlJZ-2?k7p9&5bK~0P^RdITtT&cb9y$|sTQBb3vjLvvyK1`sO5Ys5`suQY-Akum z;6T^bOW$p+UV8S(ksq(n2im|(B{O@jKME+&4S*X=xy{%S01NgGZEn1L@UcT1=Jvb( zcxB!;IE$S6?%zM2j}s*q@W74X%65gIk8arM=E6;1zn@B+Ty^Nwt}n~lU!G*VbFysa z+TqD#(2f%F$wBu(<7+{W`?)z_%gW2EruY2ToHIVxC(@8jY0g66`R2kP-EhK{<9nj( zUWi|}w4=S#zNk2N?ZS+U>nEh6K$&Zl?r}ylJKD)~sCJ3DPd zH^JMRk2gJYFgp>$lLwyP7wmPfo&<_ODOl|M{~6mDXmJ_)zAbBByYQjz*2C96oO=1; ztiy^LDP95x!SXd7{jDFB_3|}kAOBuFU>^ISqPTwWYNoI9gI%As?+07XSBpPCIJl{6 z4_I{Ot6~34R4-gPw`fgK(d~S$p(zt68TZxoZSz`=@7%j!^>!B^SKX5OQ14SK*8L3y C^X*0e literal 0 HcmV?d00001 diff --git a/assets/generic_95.png b/assets/generic_95.png new file mode 100644 index 0000000000000000000000000000000000000000..2286dbfc87153e08e8b1f8b04156931cf8e6f16a GIT binary patch literal 2564 zcmbtUeQXnD7=Ozg8yEzF3kxEg#~(1@dLO-h+(B9A3T$e}80E`M$MyPlJ!pI7?nb*2 zLj8zD(aZ!taG8t7Fb9diM8k*3P!fg#qLBd0hGBD)5!^DOW?>P;_u8&*vJaw{G=1*w z_x_&W^Lw6qUN0_MIc4&!$pC;Ug$2$M01PNJfXs>LuT*L9p}$Gtf{iKwkIvA422fL* z4M6&Ll6!-;!Sx(3%0Z*xl|9fH4TcdKfTg+7upn-M8s>rJQpk??ebt0xlGl!}H@hfT zI3N0@f+_{BsVZ`dRa->Pi{~!GmPUC*5QLh5MT3Em%17;ZoR>$j{+PtEI7HiG$Mf`r z*alZImM<$1vlqbbOPni` z$81270fnu@S=3LEyz znymWeQK(a|hb2JXx?HIoBWei-Qz=w!`8HHW(vT6+s=G1_$r7l_6^aO#Z$mQY>D7e! zd<6=cthi-4FxaW$LCF|nGP2l$^-{Z+W=CLs}VWUkP!B|)i!FgyOL9-sl zCkhs`z&KQWjWDiwwP>)gEA2`#o7p)&u1YZWnrzf#p1EC zDK)DU34LfnU?{7u%8M9T#sUS}<|7yiX@M-u5uDe=5N4J$c_^QarZ}rU&G7-@3nUe_ zt}^+3tbtpTQ9#1tGrwc=E9{f*%i+Ie9+fhlq5H<|neNvQLW$3d}1< z-iE0cfaEAhODDO zINEV~nA)!BCbgeo2vI9&``%jcp>P0dK(RM%Y}Z2RHOPJgxi zWBcqoliN$)vKuE1OdKKYFd>eOhVcHgb7sD@@Uhsl=Kf=u?tw*#pzDbT1P?ojih}8< z_s!Z~`p5wrFkWuy#EXA9lnCCI$I>6S#|7<)4~y>VMSv z*MDiO<7&ml&lh(zHrJhN&jQnc1H}3=uzio$)gICP3b&Ks>gL|9SuJB07Iy`8{LAOJ zm!==IfrFP@I~N{akJx}Amgc(D^;FO7*!i-)$Y)p2nCrVbmNWt5(YA}1+SxhP&42b? z+0)XO)&5&m!`WKlZs+wJ@aqXn?hVg{!W;LjyQ^alej*r{V;Iu&#L$m7&WNV$_YCDo VQAf`y@(@5*;qoHq!KXL9{5Q$K2EzaV literal 0 HcmV?d00001 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 08f47225..d4380982 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -242,7 +242,7 @@ importers: version: 1.0.0 minecraft-inventory-gui: specifier: github:zardoy/minecraft-inventory-gui#next - version: github.com/zardoy/minecraft-inventory-gui/306d056da5ebf49cc2550aa311d0f17f60cdb6cd(@types/react@18.2.20)(react@18.2.0) + version: github.com/zardoy/minecraft-inventory-gui/5dfb4e39e601108f6e1306cd0f4b9de45cf6b1db(@types/react@18.2.20)(react@18.2.0) mineflayer: specifier: github:PrismarineJS/mineflayer version: github.com/PrismarineJS/mineflayer/cc98f1307e3ab48477d2a9ff29da4447f42b30bc @@ -15200,9 +15200,9 @@ packages: vec3: 0.1.8 dev: false - github.com/zardoy/minecraft-inventory-gui/306d056da5ebf49cc2550aa311d0f17f60cdb6cd(@types/react@18.2.20)(react@18.2.0): - resolution: {tarball: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/306d056da5ebf49cc2550aa311d0f17f60cdb6cd} - id: github.com/zardoy/minecraft-inventory-gui/306d056da5ebf49cc2550aa311d0f17f60cdb6cd + github.com/zardoy/minecraft-inventory-gui/5dfb4e39e601108f6e1306cd0f4b9de45cf6b1db(@types/react@18.2.20)(react@18.2.0): + resolution: {tarball: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/5dfb4e39e601108f6e1306cd0f4b9de45cf6b1db} + id: github.com/zardoy/minecraft-inventory-gui/5dfb4e39e601108f6e1306cd0f4b9de45cf6b1db name: minecraft-inventory-gui version: 1.0.1 dependencies: diff --git a/src/playerWindows.ts b/src/playerWindows.ts index ee5667c5..753dcab3 100644 --- a/src/playerWindows.ts +++ b/src/playerWindows.ts @@ -27,6 +27,7 @@ import mojangson from 'mojangson' import nbt from 'prismarine-nbt' import { splitEvery, equals } from 'rambda' import PItem, { Item } from 'prismarine-item' +import Generic95 from '../assets/generic_95.png' import { activeModalStack, hideCurrentModal, miscUiState, showModal } from './globalState' import invspriteJson from './invsprite.json' import { options } from './optionsStorage' @@ -189,6 +190,7 @@ const getImageSrc = (path): string | HTMLImageElement => { case 'gui/container/crafting_table': return CraftingTableGui case 'gui/container/shulker_box': return ChestLikeGui case 'gui/container/generic_54': return LargeChestLikeGui + case 'gui/container/generic_95': return Generic95 case 'gui/container/hopper': return HopperGui case 'gui/container/horse': return HorseGui case 'gui/container/villager': return VillageGui @@ -342,6 +344,7 @@ export const onModalClose = (callback: () => any) => { const implementedContainersGuiMap = { // todo allow arbitrary size instead! 'minecraft:generic_9x3': 'ChestWin', + 'minecraft:generic_9x5': 'Generic95Win', // hopper 'minecraft:generic_5x1': 'HopperWin', 'minecraft:generic_9x6': 'LargeChestWin', From 726df2efd72a2d209c243ef1a6c6fc0b5207612b Mon Sep 17 00:00:00 2001 From: Vitaly Date: Fri, 16 Feb 2024 14:58:10 +0300 Subject: [PATCH 07/28] up lock --- pnpm-lock.yaml | 89 +++++++++++++++++++++++--------------------------- 1 file changed, 41 insertions(+), 48 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d4380982..4301e98d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,6 @@ settings: excludeLinksFromLockfile: false overrides: - flying-squid: file:../space-squid-2 three: 0.128.0 diamond-square: github:zardoy/diamond-square prismarine-block: github:zardoy/prismarine-block#next-era @@ -77,8 +76,8 @@ importers: specifier: ^4.18.2 version: 4.18.2 flying-squid: - specifier: file:C:\Users\Vitaly\Documents\repos\space-squid-2 - version: file:../space-squid-2 + specifier: npm:@zardoy/flying-squid@^0.0.9 + version: /@zardoy/flying-squid@0.0.9 fs-extra: specifier: ^11.1.1 version: 11.1.1 @@ -5595,6 +5594,45 @@ packages: tslib: 1.14.1 dev: true + /@zardoy/flying-squid@0.0.9: + resolution: {integrity: sha512-Q7xqm+Uu/Y/8jziVM+sazddDw50t3IoQ7y0BTAgLpYaqEsJDvTAoXmHspd9NRFVEs0CM4M/qZxvztCcdJryGIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + change-case: 4.1.2 + colors: 1.4.0 + diamond-square: github.com/zardoy/diamond-square/915fce8e27fe8eb45464d89b9563956afa4f7687 + emit-then: 2.0.0 + event-promise: 0.0.1 + exit-hook: 2.2.1 + flatmap: 0.0.3 + long: 5.2.3 + minecraft-data: 3.60.0 + minecraft-protocol: github.com/zardoy/minecraft-protocol/2c14a686bfe7cbd9a5c87b629b402295ee86219f + mkdirp: 2.1.6 + moment: 2.29.4 + needle: 2.9.1 + node-gzip: 1.1.2 + node-rsa: 1.1.1 + prismarine-chunk: 1.35.0(minecraft-data@3.60.0) + prismarine-entity: 2.3.1 + prismarine-item: 1.14.0 + prismarine-nbt: 2.5.0 + prismarine-provider-anvil: github.com/zardoy/prismarine-provider-anvil/0ddcd9d48574113308e1fbebef60816aced0846f(minecraft-data@3.60.0) + prismarine-windows: 2.8.0 + prismarine-world: github.com/zardoy/prismarine-world/c358222204d21fe7d45379fbfcefb047f926c786 + random-seed: 0.3.0 + range: 0.0.3 + readline: 1.3.0 + typed-emitter: 1.4.0 + uuid-1345: 1.0.2 + vec3: 0.1.8 + yargs: 17.7.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + /@zardoy/react-util@0.2.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-glABtx54mh4XSaK6BNALWE3mlshPjcPwPsRj/GnOXEA7WJY/6n43iJoukbaYF3758mGZRU5Fq6gklyFjBg0yHQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -12170,10 +12208,6 @@ packages: resolution: {integrity: sha512-yosVdGg1hNGkXPzqGiOYNEpXKjEOxzUCg2rB0l+NKdyCaSf4z+i5ojbN0IqDSezMMf71YEglI+ZUTgTffn5afw==} dev: false - /rambda@9.1.0: - resolution: {integrity: sha512-fCRAq8Of+bAuqjAA0MSb/umbNgiYwy9N5camM2T++Qu/mRImLT3a31hf0REvnqaWCrgrdC3ewf/ucAILsYeBgQ==} - dev: false - /ramda@0.29.0: resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} dev: true @@ -15105,47 +15139,6 @@ packages: react: 18.2.0 dev: false - file:../space-squid-2: - resolution: {directory: ../space-squid-2, type: directory} - name: '@zardoy/flying-squid' - engines: {node: '>=8'} - hasBin: true - dependencies: - change-case: 4.1.2 - colors: 1.4.0 - diamond-square: github.com/zardoy/diamond-square/915fce8e27fe8eb45464d89b9563956afa4f7687 - emit-then: 2.0.0 - event-promise: 0.0.1 - exit-hook: 2.2.1 - flatmap: 0.0.3 - long: 5.2.3 - minecraft-data: 3.60.0 - minecraft-protocol: github.com/zardoy/minecraft-protocol/2c14a686bfe7cbd9a5c87b629b402295ee86219f - mkdirp: 2.1.6 - moment: 2.29.4 - needle: 2.9.1 - node-gzip: 1.1.2 - node-rsa: 1.1.1 - prismarine-chunk: 1.35.0(minecraft-data@3.60.0) - prismarine-entity: 2.3.1 - prismarine-item: 1.14.0 - prismarine-nbt: 2.5.0 - prismarine-provider-anvil: github.com/zardoy/prismarine-provider-anvil/0ddcd9d48574113308e1fbebef60816aced0846f(minecraft-data@3.60.0) - prismarine-windows: 2.8.0 - prismarine-world: github.com/zardoy/prismarine-world/c358222204d21fe7d45379fbfcefb047f926c786 - rambda: 9.1.0 - random-seed: 0.3.0 - range: 0.0.3 - readline: 1.3.0 - typed-emitter: 1.4.0 - uuid-1345: 1.0.2 - vec3: 0.1.8 - yargs: 17.7.2 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - github.com/PrismarineJS/mineflayer/cc98f1307e3ab48477d2a9ff29da4447f42b30bc: resolution: {tarball: https://codeload.github.com/PrismarineJS/mineflayer/tar.gz/cc98f1307e3ab48477d2a9ff29da4447f42b30bc} name: mineflayer From a4c92ae5da9040890eafa05780f8a91dbb84839e Mon Sep 17 00:00:00 2001 From: Vitaly Date: Fri, 16 Feb 2024 15:11:14 +0300 Subject: [PATCH 08/28] wip DEPS_VERSIONS --- esbuild.mjs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/esbuild.mjs b/esbuild.mjs index 46283bb1..2d18ae3a 100644 --- a/esbuild.mjs +++ b/esbuild.mjs @@ -70,7 +70,8 @@ const buildOptions = { 'process.env.NODE_ENV': JSON.stringify(dev ? 'development' : 'production'), 'process.env.BUILD_VERSION': JSON.stringify(!dev ? buildingVersion : 'undefined'), 'process.env.GITHUB_URL': - JSON.stringify(`https://github.com/${process.env.GITHUB_REPOSITORY || `${process.env.VERCEL_GIT_REPO_OWNER}/${process.env.VERCEL_GIT_REPO_SLUG}`}`) + JSON.stringify(`https://github.com/${process.env.GITHUB_REPOSITORY || `${process.env.VERCEL_GIT_REPO_OWNER}/${process.env.VERCEL_GIT_REPO_SLUG}`}`), + 'process.env.DEPS_VERSIONS': JSON.stringify({}) }, loader: { // todo use external or resolve issues with duplicating From 6a603f9c9cf0671a01274afe4d68fe6c7d01cb55 Mon Sep 17 00:00:00 2001 From: Vitaly Date: Fri, 16 Feb 2024 15:14:35 +0300 Subject: [PATCH 09/28] fix villager path, add beacon --- src/playerWindows.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/playerWindows.ts b/src/playerWindows.ts index 753dcab3..6bc3f486 100644 --- a/src/playerWindows.ts +++ b/src/playerWindows.ts @@ -8,9 +8,10 @@ import CraftingTableGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/ import DispenserGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/dispenser.png' import HopperGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/hopper.png' import HorseGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/horse.png' -import VillageGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/villager.png' +import VillagerGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/villager2.png' import EnchantingGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/enchanting_table.png' import AnvilGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/anvil.png' +import BeaconGui from 'minecraft-assets/minecraft-assets/data/1.17.1/gui/container/beacon.png' import Dirt from 'minecraft-assets/minecraft-assets/data/1.17.1/blocks/dirt.png' import { subscribeKey } from 'valtio/utils' @@ -193,9 +194,10 @@ const getImageSrc = (path): string | HTMLImageElement => { case 'gui/container/generic_95': return Generic95 case 'gui/container/hopper': return HopperGui case 'gui/container/horse': return HorseGui - case 'gui/container/villager': return VillageGui + case 'gui/container/villager2': return VillagerGui case 'gui/container/enchanting_table': return EnchantingGui case 'gui/container/anvil': return AnvilGui + case 'gui/container/beacon': return BeaconGui } return Dirt } From 6444d3f2ea57c7c5c934d7aa2d982a2f3b3a5c1c Mon Sep 17 00:00:00 2001 From: Vitaly Turovsky Date: Fri, 16 Feb 2024 08:00:55 +0300 Subject: [PATCH 10/28] Add notes for using next branch and linking dependencies locally --- CONTRIBUTING.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 407fd03f..22958d3f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,6 +8,9 @@ After forking the repository, run the following commands to get started: A few notes: +- Use `next` branch for development and as base & target branch for pull requests if possible. +- To link dependency locally e.g. flying-squid add this to `pnpm` > `overrides` of root package.json: `"flying-squid": "file:../space-squid",` (with some modules `pnpm link` also works) + - It's recommended to use debugger for debugging. VSCode has a great debugger built-in. If debugger is slow, you can use `--no-sources` flag that would allow browser to speedup .map file parsing. - Some data are cached between restarts. If you see something doesn't work after upgrading dependencies, try to clear the by simply removing the `dist` folder. - The same folder `dist` is used for both development and production builds, so be careful when deploying the project. From 39a9d36a878ff5fc100d5cafa2ea6dd44095e03d Mon Sep 17 00:00:00 2001 From: Vitaly Turovsky Date: Fri, 16 Feb 2024 09:30:26 +0300 Subject: [PATCH 11/28] up deps --- package.json | 4 +- pnpm-lock.yaml | 557 ++++++++++++++++++++++++++++++++----------------- 2 files changed, 371 insertions(+), 190 deletions(-) diff --git a/package.json b/package.json index b28f786e..f9cfe462 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "lit": "^2.8.0", "lodash-es": "^4.17.21", "minecraft-assets": "^1.12.2", - "minecraft-data": "3.60.0", + "minecraft-data": "3.61.0", "net-browserify": "github:zardoy/prismarinejs-net-browserify", "node-gzip": "^1.1.2", "peerjs": "^1.5.0", @@ -129,7 +129,7 @@ "diamond-square": "github:zardoy/diamond-square", "prismarine-block": "github:zardoy/prismarine-block#next-era", "prismarine-world": "github:zardoy/prismarine-world#next-era", - "minecraft-data": "3.60.0", + "minecraft-data": "3.61.0", "prismarine-provider-anvil": "github:zardoy/prismarine-provider-anvil#everything", "minecraft-protocol": "github:zardoy/minecraft-protocol#everything", "react": "^18.2.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4301e98d..b1fc701e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ overrides: diamond-square: github:zardoy/diamond-square prismarine-block: github:zardoy/prismarine-block#next-era prismarine-world: github:zardoy/prismarine-world#next-era - minecraft-data: 3.60.0 + minecraft-data: 3.61.0 prismarine-provider-anvil: github:zardoy/prismarine-provider-anvil#everything minecraft-protocol: github:zardoy/minecraft-protocol#everything react: ^18.2.0 @@ -97,8 +97,8 @@ importers: specifier: ^1.12.2 version: 1.12.2 minecraft-data: - specifier: 3.60.0 - version: 3.60.0 + specifier: 3.61.0 + version: 3.61.0 net-browserify: specifier: github:zardoy/prismarinejs-net-browserify version: github.com/zardoy/prismarinejs-net-browserify/7d827dba61bd2f9ac9a6086fe2079a0fccadd070 @@ -153,7 +153,7 @@ importers: optionalDependencies: systeminformation: specifier: ^5.21.22 - version: 5.21.22 + version: 5.21.24 devDependencies: '@storybook/addon-essentials': specifier: ^7.4.6 @@ -169,13 +169,13 @@ importers: version: 7.4.6(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) '@storybook/react-vite': specifier: ^7.4.6 - version: 7.4.6(react-dom@18.2.0)(react@18.2.0)(rollup@2.79.1)(typescript@5.2.2)(vite@4.5.0) + version: 7.4.6(react-dom@18.2.0)(react@18.2.0)(rollup@2.79.1)(typescript@5.2.2)(vite@4.5.2) '@storybook/web-components': specifier: ^7.4.6 version: 7.4.6(lit@2.8.0)(react-dom@18.2.0)(react@18.2.0) '@storybook/web-components-vite': specifier: ^7.4.6 - version: 7.4.6(lit@2.8.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.0) + version: 7.4.6(lit@2.8.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.2) '@types/lodash-es': specifier: ^4.17.9 version: 4.17.9 @@ -244,7 +244,7 @@ importers: version: github.com/zardoy/minecraft-inventory-gui/5dfb4e39e601108f6e1306cd0f4b9de45cf6b1db(@types/react@18.2.20)(react@18.2.0) mineflayer: specifier: github:PrismarineJS/mineflayer - version: github.com/PrismarineJS/mineflayer/cc98f1307e3ab48477d2a9ff29da4447f42b30bc + version: github.com/PrismarineJS/mineflayer/b9491ae508dc52e4538dd66eb6f47a639facde20 mineflayer-pathfinder: specifier: ^2.4.4 version: 2.4.4 @@ -331,7 +331,7 @@ importers: version: github.com/zardoy/prismarine-block/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0 prismarine-chunk: specifier: ^1.22.0 - version: 1.35.0(minecraft-data@3.60.0) + version: 1.35.0(minecraft-data@3.61.0) prismarine-schematic: specifier: ^1.2.0 version: 1.2.3 @@ -403,15 +403,15 @@ packages: default-browser-id: 3.0.0 dev: true - /@azure/msal-common@14.3.0: - resolution: {integrity: sha512-nKwhWW7QbiziXG8lcebCqbyxiuJAdBik7SBu3vPdJJ+rUr8M2uigAIi5OY7FwddRahlYzLMGG8U1oMeEOulNqQ==} + /@azure/msal-common@14.7.0: + resolution: {integrity: sha512-WexujW5jKWib7xtIxR7fEVyd5xcA3FNwenELy2HO4YC/ivTFdsEcDhtpKQuRUHqXRwxoqBblyZzTAhBm4v6fHA==} engines: {node: '>=0.8.0'} - /@azure/msal-node@2.4.0: - resolution: {integrity: sha512-Le2UhUs+RhEoEQ+/BZxqrDw74yq1jlqUeovo43IE4clHEbtWaX+KdUFrdWxLe4RQemA4jPEZwBiODvKhbOxafg==} - engines: {node: 18 || 20} + /@azure/msal-node@2.6.3: + resolution: {integrity: sha512-ojjJqUwb297T5Tcln4PbJANFEqRXfbQXcyOrtdr1HQYIo+dSuCT/o0nG6bFVihf6fcNykDwJLCQPVXzTkx/oGg==} + engines: {node: '>=16'} dependencies: - '@azure/msal-common': 14.3.0 + '@azure/msal-common': 14.7.0 jsonwebtoken: 9.0.2 uuid: 8.3.2 @@ -1711,48 +1711,48 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@cbor-extract/cbor-extract-darwin-arm64@2.1.1: - resolution: {integrity: sha512-blVBy5MXz6m36Vx0DfLd7PChOQKEs8lK2bD1WJn/vVgG4FXZiZmZb2GECHFvVPA5T7OnODd9xZiL3nMCv6QUhA==} + /@cbor-extract/cbor-extract-darwin-arm64@2.2.0: + resolution: {integrity: sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==} cpu: [arm64] os: [darwin] requiresBuild: true dev: false optional: true - /@cbor-extract/cbor-extract-darwin-x64@2.1.1: - resolution: {integrity: sha512-h6KFOzqk8jXTvkOftyRIWGrd7sKQzQv2jVdTL9nKSf3D2drCvQB/LHUxAOpPXo3pv2clDtKs3xnHalpEh3rDsw==} + /@cbor-extract/cbor-extract-darwin-x64@2.2.0: + resolution: {integrity: sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==} cpu: [x64] os: [darwin] requiresBuild: true dev: false optional: true - /@cbor-extract/cbor-extract-linux-arm64@2.1.1: - resolution: {integrity: sha512-SxAaRcYf8S0QHaMc7gvRSiTSr7nUYMqbUdErBEu+HYA4Q6UNydx1VwFE68hGcp1qvxcy9yT5U7gA+a5XikfwSQ==} + /@cbor-extract/cbor-extract-linux-arm64@2.2.0: + resolution: {integrity: sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==} cpu: [arm64] os: [linux] requiresBuild: true dev: false optional: true - /@cbor-extract/cbor-extract-linux-arm@2.1.1: - resolution: {integrity: sha512-ds0uikdcIGUjPyraV4oJqyVE5gl/qYBpa/Wnh6l6xLE2lj/hwnjT2XcZCChdXwW/YFZ1LUHs6waoYN8PmK0nKQ==} + /@cbor-extract/cbor-extract-linux-arm@2.2.0: + resolution: {integrity: sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==} cpu: [arm] os: [linux] requiresBuild: true dev: false optional: true - /@cbor-extract/cbor-extract-linux-x64@2.1.1: - resolution: {integrity: sha512-GVK+8fNIE9lJQHAlhOROYiI0Yd4bAZ4u++C2ZjlkS3YmO6hi+FUxe6Dqm+OKWTcMpL/l71N6CQAmaRcb4zyJuA==} + /@cbor-extract/cbor-extract-linux-x64@2.2.0: + resolution: {integrity: sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==} cpu: [x64] os: [linux] requiresBuild: true dev: false optional: true - /@cbor-extract/cbor-extract-win32-x64@2.1.1: - resolution: {integrity: sha512-2Niq1C41dCRIDeD8LddiH+mxGlO7HJ612Ll3D/E73ZWBmycued+8ghTr/Ho3CMOWPUEr08XtyBMVXAjqF+TcKw==} + /@cbor-extract/cbor-extract-win32-x64@2.2.0: + resolution: {integrity: sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==} cpu: [x64] os: [win32] requiresBuild: true @@ -3105,7 +3105,7 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@joshwooding/vite-plugin-react-docgen-typescript@0.2.1(typescript@5.2.2)(vite@4.5.0): + /@joshwooding/vite-plugin-react-docgen-typescript@0.2.1(typescript@5.2.2)(vite@4.5.2): resolution: {integrity: sha512-ou4ZJSXMMWHqGS4g8uNRbC5TiTWxAgQZiVucoUrOCWuPrTbkpJbmVyIi9jU72SBry7gQtuMEDp4YR8EEXAg7VQ==} peerDependencies: typescript: '>= 4.3.x' @@ -3119,7 +3119,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.2.2) typescript: 5.2.2 - vite: 4.5.0 + vite: 4.5.2 dev: true /@jridgewell/gen-mapping@0.3.3: @@ -4310,7 +4310,7 @@ packages: - supports-color dev: true - /@storybook/builder-vite@7.4.6(typescript@5.2.2)(vite@4.5.0): + /@storybook/builder-vite@7.4.6(typescript@5.2.2)(vite@4.5.2): resolution: {integrity: sha512-xV9STYK+TkqWWTf2ydm6jx+7P70fjD2UPd1XTUw08uKszIjhuuxk+bG/OF5R1E25mPunAKXm6kBFh351AKejBg==} peerDependencies: '@preact/preset-vite': '*' @@ -4345,7 +4345,7 @@ packages: remark-slug: 6.1.0 rollup: 3.29.4 typescript: 5.2.2 - vite: 4.5.0 + vite: 4.5.2 transitivePeerDependencies: - encoding - supports-color @@ -4686,7 +4686,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-vite@7.4.6(react-dom@18.2.0)(react@18.2.0)(rollup@2.79.1)(typescript@5.2.2)(vite@4.5.0): + /@storybook/react-vite@7.4.6(react-dom@18.2.0)(react@18.2.0)(rollup@2.79.1)(typescript@5.2.2)(vite@4.5.2): resolution: {integrity: sha512-jkjnrf3FxzR5wcmebXRPflrsM4WIDjWyW/NVFJwxi5PeIOk7fE7/QAPrm4NFRUu2Q7DeuH3oLKsw8bigvUI9RA==} engines: {node: '>=16'} peerDependencies: @@ -4694,17 +4694,17 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 vite: ^3.0.0 || ^4.0.0 dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.2.1(typescript@5.2.2)(vite@4.5.0) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.2.1(typescript@5.2.2)(vite@4.5.2) '@rollup/pluginutils': 5.0.5(rollup@2.79.1) - '@storybook/builder-vite': 7.4.6(typescript@5.2.2)(vite@4.5.0) + '@storybook/builder-vite': 7.4.6(typescript@5.2.2)(vite@4.5.2) '@storybook/react': 7.4.6(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@vitejs/plugin-react': 3.1.0(vite@4.5.0) + '@vitejs/plugin-react': 3.1.0(vite@4.5.2) ast-types: 0.14.2 magic-string: 0.30.4 react: 18.2.0 react-docgen: 6.0.0-alpha.3 react-dom: 18.2.0(react@18.2.0) - vite: 4.5.0 + vite: 4.5.2 transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -4806,14 +4806,14 @@ packages: file-system-cache: 2.3.0 dev: true - /@storybook/web-components-vite@7.4.6(lit@2.8.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.0): + /@storybook/web-components-vite@7.4.6(lit@2.8.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.5.2): resolution: {integrity: sha512-L/y6MTLbqfHaM0faK9Yl8n5PIyW4daZrtk7NfaOT6UjgNFjOx3o4CctYew6oj90cNk5HdZQX2OZny043GxDLZw==} engines: {node: ^14.18 || >=16} peerDependencies: react: ^18.2.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@storybook/builder-vite': 7.4.6(typescript@5.2.2)(vite@4.5.0) + '@storybook/builder-vite': 7.4.6(typescript@5.2.2)(vite@4.5.2) '@storybook/core-server': 7.4.6 '@storybook/node-logger': 7.4.6 '@storybook/web-components': 7.4.6(lit@2.8.0)(react-dom@18.2.0)(react@18.2.0) @@ -5098,6 +5098,11 @@ packages: resolution: {integrity: sha512-YGncyA25/MaVtQkjWW9r0EFBukZ+JulsLcVZBlGUfIb96OBMjkoRWwQo5IEWJ8Fj06Go3GHw+bjYDitv6BaGsA==} dev: true + /@types/node@20.11.19: + resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} + dependencies: + undici-types: 5.26.5 + /@types/node@20.8.0: resolution: {integrity: sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ==} @@ -5159,10 +5164,10 @@ packages: '@types/scheduler': 0.16.3 csstype: 3.1.2 - /@types/readable-stream@4.0.4: - resolution: {integrity: sha512-NSAiePj3Iq3kBArfpUWRNX/mRw8DibYD6YhNCIJDfUP/iIOQYsNJgtHyjpbuZlcbL7TxILS8qYjY/nXXvtcFQg==} + /@types/readable-stream@4.0.10: + resolution: {integrity: sha512-AbUKBjcC8SHmImNi4yK2bbjogQlkFSg7shZCcicxPQapniOlajG8GCc39lvXzCWX4lLRRs7DM3VAeSlqmEVZUA==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.11.19 safe-buffer: 5.1.2 /@types/resolve@1.17.1: @@ -5255,8 +5260,8 @@ packages: '@types/node': 20.8.0 dev: true - /@types/yauzl@2.10.2: - resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} + /@types/yauzl@2.10.3: + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: '@types/node': 20.8.10 @@ -5436,7 +5441,7 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@vitejs/plugin-react@3.1.0(vite@4.5.0): + /@vitejs/plugin-react@3.1.0(vite@4.5.2): resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -5447,7 +5452,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.11) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 4.5.0 + vite: 4.5.2 transitivePeerDependencies: - supports-color dev: true @@ -5607,18 +5612,18 @@ packages: exit-hook: 2.2.1 flatmap: 0.0.3 long: 5.2.3 - minecraft-data: 3.60.0 + minecraft-data: 3.61.0 minecraft-protocol: github.com/zardoy/minecraft-protocol/2c14a686bfe7cbd9a5c87b629b402295ee86219f mkdirp: 2.1.6 moment: 2.29.4 needle: 2.9.1 node-gzip: 1.1.2 node-rsa: 1.1.1 - prismarine-chunk: 1.35.0(minecraft-data@3.60.0) + prismarine-chunk: 1.35.0(minecraft-data@3.61.0) prismarine-entity: 2.3.1 prismarine-item: 1.14.0 prismarine-nbt: 2.5.0 - prismarine-provider-anvil: github.com/zardoy/prismarine-provider-anvil/0ddcd9d48574113308e1fbebef60816aced0846f(minecraft-data@3.60.0) + prismarine-provider-anvil: github.com/zardoy/prismarine-provider-anvil/0ddcd9d48574113308e1fbebef60816aced0846f(minecraft-data@3.61.0) prismarine-windows: 2.8.0 prismarine-world: github.com/zardoy/prismarine-world/c358222204d21fe7d45379fbfcefb047f926c786 random-seed: 0.3.0 @@ -5894,6 +5899,14 @@ packages: call-bind: 1.0.2 is-array-buffer: 3.0.2 + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + dev: true + /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} @@ -5933,14 +5946,14 @@ packages: es-shim-unscopables: 1.0.0 dev: true - /array.prototype.tosorted@1.1.2: - resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + /array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 + es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 dev: true /arraybuffer.prototype.slice@1.0.2: @@ -5955,6 +5968,20 @@ packages: is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.2 + dev: true + /arraybuffer.slice@0.0.7: resolution: {integrity: sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==} dev: false @@ -6054,6 +6081,11 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} + /available-typed-arrays@1.0.6: + resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==} + engines: {node: '>= 0.4'} + dev: true + /aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} @@ -6063,7 +6095,7 @@ packages: /axios@0.21.4(debug@4.3.4): resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.15.3(debug@4.3.4) + follow-redirects: 1.15.5(debug@4.3.4) transitivePeerDependencies: - debug @@ -6483,12 +6515,15 @@ packages: function-bind: 1.1.1 get-intrinsic: 1.2.1 - /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.1.1 + get-intrinsic: 1.2.4 + set-function-length: 1.2.1 dev: true /callsites@3.1.0: @@ -6549,26 +6584,26 @@ packages: /caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - /cbor-extract@2.1.1: - resolution: {integrity: sha512-1UX977+L+zOJHsp0mWFG13GLwO6ucKgSmSW6JTl8B9GUvACvHeIVpFqhU92299Z6PfD09aTXDell5p+lp1rUFA==} + /cbor-extract@2.2.0: + resolution: {integrity: sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==} hasBin: true requiresBuild: true dependencies: - node-gyp-build-optional-packages: 5.0.3 + node-gyp-build-optional-packages: 5.1.1 optionalDependencies: - '@cbor-extract/cbor-extract-darwin-arm64': 2.1.1 - '@cbor-extract/cbor-extract-darwin-x64': 2.1.1 - '@cbor-extract/cbor-extract-linux-arm': 2.1.1 - '@cbor-extract/cbor-extract-linux-arm64': 2.1.1 - '@cbor-extract/cbor-extract-linux-x64': 2.1.1 - '@cbor-extract/cbor-extract-win32-x64': 2.1.1 + '@cbor-extract/cbor-extract-darwin-arm64': 2.2.0 + '@cbor-extract/cbor-extract-darwin-x64': 2.2.0 + '@cbor-extract/cbor-extract-linux-arm': 2.2.0 + '@cbor-extract/cbor-extract-linux-arm64': 2.2.0 + '@cbor-extract/cbor-extract-linux-x64': 2.2.0 + '@cbor-extract/cbor-extract-win32-x64': 2.2.0 dev: false optional: true /cbor-x@1.5.4: resolution: {integrity: sha512-PVKILDn+Rf6MRhhcyzGXi5eizn1i0i3F8Fe6UMMxXBnWkalq9+C5+VTmlIjAYM4iF2IYF2N+zToqAfYOp+3rfw==} optionalDependencies: - cbor-extract: 2.1.1 + cbor-extract: 2.2.0 dev: false /chai@4.3.10: @@ -7305,13 +7340,13 @@ packages: gopd: 1.0.1 has-property-descriptors: 1.0.0 - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.0 + es-errors: 1.3.0 gopd: 1.0.1 - has-property-descriptors: 1.0.1 dev: true /define-lazy-prop@2.0.0: @@ -7796,68 +7831,84 @@ packages: unbox-primitive: 1.0.2 which-typed-array: 1.1.11 - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + /es-abstract@1.22.4: + resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.6 + call-bind: 1.0.7 + es-define-property: 1.0.0 + es-errors: 1.3.0 es-set-tostringtag: 2.0.2 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 has-proto: 1.0.1 has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.6 - is-array-buffer: 3.0.2 + hasown: 2.0.1 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.0 + safe-regex-test: 1.0.3 string.prototype.trim: 1.2.8 string.prototype.trimend: 1.0.7 string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 + typed-array-buffer: 1.0.1 typed-array-byte-length: 1.0.0 typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true - /es-iterator-helpers@1.0.15: - resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + + /es-iterator-helpers@1.0.17: + resolution: {integrity: sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==} + engines: {node: '>= 0.4'} dependencies: asynciterator.prototype: 1.0.0 - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 + es-errors: 1.3.0 es-set-tostringtag: 2.0.2 function-bind: 1.1.2 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 globalthis: 1.0.3 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.6 + internal-slot: 1.0.7 iterator.prototype: 1.1.2 - safe-array-concat: 1.0.1 + safe-array-concat: 1.1.0 dev: true /es-module-lexer@0.9.3: @@ -7876,9 +7927,9 @@ packages: resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - has-tostringtag: 1.0.0 - hasown: 2.0.0 + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.1 dev: true /es-shim-unscopables@1.0.0: @@ -7890,7 +7941,7 @@ packages: /es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.1 dev: true /es-to-primitive@1.2.1: @@ -8265,9 +8316,9 @@ packages: dependencies: array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.2 + array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 - es-iterator-helpers: 1.0.15 + es-iterator-helpers: 1.0.17 eslint: 8.50.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 @@ -8605,7 +8656,7 @@ packages: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.10.2 + '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color @@ -8809,6 +8860,18 @@ packages: optional: true dependencies: debug: 4.3.4(supports-color@8.1.1) + dev: true + + /follow-redirects@1.15.5(debug@4.3.4): + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.4(supports-color@8.1.1) /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -8983,13 +9046,15 @@ packages: has-proto: 1.0.1 has-symbols: 1.0.3 - /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 has-proto: 1.0.1 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.1 dev: true /get-nonce@1.0.1: @@ -9034,6 +9099,15 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + dev: true + /get-tsconfig@4.7.2: resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: @@ -9273,10 +9347,10 @@ packages: dependencies: get-intrinsic: 1.2.1 - /has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.0 dev: true /has-proto@1.0.1: @@ -9293,6 +9367,13 @@ packages: dependencies: has-symbols: 1.0.3 + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: false @@ -9319,8 +9400,8 @@ packages: minimalistic-assert: 1.0.1 dev: true - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 @@ -9618,13 +9699,13 @@ packages: has: 1.0.3 side-channel: 1.0.4 - /internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.1 + side-channel: 1.0.5 dev: true /invariant@2.2.4: @@ -9659,6 +9740,14 @@ packages: get-intrinsic: 1.2.1 is-typed-array: 1.1.12 + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + dev: true + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -9670,7 +9759,7 @@ packages: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-bigint@1.0.4: @@ -9717,7 +9806,7 @@ packages: /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.1 dev: true /is-date-object@1.0.5: @@ -9744,7 +9833,7 @@ packages: /is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 dev: true /is-fullwidth-code-point@3.0.0: @@ -9895,6 +9984,13 @@ packages: dependencies: which-typed-array: 1.1.11 + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.14 + dev: true + /is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -9914,8 +10010,8 @@ packages: /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /is-wsl@2.2.0: @@ -9991,9 +10087,9 @@ packages: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.4 + reflect.getprototypeof: 1.0.5 set-function-name: 2.0.1 dev: true @@ -10243,7 +10339,7 @@ packages: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.5.4 + semver: 7.6.0 /jsprim@2.0.2: resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} @@ -10260,7 +10356,7 @@ packages: dependencies: array-includes: 3.1.7 array.prototype.flat: 1.3.2 - object.assign: 4.1.4 + object.assign: 4.1.5 object.values: 1.1.7 dev: true @@ -10799,8 +10895,8 @@ packages: resolution: {integrity: sha512-/eMxh3LNjCXOnU6KnQMjBM8dRnoJNpWIg7mD2m2RthraYiQK2FNzPWIKxWm2j3Ufcf5nzFXupgABledE86r4fQ==} dev: false - /minecraft-data@3.60.0: - resolution: {integrity: sha512-zTS2DsFZBvHsYCUaKL+E0mSbrgAAX5DJzYmlskh/6WnVV7lxftW7jDjR8SMgGoBBS1V0TZ79BWp3+aD3r8wKIg==} + /minecraft-data@3.61.0: + resolution: {integrity: sha512-e7FMplGNjhAZvdxT66bP56ZqHymr+BrzCZlhNxRr1suFKueGSTQQA+DZ2ZU/vW/02dBFCrHfBEJh1sw5vOZ+Ew==} /minecraft-folder-path@1.2.0: resolution: {integrity: sha512-qaUSbKWoOsH9brn0JQuBhxNAzTDMwrOXorwuRxdJKKKDYvZhtml+6GVCUrY5HRiEsieBEjCUnhVpDuQiKsiFaw==} @@ -10836,7 +10932,7 @@ packages: /mineflayer-pathfinder@2.4.4: resolution: {integrity: sha512-HAXakZrJRb1UC+5dv8EaDrqjW3ZnBnBk3nkb6x/YWyhHCUKn/E7VU0FO+UN9whuqPlkSaVumEdXJdydE6lSYxQ==} dependencies: - minecraft-data: 3.60.0 + minecraft-data: 3.61.0 prismarine-block: github.com/zardoy/prismarine-block/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0 prismarine-entity: 2.3.1 prismarine-item: 1.14.0 @@ -11049,6 +11145,12 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + /napi-build-utils@1.0.2: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} requiresBuild: true @@ -11153,10 +11255,12 @@ packages: dependencies: whatwg-url: 5.0.0 - /node-gyp-build-optional-packages@5.0.3: - resolution: {integrity: sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA==} + /node-gyp-build-optional-packages@5.1.1: + resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} hasBin: true requiresBuild: true + dependencies: + detect-libc: 2.0.2 dev: false optional: true @@ -11341,29 +11445,39 @@ packages: has-symbols: 1.0.3 object-keys: 1.1.1 + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + /object.entries@1.1.7: resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true /object.fromentries@2.0.7: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true /object.hasown@1.1.3: resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} dependencies: define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.22.4 dev: true /object.values@1.1.7: @@ -11826,6 +11940,15 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /potpack@1.0.2: resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==} dev: false @@ -11889,10 +12012,10 @@ packages: engines: {node: '>= 0.8'} dev: true - /prismarine-auth@2.3.0: - resolution: {integrity: sha512-giKZiHwuQdpMJ7KX94UncOJqM3u+yqKIR2UI/rqmdmFUuQilV9vhlz/zehpVkvo7FE8gmZsuUMCUPhI+gtgd3A==} + /prismarine-auth@2.4.1: + resolution: {integrity: sha512-DwDI3Ucxf/eThJJo5QVzlywFrJulL1fK1z6F8bybvddim8YgudRksQc3w4cE2m0hPPHfE1BRd5lh1NpedrixMQ==} dependencies: - '@azure/msal-node': 2.4.0 + '@azure/msal-node': 2.6.3 '@xboxreplay/xboxlive-auth': 3.3.3(debug@4.3.4) debug: 4.3.4(supports-color@8.1.1) jose: 4.15.4 @@ -11903,13 +12026,13 @@ packages: - encoding - supports-color - /prismarine-biome@1.3.0(minecraft-data@3.60.0)(prismarine-registry@1.7.0): + /prismarine-biome@1.3.0(minecraft-data@3.61.0)(prismarine-registry@1.7.0): resolution: {integrity: sha512-GY6nZxq93mTErT7jD7jt8YS1aPrOakbJHh39seYsJFXvueIOdHAmW16kYQVrTVMW5MlWLQVxV/EquRwOgr4MnQ==} peerDependencies: - minecraft-data: 3.60.0 + minecraft-data: 3.61.0 prismarine-registry: ^1.1.0 dependencies: - minecraft-data: 3.60.0 + minecraft-data: 3.61.0 prismarine-registry: 1.7.0 /prismarine-chat@1.9.1: @@ -11920,11 +12043,11 @@ packages: prismarine-nbt: 2.5.0 prismarine-registry: 1.7.0 - /prismarine-chunk@1.35.0(minecraft-data@3.60.0): + /prismarine-chunk@1.35.0(minecraft-data@3.61.0): resolution: {integrity: sha512-Q1lElMUle7wWxWdQjbZo3j2/dLNG325j90IcbbMmBTnHdQSWIjWFe792XOz3RVBlvrhRJEiZk38S6/eQTQ9esw==} engines: {node: '>=14'} dependencies: - prismarine-biome: 1.3.0(minecraft-data@3.60.0)(prismarine-registry@1.7.0) + prismarine-biome: 1.3.0(minecraft-data@3.61.0)(prismarine-registry@1.7.0) prismarine-block: github.com/zardoy/prismarine-block/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0 prismarine-nbt: 2.2.1 prismarine-registry: 1.7.0 @@ -11962,7 +12085,7 @@ packages: /prismarine-physics@1.8.0: resolution: {integrity: sha512-gbM+S+bmVtOKVv+Z0WGaHMeEeBHISIDsRDRlv8sr0dex3ZJRhuq8djA02CBreguXtI18ZKh6q3TSj2qDr45NHA==} dependencies: - minecraft-data: 3.60.0 + minecraft-data: 3.61.0 prismarine-nbt: 2.5.0 vec3: 0.1.8 dev: true @@ -11987,13 +12110,13 @@ packages: /prismarine-registry@1.7.0: resolution: {integrity: sha512-yyva0FpWI078nNeMhx8ekVza5uUTYhEv+C+ADu3wUQXiG8qhXkvrf0uzsnhTgZL8BLdsi2axgCEiKw9qSKIuxQ==} dependencies: - minecraft-data: 3.60.0 + minecraft-data: 3.61.0 prismarine-nbt: 2.5.0 /prismarine-schematic@1.2.3: resolution: {integrity: sha512-Mwpn43vEHhm3aw3cPhJjWqztkW+nX+QLajDHlTask8lEOTGl1WmpvFja4iwiws4GIvaC8x0Foptf4uvDsnjrAg==} dependencies: - minecraft-data: 3.60.0 + minecraft-data: 3.61.0 prismarine-block: github.com/zardoy/prismarine-block/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0 prismarine-nbt: 2.2.1 prismarine-world: github.com/zardoy/prismarine-world/c358222204d21fe7d45379fbfcefb047f926c786 @@ -12588,8 +12711,8 @@ packages: string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readable-stream@4.4.2: - resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: abort-controller: 3.0.0 @@ -12638,14 +12761,15 @@ packages: strip-indent: 4.0.0 dev: true - /reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + /reflect.getprototypeof@1.0.5: + resolution: {integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.22.4 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 globalthis: 1.0.3 which-builtin-type: 1.1.3 dev: true @@ -12684,6 +12808,16 @@ packages: define-properties: 1.2.1 set-function-name: 2.0.1 + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.1 + dev: true + /regexpp@3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} @@ -12896,6 +13030,16 @@ packages: has-symbols: 1.0.3 isarray: 2.0.5 + /safe-array-concat@1.1.0: + resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -12909,6 +13053,15 @@ packages: get-intrinsic: 1.2.1 is-regex: 1.1.4 + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + dev: true + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -12960,6 +13113,13 @@ packages: dependencies: lru-cache: 6.0.0 + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -13009,14 +13169,16 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false - /set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + /set-function-length@1.2.1: + resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 gopd: 1.0.1 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 dev: true /set-function-name@2.0.1: @@ -13101,6 +13263,16 @@ packages: get-intrinsic: 1.2.1 object-inspect: 1.12.3 + /side-channel@1.0.5: + resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + dev: true + /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true @@ -13663,8 +13835,8 @@ packages: resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==} dev: true - /systeminformation@5.21.22: - resolution: {integrity: sha512-gNHloAJSyS+sKWkwvmvozZ1eHrdVTEsynWMTY6lvLGBB70gflkBQFw8drXXr1oEXY84+Vr9tOOrN8xHZLJSycA==} + /systeminformation@5.21.24: + resolution: {integrity: sha512-xQada8ByGGFoRXJaUptGgddn3i7IjtSdqNdCKzB8xkzsM7pHnfLYBWxkPdGzhZ0Z/l+W1yo+aZQZ74d2isj8kw==} engines: {node: '>=8.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true @@ -14045,6 +14217,15 @@ packages: get-intrinsic: 1.2.1 is-typed-array: 1.1.12 + /typed-array-buffer@1.0.1: + resolution: {integrity: sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + dev: true + /typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} engines: {node: '>= 0.4'} @@ -14493,8 +14674,8 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vite@4.5.0: - resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} + /vite@4.5.2: + resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -14522,7 +14703,7 @@ packages: optional: true dependencies: esbuild: 0.18.20 - postcss: 8.4.31 + postcss: 8.4.35 rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 @@ -14681,7 +14862,7 @@ packages: engines: {node: '>= 0.4'} dependencies: function.prototype.name: 1.1.6 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-async-function: 2.0.0 is-date-object: 1.0.5 is-finalizationregistry: 1.0.2 @@ -14691,7 +14872,7 @@ packages: isarray: 2.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true /which-collection@1.0.1: @@ -14713,15 +14894,15 @@ packages: gopd: 1.0.1 has-tostringtag: 1.0.0 - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + /which-typed-array@1.1.14: + resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.6 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /which@1.3.1: @@ -15139,18 +15320,18 @@ packages: react: 18.2.0 dev: false - github.com/PrismarineJS/mineflayer/cc98f1307e3ab48477d2a9ff29da4447f42b30bc: - resolution: {tarball: https://codeload.github.com/PrismarineJS/mineflayer/tar.gz/cc98f1307e3ab48477d2a9ff29da4447f42b30bc} + github.com/PrismarineJS/mineflayer/b9491ae508dc52e4538dd66eb6f47a639facde20: + resolution: {tarball: https://codeload.github.com/PrismarineJS/mineflayer/tar.gz/b9491ae508dc52e4538dd66eb6f47a639facde20} name: mineflayer - version: 4.18.0 + version: 4.19.0 engines: {node: '>=18'} dependencies: - minecraft-data: 3.60.0 + minecraft-data: 3.61.0 minecraft-protocol: github.com/zardoy/minecraft-protocol/2c14a686bfe7cbd9a5c87b629b402295ee86219f - prismarine-biome: 1.3.0(minecraft-data@3.60.0)(prismarine-registry@1.7.0) + prismarine-biome: 1.3.0(minecraft-data@3.61.0)(prismarine-registry@1.7.0) prismarine-block: github.com/zardoy/prismarine-block/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0 prismarine-chat: 1.9.1 - prismarine-chunk: 1.35.0(minecraft-data@3.60.0) + prismarine-chunk: 1.35.0(minecraft-data@3.61.0) prismarine-entity: 2.3.1 prismarine-item: 1.14.0 prismarine-nbt: 2.2.1 @@ -15187,8 +15368,8 @@ packages: name: diamond-square version: 1.3.0 dependencies: - minecraft-data: 3.60.0 - prismarine-chunk: 1.35.0(minecraft-data@3.60.0) + minecraft-data: 3.61.0 + prismarine-chunk: 1.35.0(minecraft-data@3.61.0) random-seed: 0.3.0 vec3: 0.1.8 dev: false @@ -15211,22 +15392,22 @@ packages: version: 1.45.0 engines: {node: '>=14'} dependencies: - '@types/readable-stream': 4.0.4 + '@types/readable-stream': 4.0.10 aes-js: 3.1.2 buffer-equal: 1.0.1 debug: 4.3.4(supports-color@8.1.1) endian-toggle: 0.0.0 lodash.get: 4.4.2 lodash.merge: 4.6.2 - minecraft-data: 3.60.0 + minecraft-data: 3.61.0 minecraft-folder-path: 1.2.0 node-fetch: 2.7.0 node-rsa: 0.4.2 - prismarine-auth: 2.3.0 + prismarine-auth: 2.4.1 prismarine-nbt: 2.5.0 prismarine-realms: 1.3.2 protodef: 1.15.0 - readable-stream: 4.4.2 + readable-stream: 4.5.2 uuid-1345: 1.0.2 yggdrasil: 1.7.0 transitivePeerDependencies: @@ -15238,20 +15419,20 @@ packages: name: prismarine-block version: 1.17.1 dependencies: - minecraft-data: 3.60.0 - prismarine-biome: 1.3.0(minecraft-data@3.60.0)(prismarine-registry@1.7.0) + minecraft-data: 3.61.0 + prismarine-biome: 1.3.0(minecraft-data@3.61.0)(prismarine-registry@1.7.0) prismarine-chat: 1.9.1 prismarine-item: 1.14.0 prismarine-nbt: 2.2.1 prismarine-registry: 1.7.0 - github.com/zardoy/prismarine-provider-anvil/0ddcd9d48574113308e1fbebef60816aced0846f(minecraft-data@3.60.0): + github.com/zardoy/prismarine-provider-anvil/0ddcd9d48574113308e1fbebef60816aced0846f(minecraft-data@3.61.0): resolution: {tarball: https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/0ddcd9d48574113308e1fbebef60816aced0846f} id: github.com/zardoy/prismarine-provider-anvil/0ddcd9d48574113308e1fbebef60816aced0846f name: prismarine-provider-anvil version: 2.7.0 dependencies: - prismarine-chunk: 1.35.0(minecraft-data@3.60.0) + prismarine-chunk: 1.35.0(minecraft-data@3.61.0) prismarine-nbt: 2.5.0 uint4: 0.1.2 vec3: 0.1.8 From 0f26cd7d81ccac4e9a4cb63f503229ab355af643 Mon Sep 17 00:00:00 2001 From: Vitaly Turovsky Date: Fri, 16 Feb 2024 20:32:43 +0300 Subject: [PATCH 12/28] fix: three.js scene was clipped in firefox with webgl2 disabled eg tor --- src/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index c5d21230..4523b66d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -105,7 +105,9 @@ const renderer = new THREE.WebGLRenderer({ }) initWithRenderer(renderer.domElement) window.renderer = renderer -renderer.setPixelRatio(window.devicePixelRatio || 1) // todo this value is too high on ios, need to check, probably we should use avg, also need to make it configurable +let pixelRatio = window.devicePixelRatio || 1 // todo this value is too high on ios, need to check, probably we should use avg, also need to make it configurable +if (!renderer.capabilities.isWebGL2) pixelRatio = 1 // webgl1 has issues with high pixel ratio (sometimes screen is clipped) +renderer.setPixelRatio(pixelRatio) renderer.setSize(window.innerWidth, window.innerHeight) renderer.domElement.id = 'viewer-canvas' document.body.appendChild(renderer.domElement) From 4c852af72bb17e5d717104d981a0f0a39723b35c Mon Sep 17 00:00:00 2001 From: Vitaly Date: Fri, 16 Feb 2024 22:24:52 +0300 Subject: [PATCH 13/28] feat: enchants & durability display in inventory gui --- pnpm-lock.yaml | 8 ++++---- src/playerWindows.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b1fc701e..6df7d660 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -241,7 +241,7 @@ importers: version: 1.0.0 minecraft-inventory-gui: specifier: github:zardoy/minecraft-inventory-gui#next - version: github.com/zardoy/minecraft-inventory-gui/5dfb4e39e601108f6e1306cd0f4b9de45cf6b1db(@types/react@18.2.20)(react@18.2.0) + version: github.com/zardoy/minecraft-inventory-gui/b54222dcdc508f7418102a7e25abf3df35a8c9ba(@types/react@18.2.20)(react@18.2.0) mineflayer: specifier: github:PrismarineJS/mineflayer version: github.com/PrismarineJS/mineflayer/b9491ae508dc52e4538dd66eb6f47a639facde20 @@ -15374,9 +15374,9 @@ packages: vec3: 0.1.8 dev: false - github.com/zardoy/minecraft-inventory-gui/5dfb4e39e601108f6e1306cd0f4b9de45cf6b1db(@types/react@18.2.20)(react@18.2.0): - resolution: {tarball: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/5dfb4e39e601108f6e1306cd0f4b9de45cf6b1db} - id: github.com/zardoy/minecraft-inventory-gui/5dfb4e39e601108f6e1306cd0f4b9de45cf6b1db + github.com/zardoy/minecraft-inventory-gui/b54222dcdc508f7418102a7e25abf3df35a8c9ba(@types/react@18.2.20)(react@18.2.0): + resolution: {tarball: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/b54222dcdc508f7418102a7e25abf3df35a8c9ba} + id: github.com/zardoy/minecraft-inventory-gui/b54222dcdc508f7418102a7e25abf3df35a8c9ba name: minecraft-inventory-gui version: 1.0.1 dependencies: diff --git a/src/playerWindows.ts b/src/playerWindows.ts index 6bc3f486..bdbe34a1 100644 --- a/src/playerWindows.ts +++ b/src/playerWindows.ts @@ -242,7 +242,7 @@ const isFullBlock = (block: string) => { return shape[0] === 0 && shape[1] === 0 && shape[2] === 0 && shape[3] === 1 && shape[4] === 1 && shape[5] === 1 } -type RenderSlot = Pick +type RenderSlot = Pick const renderSlot = (slot: RenderSlot, skipBlock = false): { texture: string, blockData?, scale?: number, slice?: number[] } | undefined => { const itemName = slot.name const isItem = loadedData.itemsByName[itemName] From fbfbce5498b205857ec6c96b06431565594fc69d Mon Sep 17 00:00:00 2001 From: Vitaly Turovsky Date: Fri, 16 Feb 2024 20:43:53 +0300 Subject: [PATCH 14/28] Add worldInteractions to window object --- src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.ts b/src/index.ts index 4523b66d..0b1e15d2 100644 --- a/src/index.ts +++ b/src/index.ts @@ -91,6 +91,7 @@ import { downloadSoundsIfNeeded } from './soundSystem' window.debug = debug window.THREE = THREE +window.worldInteractions = worldInteractions window.beforeRenderFrame = [] // ACTUAL CODE From 333b2300e367e30c7ac044ca00a6637f2a9b8c11 Mon Sep 17 00:00:00 2001 From: Vitaly Turovsky Date: Sat, 17 Feb 2024 00:41:18 +0300 Subject: [PATCH 15/28] wip add new touch controls and other stuff --- src/gameUnload.ts | 17 ++++ src/react/Chat.stories.tsx | 1 + src/react/ChatContainer.tsx | 5 +- src/react/ChatProvider.tsx | 5 +- src/react/ConceptCommandsGui.stories.tsx | 52 ++++++++++++ src/react/PixelartIcon.tsx | 4 + src/react/TouchAreas.stories.tsx | 19 +++++ src/react/TouchAreasControls.tsx | 102 +++++++++++++++++++++++ src/react/TouchAreasControlsProvider.tsx | 12 +++ src/reactUi.tsx | 2 + 10 files changed, 215 insertions(+), 4 deletions(-) create mode 100644 src/gameUnload.ts create mode 100644 src/react/ConceptCommandsGui.stories.tsx create mode 100644 src/react/PixelartIcon.tsx create mode 100644 src/react/TouchAreas.stories.tsx create mode 100644 src/react/TouchAreasControls.tsx create mode 100644 src/react/TouchAreasControlsProvider.tsx diff --git a/src/gameUnload.ts b/src/gameUnload.ts new file mode 100644 index 00000000..d5622411 --- /dev/null +++ b/src/gameUnload.ts @@ -0,0 +1,17 @@ +import { subscribe } from 'valtio' +import { miscUiState } from './globalState' + +let toCleanup = [] as Array<() => void> + +export const watchUnloadForCleanup = (func: () => void) => { + toCleanup.push(func) +} + +subscribe(miscUiState, () => { + if (!miscUiState.gameLoaded) { + for (const func of toCleanup) { + func() + } + toCleanup = [] + } +}) diff --git a/src/react/Chat.stories.tsx b/src/react/Chat.stories.tsx index 7790f3dc..93585dd8 100644 --- a/src/react/Chat.stories.tsx +++ b/src/react/Chat.stories.tsx @@ -95,6 +95,7 @@ type Story = StoryObj export const Primary: Story = { args: { + usingTouch: false, messages: [{ parts: [ { diff --git a/src/react/ChatContainer.tsx b/src/react/ChatContainer.tsx index ccb8e9a2..5d9d0585 100644 --- a/src/react/ChatContainer.tsx +++ b/src/react/ChatContainer.tsx @@ -29,6 +29,7 @@ const MessageLine = ({ message }: { message: Message }) => { type Props = { messages: Message[] + usingTouch: boolean opacity?: number opened?: boolean onClose?: () => void @@ -52,9 +53,7 @@ export const fadeMessage = (message: Message, initialTimeout: boolean, requestUp }, initialTimeout ? 5000 : 0) } -export default ({ messages, opacity = 1, fetchCompletionItems, opened, sendMessage, onClose }: Props) => { - const usingTouch = useSnapshot(miscUiState).currentTouch - +export default ({ messages, opacity = 1, fetchCompletionItems, opened, sendMessage, onClose, usingTouch }: Props) => { const sendHistoryRef = useRef(JSON.parse(window.sessionStorage.chatHistory || '[]')) const [completePadText, setCompletePadText] = useState('') diff --git a/src/react/ChatProvider.tsx b/src/react/ChatProvider.tsx index 9275b14a..46f81fb8 100644 --- a/src/react/ChatProvider.tsx +++ b/src/react/ChatProvider.tsx @@ -1,7 +1,8 @@ import { useEffect, useRef, useState } from 'react' +import { useSnapshot } from 'valtio' import { formatMessage } from '../botUtils' import { getBuiltinCommandsList, tryHandleBuiltinCommand } from '../builtinCommands' -import { hideCurrentModal } from '../globalState' +import { hideCurrentModal, miscUiState } from '../globalState' import { options } from '../optionsStorage' import ChatContainer, { Message, fadeMessage } from './ChatContainer' import { useIsModalActive } from './utils' @@ -11,6 +12,7 @@ export default () => { const isChatActive = useIsModalActive('chat') const { messagesLimit, chatOpacity, chatOpacityOpened } = options const lastMessageId = useRef(0) + const usingTouch = useSnapshot(miscUiState).currentTouch useEffect(() => { bot.addListener('message', (jsonMsg, position) => { @@ -33,6 +35,7 @@ export default () => { }, []) return + +const Button2 = ({ title, icon }) => { + //@ts-expect-error + return