2775 Commits

Author SHA1 Message Date
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
Alexander Medvedev
6720ac265e feat: add more items 2026-08-09 21:36:03 +02:00
Alexander Medvedev
b18c26ccb4 fix: SEmote packet 2026-08-09 18:48:59 +02:00
Alexander Medvedev
92658f5853 feat(bedrock): death animation 2026-08-09 17:29:54 +02:00
Alexander Medvedev
33e11088b2 fix: https://github.com/Pumpkin-MC/Pumpkin/issues/481 2026-08-09 17:06:40 +02:00
xRookieFight
d61f8c931f fix: don't block the async runtime when reading inventories (#2851) 2026-08-09 16:36:02 +02:00
Eshan I.
c75b89fd89 fix(item): require a non-empty charged list to fire a crossbow (#2805)
Item::CROSSBOW ships a ChargedProjectiles component by default, carrying an empty
projectile list (crates/pumpkin-data/src/generated/item.rs, the CROSSBOW components
table). normal_use tested only for the presence of that component, which is therefore
true for every crossbow including a freshly crafted one.

The result is that the first right-click on an uncharged crossbow takes the fire branch,
fire_projectiles iterates an empty list and does nothing, and charging never starts, so
the crossbow cannot be used at all until something else happens to write a non-empty
patch.

Vanilla gates on the list being present AND non-empty:

    ChargedProjectiles chargedProjectiles = itemStack.get(DataComponents.CHARGED_PROJECTILES);
    if (chargedProjectiles != null && !chargedProjectiles.isEmpty()) {

(CrossbowItem.java:67-68, 26.2.) Matching that here restores the charge-then-fire cycle.

Test plan:
- cargo fmt --all
- RUSTFLAGS="-D warnings" cargo clippy -p pumpkin --all-targets
2026-08-09 15:59:09 +02:00
xRookieFight
dedce1ce45 fix: adapt bow attack goal to new equipment API (#2850) 2026-08-09 15:39:12 +02:00
xRookieFight
bb5f05573e fix: minecarts fall when off rails (#2796) 2026-08-09 15:12:30 +02:00
xRookieFight
e68cef7505 fix: make skeletons shoot arrows with their bow (#2818) 2026-08-09 15:11:36 +02:00
ZlordHUN
ee984ea555 fix: Bedrock NetherNet offline mode (#2821) 2026-08-09 15:09:37 +02:00
xRookieFight
8f969c7681 fix: sync enchanted item to client (#2816) 2026-08-09 15:02:14 +02:00
xRookieFight
bb9e71a951 fix(item): keep eyes of ender in creative mode (#2841) 2026-08-09 12:04:50 +02:00
Bjorn Beishline
ff57b6e282 feat(chunk): improve chunk generation speed ~1.27x (#2847)
* feat(noise): Add benchmark for noise generation

* feat(noise): fix extra noise libm calls

* feat(noise): cache density fill

* feat(aquifer): add skip sampling for aquifer
2026-08-09 12:04:28 +02:00
Alexander Medvedev
3150bd13de chore: add CODEOWNERS 2026-08-09 11:58:59 +02:00
ZlordHUN
8ea6fe9f9b feat: Add Ocean Monument Structure Generation (#2737)
* feat: Implement ocean monument structures

* Fix monuments being cut in half

* Fix structure generation height handling
2026-08-09 11:38:49 +02:00
ZlordHUN
00b921c020 fix: bedrock and java players disconnecting when joining the same server (#2844)
* WIP: improve Bedrock player skin compatibility

* Fix cross-edition player list synchronization

* Fix legacy Java skins on Bedrock

* Refactor Bedrock build platform encoding
2026-08-09 10:33:24 +02:00
ZlordHUN
64dd96c37b fix: Bedrock dropped item synchronization (#2832) 2026-08-09 10:15:22 +02:00
zhangxuan
f2ed9a07e4 fix: 🐛 Fixed that a slime appears after a magma cube died (#2826)
* fix: 🐛 Fixed that a slime appears after a magma cube died

* style: 🎨 Code formatting
2026-08-09 10:07:03 +02:00
Dark Star
97160c3566 docs(plugin-api): explain how plugins persist data (#2820) 2026-08-09 10:06:31 +02:00
xRookieFight
d150d78cfa fix(worldgen): skip jigsaw blocks whose final state is a structure void (#2840) 2026-08-09 10:04:10 +02:00
ZlordHUN
50fe9f7cd7 fix: Bedrock block breaking feedback (#2829) 2026-08-08 16:14:10 +02:00
Alexander Medvedev
e5047bd4c9 fix: data component try_from_name 2026-08-08 16:12:56 +02:00
Alexander Medvedev
ee6e0474ff fix: exlude wepif.yml 2026-08-08 13:46:17 +02:00
Alexander Medvedev
49360e53ef chore: clippy enforce unwrap_used, expect_used and panic
release is not far
2026-08-08 13:44:51 +02:00
xRookieFight
0eb7b936db fix: encode skin parts metadata per client version (#2815) 2026-08-08 08:59:08 +02:00
Alexander Medvedev
63d97e2c82 refactor(inventory): replace per-slot Arc<Mutex<ItemStack>> with container-level synchronization 2026-08-07 21:45:05 +02:00