Commit Graph

2651 Commits

Author SHA1 Message Date
ZlordHUN
05c692985f fix(bedrock): synchronize colored beds (#2917)
* fix(bedrock): synchronize colored beds

* refactor(bedrock): abstract bed block actor data
2026-08-13 18:21:35 +02:00
Andrew
ddd98c88d9 perf(pathfinder): use FxHashMap in compute_path (#2417)
The rest of the pathfinder already uses rustc-hash's FxHashMap/FxHashSet, but
compute_path's closed_set, the path-reconstruction visited set, and the
Navigator's path_type_overrides were still on the default SipHash hasher.
Switch them to FxHashMap/FxHashSet for consistency and to shave hashing off the
per-repath hot path. Keys are Vector3<i32>/PathType (small, internal). No new
dependency and no behavior change.
2026-08-13 18:14:13 +02:00
Mcxiaocaibug
e61517780a feat: add more dispenser behaviors (#2760)
Adds vanilla dispense behavior for snowballs, eggs, splash and
lingering potions, fire charges, wind charges, firework rockets,
empty and filled buckets, flint and steel (including priming TNT)
and honeycomb.

Refactors the player-path helpers (Ignition::ignite_block, bucket
pickup/placement, honeycomb waxing) so they can be reused without a
Player, and emits the wax-on world event for players as well.

Co-authored-by: Mcxiaocaibug <Mcxiaocaibug@users.noreply.github.com>
2026-08-13 18:08:40 +02:00
Megalith
cb856eb074 fix(block): apply vanilla position offsets to block shapes (#2869)
* fix: apply vanilla position offsets to block shapes

* refactor: use extracted block shape offsets
2026-08-13 18:06:22 +02:00
Alexander Medvedev
5a5bc19bbb feat: add some more entity logic 2026-08-13 17:28:56 +02:00
QiuHu
24d9dbdc6b fix(inventory): decode block-placement and swing hands via from_packet_id (#2876)
The placement and swing packet 'hand' fields use 0 = main hand, but they were
decoded with TryFrom<i32>, which maps 0 -> Hand::Left (that conversion is for
the client's dominant-hand setting). Hand::Left means off-hand in the inventory
API, so the decremented stack was written back to the off-hand instead of the
main hand, causing non-consumed placement and duplication into the off-hand.

Use Hand::from_packet_id for these packet fields and read the item via
inventory.get_stack_in_hand, matching the existing use_item handler.
2026-08-13 14:23:58 +02:00
Alexander Medvedev
a3ab25f53e chore: webrtc 2026-08-13 12:32:17 +02:00
Whiron
9fe599e261 fix: stop stdin console task on EOF (#2524)
Co-authored-by: Whiron <15068326+dnlblasco@users.noreply.github.com>
2026-08-13 10:51:22 +02:00
xRookieFight
c9a6c6a36a fix(world): do not tick entities while their chunk is not loaded (#2842) 2026-08-13 10:48:29 +02:00
ZlordHUN
9d0a7b5ff1 fix(bedrock): synchronize Bedrock chest behavior (#2915)
* Fix Bedrock chest synchronization

* Add Bedrock chest lid animations
2026-08-13 10:24:02 +02:00
ZlordHUN
820840b8bf fix: Bedrock dead player reconnects (#2911) 2026-08-13 10:03:00 +02:00
Eshan I.
757f4bedaf fix(player): match flying fall behavior (#2913) 2026-08-13 10:00:45 +02:00
Alexander Medvedev
2edc79f7cc feat: implement Bedrock cross-edition scoreboard support and remove_objective 2026-08-12 21:50:39 +02:00
Alexander Medvedev
f49e29aa3f feat(bedrock): implement Bedrock status effect packet and translation 2026-08-12 21:31:31 +02:00
Alexander Medvedev
be279fa274 feat(block): implement structure block 2026-08-12 21:05:18 +02:00
Alexander Medvedev
56c3d6c134 feat(block): implement fletching table block 2026-08-12 21:04:53 +02:00
Alexander Medvedev
2bffaee1bf feat(block): implement smithing table block 2026-08-12 21:04:31 +02:00
Alexander Medvedev
1be04b9441 feat(block): implement cartography table block 2026-08-12 21:03:58 +02:00
Alexander Medvedev
5f74b162cd feat(block): implement loom block 2026-08-12 21:03:25 +02:00
Alexander Medvedev
788e369786 feat(block): implement turtle egg block 2026-08-12 21:03:00 +02:00
Alexander Medvedev
22daa1e5d0 feat(block): implement archaeology brushable blocks 2026-08-12 20:46:43 +02:00
Alexander Medvedev
75200d79ae feat(block): implement sniffer egg hatching logic 2026-08-12 20:40:08 +02:00
Alexander Medvedev
c64d6cca70 feat(block): implement creaking heart block logic 2026-08-12 20:38:10 +02:00
Alexander Medvedev
3fcbf9ba3d feat(block): implement calibrated sculk sensor resonance logic 2026-08-12 20:32:22 +02:00
Alexander Medvedev
e9958f5d64 feat(block): implement decorated pot block logic and fix deadlock 2026-08-12 20:28:44 +02:00
Alexander Medvedev
d0cc8a2b51 feat(block): implement vault and trial spawner block logic 2026-08-12 20:18:29 +02:00
Dark Star
55312adfa1 feat: add config to enable/disable commands and set their permission level (#2799) 2026-08-12 16:47:40 +02:00
xRookieFight
449c7162c0 fix: save block entities before their chunk is dropped (#2856) 2026-08-12 12:45:46 +02:00
ZlordHUN
7f6e5d21eb feat(bedrock): add support for vibrant visuals (#2888)
* feat(bedrock): support vibrant visuals biome data

* Use NBT biome definitions for Bedrock

* Pre-generate Bedrock biome definitions

---------

Co-authored-by: Zoltán Virágh <zoltan.viragh@cloudtalk.io>
2026-08-12 12:06:13 +02:00
Bluezly
1529e811e5 fix(plugin): apply WASM sent packet payloads (#2892) 2026-08-12 10:18:21 +02:00
ZlordHUN
e59af5cb21 fix(bedrock): persist and restore player positions after reconnecting (#2889)
* fix(bedrock): restore saved player position

* fix(bedrock): offset initial player position

---------

Co-authored-by: Zoltán Virágh <zoltan.viragh@cloudtalk.io>
2026-08-12 10:12:21 +02:00
Alexander Medvedev
7eb49e2e4d feat(bedrock): add CMobEquipment 2026-08-11 18:40:48 +02:00
xRookieFight
432f092b0f fix(block): notify neighbors when a block is removed by a neighbor update (#2839) 2026-08-11 15:55:15 +02:00
ZlordHUN
832671f329 fix: stop bedrock players from swimming in air (#2584)
* Fix clippy errors

* Fix Bedrock air swimming

* Fix clippy errors
2026-08-11 15:51:45 +02:00
Cayden Tisdale
bbbbf940fd fix(block): use random ticks for redstone ore (#2878) 2026-08-11 14:41:56 +02:00
Alexander Medvedev
3792a6ce0b fix(bedrock): make nether/end work 2026-08-11 12:37:08 +02:00
ZlordHUN
4250293f42 fix: Bedrock NetherNet ICE connectivity (#2824)
* Fix Bedrock NetherNet ICE connectivity

* Fix NetherNet LAN connections

* Fix NetherNet ICE connectivity

* Fix duplicate Bedrock LAN advertisement

* Add NetherNet ICE diagnostics

* Trace outgoing NetherNet ICE packets

* Expand NetherNet connection diagnostics

* Fix clippy after rebase

* Fix oversized NetherNet login messages

* Remove direct async-trait dependency

---------

Co-authored-by: Zoltán Virágh <zoltan.viragh@cloudtalk.io>
2026-08-10 23:00:54 +02:00
Alexander Medvedev
cda8f194ab feat(ci): add nix CI 2026-08-10 22:17:53 +02:00
xRookieFight
2ffe470e2e test: cover inlined hover event NBT payload (#2852) 2026-08-10 18:25:57 +02:00
Alexander Medvedev
1ee7be3f8c chore: add pumpkin_macros::translate_cross! macro
validates translations at compile time, also update bedrock translations to latest 26.40.5
2026-08-10 18:11:00 +02:00
xRookieFight
366c9cb323 fix: accept namespaced entity types in selectors (#2819) 2026-08-10 15:22:19 +02:00
Demetrius Kanios
cbb12b2200 feat(plugin-api): Initial inter-plugin communication (#2788)
* feat(plugin-api): Initial inter-plugin communication

* Update wit submodule commit ref

---------

Co-authored-by: Jakub Palacky <kubik.palacky@gmail.com>
2026-08-10 14:39:01 +02:00
Alexander Medvedev
b17096d96b chore(bedrock): send chat messages with xuid
now you can mute people etc in bedrock
2026-08-10 14:32:11 +02:00
Indrajeeth
2122f2effb feat(plugin-api): block resolution + block entity NBT host functions (#2403)
* feat(plugin-api): add resolve-block-state and set-block-entity-nbt

* feat(plugin-api): implement get-block-entity-nbt

Serializes block entity at position to raw NBT bytes via
write_internal(). Returns None if no block entity exists.

* feat(plugin-api): implement block-state-to-info

---------

Co-authored-by: Jakub Palacky <kubik.palacky@gmail.com>
2026-08-10 13:01:01 +02:00
ZlordHUN
bf48492121 feat: add chest, furnace, hopper, and TNT minecarts (#2376)
* feat(world): support generated loot minecarts

* Minecart Vanila Parity

* Rebased And Added Furnace, Hopper, TNT Minecarts

* Refactor minecart variants into dedicated modules

---------

Co-authored-by: Zoltán Virágh <zoltan.viragh@cloudtalk.io>
2026-08-10 12:36:02 +02:00
Noël Hagestein
fcb26179d3 Add ServerListPingEvent (#2736)
* feat(events): add ServerListPingEvent

* Update pumpkin-plugin-wit to 50962bf
2026-08-10 11:32:02 +02:00
xRookieFight
604d597709 fix: grant fishy business only when fishing (#2817) 2026-08-10 09:25:00 +02:00
xRookieFight
734f79e469 fix: don't deadlock when equipping an item from the hand (#2857) 2026-08-10 09:19:32 +02:00
ZlordHUN
83083d121a fix(bedrock): block breaking and item crafting (#2859)
* Fix Bedrock block breaking and crafting

* Fix Bedrock workbench synchronization
2026-08-10 09:18:39 +02:00
Alexander Medvedev
5bc8077848 feat: impl some Sculk blocks 2026-08-09 22:41:09 +02:00