From f8ccb8a9d33102ef219232afd9471b570da85600 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 21 Sep 2026 17:40:22 +0000 Subject: [PATCH] Sync to Pumpkin-MC/pumpkin-plugin-wit@4d7a501 --- src/plugin.wit | 145 +++++++++++++++++++++++++++--------- src/wit/bedrock_packets.zig | 23 +++++- src/wit/biomes.zig | 1 + src/wit/data_components.zig | 15 +++- src/wit/entity_statuses.zig | 2 + src/wit/entity_types.zig | 3 + src/wit/java_packets.zig | 73 ++++++++++-------- src/wit/particles.zig | 3 + src/wit/player.zig | 1 + src/wit/sounds.zig | 23 ++++++ src/wit/statistics.zig | 1 + wit | 2 +- 12 files changed, 217 insertions(+), 75 deletions(-) diff --git a/src/plugin.wit b/src/plugin.wit index 7e3368d..4855e92 100644 --- a/src/plugin.wit +++ b/src/plugin.wit @@ -70,6 +70,7 @@ interface biomes { cherry-grove, cold-ocean, crimson-forest, + dappled-forest, dark-forest, deep-cold-ocean, deep-dark, @@ -491,12 +492,14 @@ interface data-components { blocks-attacks, piercing-weapon, kinetic-weapon, - swing-animation, + attack-animation, + interact-animation, additional-trade-cost, + block-transformer, + villager-food, stored-enchantments, dye, dyed-color, - map-color, map-id, map-decorations, map-post-processing, @@ -533,6 +536,10 @@ interface data-components { lock, container-loot, break-sound, + compostable, + cooking-fuel, + brewing-fuel, + mob-visibility, villager-variant, wolf-variant, wolf-sound-variant, @@ -562,6 +569,11 @@ interface data-components { cat-collar, sheep-color, shulker-color, + provides-pottery-pattern, + sign-text-front, + sign-text-back, + waxed, + cushion-color, } } @@ -614,6 +626,8 @@ interface entity-statuses { enum entity-status { armadillo-peek, armorstand-wobble, + boat-launch, + boat-sink, body-break, cancel-shake-wetness, chest-break, @@ -712,6 +726,7 @@ interface entity-types { cow, creaking, creeper, + cushion, dark-oak-boat, dark-oak-chest-boat, dolphin, @@ -787,6 +802,8 @@ interface entity-types { pillager, player, polar-bear, + poplar-boat, + poplar-chest-boat, pufferfish, rabbit, ravager, @@ -1087,6 +1104,9 @@ interface particles { infested, cherry-leaves, pale-oak-leaves, + red-poplar-leaves, + orange-poplar-leaves, + yellow-poplar-leaves, tinted-leaves, sculk-soul, sculk-charge, @@ -1833,6 +1853,10 @@ interface sounds { item-crossbow-quick-charge-2, item-crossbow-quick-charge-3, item-crossbow-shoot, + entity-cushion-break, + entity-cushion-place, + entity-cushion-sit, + entity-cushion-get-up, block-deadbush-idle, block-decorated-pot-break, block-decorated-pot-fall, @@ -3309,6 +3333,25 @@ interface sounds { entity-small-sulfur-cube-jump, entity-small-sulfur-cube-squish, entity-small-sulfur-cube-eat, + block-shelf-mushroom-break, + block-shelf-mushroom-fall, + block-shelf-mushroom-place, + block-shelf-mushroom-step, + block-shelf-mushroom-bounce, + block-poplar-leaves-break, + block-poplar-leaves-hit, + block-poplar-leaves-fall, + block-poplar-leaves-place, + block-poplar-leaves-step, + block-poplar-leaves-ambient, + block-straw-bed-break, + block-straw-bed-break-leave, + block-straw-bed-step, + block-straw-bed-place, + block-straw-bed-hit, + block-straw-bed-fall, + block-red-shrub-break, + block-red-shrub-place, } } @@ -3387,6 +3430,7 @@ interface statistics { interact-with-crafting-table, open-chest, sleep-in-bed, + sleep-in-straw-bed, open-shulker-box, open-barrel, interact-with-blast-furnace, @@ -4863,6 +4907,11 @@ interface bedrock-packets { slots: list, } + enum hand-slot { + mainhand, + offhand, + } + record stack-request-item { identifier: option, metadata-value: s32, @@ -5350,7 +5399,7 @@ interface bedrock-packets { dedicated, tv-os, sony, - nx, + nintendo, xbox, windows-phone, linux, @@ -5444,9 +5493,19 @@ interface bedrock-packets { tick: s64, } - record item-descriptor-count { - item-identifier: string, + record recipe-item-descriptor-item { + identifier: string, metadata-value: s32, + } + + variant recipe-item-descriptor { + empty, + item(recipe-item-descriptor-item), + tag(string), + } + + record item-descriptor-count { + descriptor: recipe-item-descriptor, count: s32, } @@ -6101,7 +6160,7 @@ interface bedrock-packets { block-position: tuple, block-face: u8, hot-bar-slot: s32, - hand: u8, + hand: hand-slot, item-in-hand: network-item-descriptor, player-position: tuple, click-position: tuple, @@ -6771,6 +6830,9 @@ interface java-packets { record s-confirm-teleport { teleport-id: s32, + position: tuple, + yaw: f32, + pitch: f32, } record s-container-button-click { @@ -6902,6 +6964,7 @@ interface java-packets { release-item-in-use, swap-item, spear-jab, + change-destroy-direction, } enum action { @@ -7205,6 +7268,10 @@ interface java-packets { data: list, } + record config-c-config-post-effects { + effects: list, + } + record config-c-registry-data { registry-id: string, entries: list, @@ -7352,6 +7419,19 @@ interface java-packets { batch-size: s32, } + record chunk-heightmaps { + world-surface: option>, + motion-blocking: option>, + motion-blocking-no-leaves: option>, + } + + record chunk-block-entity { + packed-xz: u8, + y: s32, + type-id: s32, + data: string, + } + record chunk-biome-entry { chunk-x: s32, chunk-z: s32, @@ -7624,6 +7704,11 @@ interface java-packets { animation: u8, } + record c-swing-arm { + entity-id: s32, + off-hand: bool, + } + enum animation { swing-main-arm, leave-bed, @@ -7755,6 +7840,15 @@ interface java-packets { block-light-arrays: list>, } + record c-chunk-data { + chunk-x: s32, + chunk-z: s32, + heightmaps: chunk-heightmaps, + data: list, + block-entities: list, + light-data: light-data, + } + record c-light-update { chunk-x: s32, chunk-z: s32, @@ -7980,6 +8074,10 @@ interface java-packets { pitch: f32, } + record c-post-effects { + effects: list, + } + record c-projectile-power { entity-id: s32, x-power: f64, @@ -8188,7 +8286,7 @@ interface java-packets { position: tuple, volume: f32, pitch: f32, - seed: f64, + seed: s64, } record c-spawn-entity { @@ -8203,27 +8301,6 @@ interface java-packets { data: s32, } - record c-spawn-living-entity { - entity-id: s32, - entity-uuid: uuid, - r-type: s32, - position: tuple, - yaw: u8, - pitch: u8, - head-yaw: u8, - velocity: string, - metadata: option>, - } - - record c-spawn-painting { - entity-id: s32, - uuid: uuid, - title: string, - %variant: s32, - location: tuple, - direction: u8, - } - record c-stop-sound { sound-id: option, category: option, @@ -8417,11 +8494,6 @@ interface java-packets { tags: list, } - record c-use-bed { - entity-id: s32, - location: tuple, - } - enum waypoint-operation { track, untrack, @@ -8549,7 +8621,6 @@ interface java-packets { s-set-structure-block(s-set-structure-block), s-set-test-block(s-set-test-block), s-spectate-entity(s-spectate-entity), - s-swing-arm(s-swing-arm), s-teleport-to-entity(s-teleport-to-entity), s-test-instance-block-action(s-test-instance-block-action), s-update-sign(s-update-sign), @@ -8572,6 +8643,7 @@ interface java-packets { config-c-known-packs(config-c-known-packs), config-c-config-ping(config-c-config-ping), config-c-plugin-message(config-c-plugin-message), + config-c-config-post-effects(config-c-config-post-effects), config-c-registry-data(config-c-registry-data), config-c-config-remove-resource-pack(config-c-config-remove-resource-pack), config-c-config-reset-chat, @@ -8660,6 +8732,7 @@ interface java-packets { c-remove-player-info(c-remove-player-info), c-player-rotation(c-player-rotation), c-player-spawn-position(c-player-spawn-position), + c-post-effects(c-post-effects), c-projectile-power(c-projectile-power), c-recipe-book-add(c-recipe-book-add), c-recipe-book-remove(c-recipe-book-remove), @@ -8697,8 +8770,6 @@ interface java-packets { c-play-show-dialog(c-play-show-dialog), c-sound-effect(c-sound-effect), c-spawn-entity(c-spawn-entity), - c-spawn-living-entity(c-spawn-living-entity), - c-spawn-painting(c-spawn-painting), c-start-configuration, c-stop-sound(c-stop-sound), c-store-cookie(c-store-cookie), @@ -8721,7 +8792,6 @@ interface java-packets { c-update-objectives(c-update-objectives), c-update-recipes(c-update-recipes), c-update-score(c-update-score), - c-use-bed(c-use-bed), c-waypoint(c-waypoint), c-world-event(c-world-event), status-c-ping-response(status-c-ping-response), @@ -10283,6 +10353,7 @@ interface player { v-1-21-11, v-26-1, v-26-2, + v-26-3, unknown, } diff --git a/src/wit/bedrock_packets.zig b/src/wit/bedrock_packets.zig index ebf86e8..ee22583 100644 --- a/src/wit/bedrock_packets.zig +++ b/src/wit/bedrock_packets.zig @@ -178,6 +178,11 @@ pub const LegacySetItemSlot = struct { slots: []const u8, }; +pub const HandSlot = enum(u8) { + mainhand, + offhand, +}; + pub const StackRequestItem = struct { identifier: ?[]const u8, metadata_value: i32, @@ -665,7 +670,7 @@ pub const BuildPlatform = enum(u8) { dedicated, tv_os, sony, - nx, + nintendo, xbox, windows_phone, linux, @@ -759,9 +764,19 @@ pub const CCorrectPlayerMovePrediction = struct { tick: i64, }; -pub const ItemDescriptorCount = struct { - item_identifier: []const u8, +pub const RecipeItemDescriptorItem = struct { + identifier: []const u8, metadata_value: i32, +}; + +pub const RecipeItemDescriptor = union(enum) { + empty, + item: RecipeItemDescriptorItem, + tag: []const u8, +}; + +pub const ItemDescriptorCount = struct { + descriptor: RecipeItemDescriptor, count: i32, }; @@ -1416,7 +1431,7 @@ pub const UseItemTransactionData = struct { block_position: struct { i32, i32, i32 }, block_face: u8, hot_bar_slot: i32, - hand: u8, + hand: HandSlot, item_in_hand: NetworkItemDescriptor, player_position: struct { f64, f64, f64 }, click_position: struct { f64, f64, f64 }, diff --git a/src/wit/biomes.zig b/src/wit/biomes.zig index fef2019..bb0680d 100644 --- a/src/wit/biomes.zig +++ b/src/wit/biomes.zig @@ -9,6 +9,7 @@ pub const Biome = enum(u8) { cherry_grove, cold_ocean, crimson_forest, + dappled_forest, dark_forest, deep_cold_ocean, deep_dark, diff --git a/src/wit/data_components.zig b/src/wit/data_components.zig index b0f893f..87b53e4 100644 --- a/src/wit/data_components.zig +++ b/src/wit/data_components.zig @@ -41,12 +41,14 @@ pub const DataComponent = enum(u8) { blocks_attacks, piercing_weapon, kinetic_weapon, - swing_animation, + attack_animation, + interact_animation, additional_trade_cost, + block_transformer, + villager_food, stored_enchantments, dye, dyed_color, - map_color, map_id, map_decorations, map_post_processing, @@ -83,6 +85,10 @@ pub const DataComponent = enum(u8) { lock, container_loot, break_sound, + compostable, + cooking_fuel, + brewing_fuel, + mob_visibility, villager_variant, wolf_variant, wolf_sound_variant, @@ -112,4 +118,9 @@ pub const DataComponent = enum(u8) { cat_collar, sheep_color, shulker_color, + provides_pottery_pattern, + sign_text_front, + sign_text_back, + waxed, + cushion_color, }; diff --git a/src/wit/entity_statuses.zig b/src/wit/entity_statuses.zig index 794fa62..b854506 100644 --- a/src/wit/entity_statuses.zig +++ b/src/wit/entity_statuses.zig @@ -3,6 +3,8 @@ pub const EntityStatus = enum(u8) { armadillo_peek, armorstand_wobble, + boat_launch, + boat_sink, body_break, cancel_shake_wetness, chest_break, diff --git a/src/wit/entity_types.zig b/src/wit/entity_types.zig index 4ba8819..6239d41 100644 --- a/src/wit/entity_types.zig +++ b/src/wit/entity_types.zig @@ -34,6 +34,7 @@ pub const EntityType = enum(u8) { cow, creaking, creeper, + cushion, dark_oak_boat, dark_oak_chest_boat, dolphin, @@ -109,6 +110,8 @@ pub const EntityType = enum(u8) { pillager, player, polar_bear, + poplar_boat, + poplar_chest_boat, pufferfish, rabbit, ravager, diff --git a/src/wit/java_packets.zig b/src/wit/java_packets.zig index e2725f9..cb266bc 100644 --- a/src/wit/java_packets.zig +++ b/src/wit/java_packets.zig @@ -186,6 +186,9 @@ pub const SCommandSuggestion = struct { pub const SConfirmTeleport = struct { teleport_id: i32, + position: struct { f64, f64, f64 }, + yaw: f32, + pitch: f32, }; pub const SContainerButtonClick = struct { @@ -317,6 +320,7 @@ pub const Status = enum(u8) { release_item_in_use, swap_item, spear_jab, + change_destroy_direction, }; pub const Action = enum(u8) { @@ -620,6 +624,10 @@ pub const ConfigCPluginMessage = struct { data: []const u8, }; +pub const ConfigCConfigPostEffects = struct { + effects: []const []const u8, +}; + pub const ConfigCRegistryData = struct { registry_id: []const u8, entries: []const []const u8, @@ -767,6 +775,19 @@ pub const CChunkBatchEnd = struct { batch_size: i32, }; +pub const ChunkHeightmaps = struct { + world_surface: ?[]const i64, + motion_blocking: ?[]const i64, + motion_blocking_no_leaves: ?[]const i64, +}; + +pub const ChunkBlockEntity = struct { + packed_xz: u8, + y: i32, + type_id: i32, + data: []const u8, +}; + pub const ChunkBiomeEntry = struct { chunk_x: i32, chunk_z: i32, @@ -1039,6 +1060,11 @@ pub const CEntityAnimation = struct { animation: u8, }; +pub const CSwingArm = struct { + entity_id: i32, + off_hand: bool, +}; + pub const Animation = enum(u8) { swing_main_arm, leave_bed, @@ -1170,6 +1196,15 @@ pub const LightData = struct { block_light_arrays: []const []const u8, }; +pub const CChunkData = struct { + chunk_x: i32, + chunk_z: i32, + heightmaps: ChunkHeightmaps, + data: []const u8, + block_entities: []const ChunkBlockEntity, + light_data: LightData, +}; + pub const CLightUpdate = struct { chunk_x: i32, chunk_z: i32, @@ -1395,6 +1430,10 @@ pub const CPlayerSpawnPosition = struct { pitch: f32, }; +pub const CPostEffects = struct { + effects: []const []const u8, +}; + pub const CProjectilePower = struct { entity_id: i32, x_power: f64, @@ -1603,7 +1642,7 @@ pub const CSoundEffect = struct { position: struct { f64, f64, f64 }, volume: f32, pitch: f32, - seed: f64, + seed: i64, }; pub const CSpawnEntity = struct { @@ -1618,27 +1657,6 @@ pub const CSpawnEntity = struct { data: i32, }; -pub const CSpawnLivingEntity = struct { - entity_id: i32, - entity_uuid: Uuid, - r_type: i32, - position: struct { f64, f64, f64 }, - yaw: u8, - pitch: u8, - head_yaw: u8, - velocity: []const u8, - metadata: ?[]const u8, -}; - -pub const CSpawnPainting = struct { - entity_id: i32, - uuid: Uuid, - title: []const u8, - variant: i32, - location: struct { i32, i32, i32 }, - direction: u8, -}; - pub const CStopSound = struct { sound_id: ?[]const u8, category: ?[]const u8, @@ -1832,11 +1850,6 @@ pub const CUpdateTagsPlay = struct { tags: []const []const u8, }; -pub const CUseBed = struct { - entity_id: i32, - location: struct { i32, i32, i32 }, -}; - pub const WaypointOperation = enum(u8) { track, untrack, @@ -1964,7 +1977,6 @@ pub const ServerboundPacket = union(enum) { s_set_structure_block: SSetStructureBlock, s_set_test_block: SSetTestBlock, s_spectate_entity: SSpectateEntity, - s_swing_arm: SSwingArm, s_teleport_to_entity: STeleportToEntity, s_test_instance_block_action: STestInstanceBlockAction, s_update_sign: SUpdateSign, @@ -1987,6 +1999,7 @@ pub const ClientboundPacket = union(enum) { config_c_known_packs: ConfigCKnownPacks, config_c_config_ping: ConfigCConfigPing, config_c_plugin_message: ConfigCPluginMessage, + config_c_config_post_effects: ConfigCConfigPostEffects, config_c_registry_data: ConfigCRegistryData, config_c_config_remove_resource_pack: ConfigCConfigRemoveResourcePack, config_c_config_reset_chat, @@ -2075,6 +2088,7 @@ pub const ClientboundPacket = union(enum) { c_remove_player_info: CRemovePlayerInfo, c_player_rotation: CPlayerRotation, c_player_spawn_position: CPlayerSpawnPosition, + c_post_effects: CPostEffects, c_projectile_power: CProjectilePower, c_recipe_book_add: CRecipeBookAdd, c_recipe_book_remove: CRecipeBookRemove, @@ -2112,8 +2126,6 @@ pub const ClientboundPacket = union(enum) { c_play_show_dialog: CPlayShowDialog, c_sound_effect: CSoundEffect, c_spawn_entity: CSpawnEntity, - c_spawn_living_entity: CSpawnLivingEntity, - c_spawn_painting: CSpawnPainting, c_start_configuration, c_stop_sound: CStopSound, c_store_cookie: CStoreCookie, @@ -2136,7 +2148,6 @@ pub const ClientboundPacket = union(enum) { c_update_objectives: CUpdateObjectives, c_update_recipes: CUpdateRecipes, c_update_score: CUpdateScore, - c_use_bed: CUseBed, c_waypoint: CWaypoint, c_world_event: CWorldEvent, status_c_ping_response: StatusCPingResponse, diff --git a/src/wit/particles.zig b/src/wit/particles.zig index 85b2cc5..80f9f53 100644 --- a/src/wit/particles.zig +++ b/src/wit/particles.zig @@ -44,6 +44,9 @@ pub const Particle = enum(u8) { infested, cherry_leaves, pale_oak_leaves, + red_poplar_leaves, + orange_poplar_leaves, + yellow_poplar_leaves, tinted_leaves, sculk_soul, sculk_charge, diff --git a/src/wit/player.zig b/src/wit/player.zig index 8c511df..66c804c 100644 --- a/src/wit/player.zig +++ b/src/wit/player.zig @@ -505,6 +505,7 @@ pub const JavaMinecraftVersion = enum(u8) { v_1_21_11, v_26_1, v_26_2, + v_26_3, unknown, }; diff --git a/src/wit/sounds.zig b/src/wit/sounds.zig index 75a6800..2ff80d7 100644 --- a/src/wit/sounds.zig +++ b/src/wit/sounds.zig @@ -507,6 +507,10 @@ pub const Sound = enum(u16) { item_crossbow_quick_charge_2, item_crossbow_quick_charge_3, item_crossbow_shoot, + entity_cushion_break, + entity_cushion_place, + entity_cushion_sit, + entity_cushion_get_up, block_deadbush_idle, block_decorated_pot_break, block_decorated_pot_fall, @@ -1983,4 +1987,23 @@ pub const Sound = enum(u16) { entity_small_sulfur_cube_jump, entity_small_sulfur_cube_squish, entity_small_sulfur_cube_eat, + block_shelf_mushroom_break, + block_shelf_mushroom_fall, + block_shelf_mushroom_place, + block_shelf_mushroom_step, + block_shelf_mushroom_bounce, + block_poplar_leaves_break, + block_poplar_leaves_hit, + block_poplar_leaves_fall, + block_poplar_leaves_place, + block_poplar_leaves_step, + block_poplar_leaves_ambient, + block_straw_bed_break, + block_straw_bed_break_leave, + block_straw_bed_step, + block_straw_bed_place, + block_straw_bed_hit, + block_straw_bed_fall, + block_red_shrub_break, + block_red_shrub_place, }; diff --git a/src/wit/statistics.zig b/src/wit/statistics.zig index a5424eb..adbfeb0 100644 --- a/src/wit/statistics.zig +++ b/src/wit/statistics.zig @@ -74,6 +74,7 @@ pub const CustomStatistic = enum(u8) { interact_with_crafting_table, open_chest, sleep_in_bed, + sleep_in_straw_bed, open_shulker_box, open_barrel, interact_with_blast_furnace, diff --git a/wit b/wit index 2366bb9..4d7a501 160000 --- a/wit +++ b/wit @@ -1 +1 @@ -Subproject commit 2366bb9edb3d9a093e3f579c3dac541eba70e6d7 +Subproject commit 4d7a501943bb99f0f02a339128833f58ed37d0cc