Commit Graph

108 Commits

Author SHA1 Message Date
Alexander Medvedev
efa97ad174 fix: https://github.com/Pumpkin-MC/Pumpkin/issues/2283 2026-06-28 16:18:49 +02:00
kedor
0eb7cb1a79 fix(advancement): Fix advancement tree and visibility (#2304)
* fix visibility evaluator

* fix a small issue with the placement of advancement
2026-06-27 20:42:35 +02:00
Alexander Medvedev
03a90a40b1 chore: expand loot table 2026-06-27 10:35:46 +02:00
Alexander Medvedev
322b7af6ae chore: made tnt explosion bit faster 2026-06-26 21:43:00 +02:00
kedor
39596c1b9f feat: Advancement command (#2282)
* starting implementing the advancement command

* implementing globally of the advancement command

* fixing lib.rs

* implementing the new Advancement argument and updating the AdvancementArgs lifetime

* updating wit by adding advancement as command arg

* cargo fmt

* fixing the advancement
hooking the saving
spawn blocking task for IO task

* fixing the update of load to be async

* adding await to load for a test

* fix when save is disable

* making save_enable check first

* fix conflict

* update hash

* fix wit change

* fix column_pos

* adding rust documentation

* typos fix

* removing example

* invalid advancement packet

* fix itemstack parsing to use ItemStack Template ones

* changing enum type from i32 to VarInt

* fix packet by switching up the frame type and flags

* fixing packet and loading of the advancement

* cargo clippy

* update wit
2026-06-26 09:23:54 +02:00
kedor
ed0bf820f7 feat: Add the display position calculation of the advancements (#2256)
* generate the placement of the advancements to be display rightfully for the client

* fix typos with appropriate naming
2026-06-24 18:20:12 +02:00
PigTurtle
eaf1bf3cbe fix(compile-times) replaced const arrays with statics (#2281)
the const [&T; 29873]s for block(state) mapping were being inlined ~300 times just to be deduplicated by LLVM.
They are now statics but are accessed via const fns.
This improves compile times by roughly 12 minutes.
2026-06-24 18:11:37 +02:00
Alexander Medvedev
d0d760de6a fix: bedrock 26.30 2026-06-24 18:03:08 +02:00
Alexander Medvedev
5f60d23804 feat: villager Professions 2026-06-21 21:54:10 +02:00
Alexander Medvedev
23e7992b2d Port to 26.2 2026-06-20 20:07:31 +02:00
Alexander Medvedev
8ce76261ac feat(bedrock): add creative content 2026-06-19 18:52:50 +02:00
kedor
fb3b146fdd feat: add advancement progress (#2261)
* implementing the advancement progress so each advancement has certain requirements to be mark has complete

* cargo fmt

* fix test

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2026-06-15 14:50:12 +02:00
Alexander Medvedev
68bae5899e feat: add stats 2026-06-12 20:55:29 +02:00
kedor
fda79cbc41 feat: adding barebone advancement codegen (#2251)
* implementing the barebone generation of

* cargo fmt

* fixing CI

* fixing unused import

* updating advancements.json file

* remove useless modification for identifier.rs

* fixing CI and typos

* remove bad modification

* update pumkin-plugin-wit
2026-06-12 07:07:10 +02:00
Alexander Medvedev
5b8eab0f56 feat: initial village support 2026-06-10 23:07:10 +02:00
Alexander Medvedev
dd524b6ef9 Revert "feat: implementing the base generation of advancement (#2236)"
This reverts commit decfc460b2.
2026-06-09 16:49:14 +02:00
kedor
decfc460b2 feat: implementing the base generation of advancement (#2236)
* implementing the barebone generation of

* cargo fmt

* fixing CI

* fixing unused import

* updating advancements.json file
2026-06-09 16:00:37 +02:00
Glory
dc6ad807ce fix(items): ender pearl logic and item cooldown (#2189)
* fix: throw sound pitch

* fix: ender pearl teleporting player to wrong position

* impl: spawn endermite on ender pearl collision

* fix: check world rules before spawning endermites

* impl: ender pearl damages collided entity

* impl: item use cooldown

* fix: cooldown_group in pumpkin-codegen

* resolve merge conflict

---------

Signed-off-by: Glory <89966094+gloryrunner@users.noreply.github.com>
Co-authored-by: Missing_Love <42416195+Q2297045667@users.noreply.github.com>
2026-06-08 13:27:29 +02:00
Demetrius Kanios
2283048b9b feat(bedrock): Initial inventory setup (#2215)
* Initial asset prep, and `CItemRegistry` packet (vanilla; no Java fixes).

* Fix definition component NBTs.

* Packet fixes and dummy stick.

* Map actual player inventory & add stack UIDs

* Cleanup

* Update assets README
2026-06-07 07:59:06 +02:00
Alexander Medvedev
c17e7124d8 feat: extend packet send and receive events 2026-06-06 10:13:53 +02:00
Alexander Medvedev
65bfbe89b9 feat: add packet receive and send events 2026-06-05 18:03:44 +02:00
とぴ。(おーけ
a2f0122503 chore(pumpkin-util): gate codegen deps behind feature flag (#2127)
Make `syn`, `quote`, and `proc-macro2` optional in pumpkin-util,
exposing them via a new `codegen` feature. `pumpkin-codegen` opts in
explicitly, so downstream consumers no longer pay the proc-macro
build cost when they don't need `ToTokens` impls.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-04 11:12:55 +02:00
Nicolai Van der Storm
42f6b9ce3f fix(protocol): remap item/block state IDs and entity metadata for older Java clients (#2185)
* fix(protocol): remap item/block state IDs and entity metadata for older Java clients

The server was using reversed ViaVersion mappings (designed for old→new)
to downgrade packets for older clients, which produced ID collisions and
incorrect fallbacks for 26.1-exclusive items and block states.

Changes:
- Replace ViaVersion with ViaBackwards mapping files for item ID and
  block state remapping, which provide the correct new→old direction
  with proper closest-item fallbacks for 26.1-exclusive content
- Fix CSetEntityMetadata to remap ItemStack item IDs per client version,
  matching the version-aware handling already done for inventory packets
  and block state metadata
- Fix TrackedData codegen to resolve Java JSON keys correctly by trying
  both bare names and DATA_-prefixed names, and iterate the union of all
  version keys instead of only the latest (Bedrock) version
- Fix LootCondition::MatchTool to default to false instead of true,
  preventing silk-touch loot table branches from always winning and
  causing ores to drop themselves instead of their correct items

Fixes: block drops invisible on older Java clients
Fixes: leather showing as milk bucket on 1.21.11
Fixes: coal ore dropping coal ore instead of coal
Fixes: 26.1-exclusive blocks showing as wrong blocks on older clients

* fix(codegen): remove #[must_use] from trait impl methods in generated code

* fix(codegen): switch entity, sound and block state remapping to ViaBackwards mappings

---------

Co-authored-by: Missing_Love <42416195+Q2297045667@users.noreply.github.com>
2026-05-27 15:22:17 +02:00
Alexander Medvedev
3629f43dcc fix: disable cave carver for now
fixes some issues
2026-05-23 16:36:08 +02:00
Alexander Medvedev
bd544271e2 feat: more loot table work 2026-05-22 22:23:47 +02:00
Laptop59
fd0539c2a7 feat(command): slot argument types (#2170)
* argument types implemented

* tested parsing in-game and on the terminal

* fixed doc comment
2026-05-22 16:30:26 +02:00
Alexander Medvedev
d47ac2cd51 feat(loot-table): add luck 2026-05-21 22:20:00 +02:00
Alexander Medvedev
2fcc9bcf4a chore: enforce some more clippy lints
pumpkin contributors will love me :cap:
2026-05-20 22:27:54 +02:00
Alexander Medvedev
330a68054f chore: replace String with ConfiguredFeatures enum 2026-05-19 20:19:46 +02:00
Alexander Medvedev
c7a9d5935a chore: replace String with PlacedFeatures enum 2026-05-19 20:08:58 +02:00
Demetrius Kanios
81f9f51d39 feat: Implement Bedrock NBT (network variant) (#2148)
* Implement Bedrock (Network) NBT

* Refactor to reduce dup between Java and Bedrock impls.

* Add tests, fuzzers, and benchmarks for Bedrock
2026-05-18 21:46:29 +02:00
Alexander Medvedev
95893b7463 feat(plugin-api): add get biome 2026-05-16 21:22:08 +02:00
Alexander Medvedev
e2ff17d6f0 feat(plugin-api): allow to register custom recipies 2026-05-16 20:56:29 +02:00
Alexander Medvedev
0c56e47f43 feat(plugin-api): parse data_component and enchantment to .wit 2026-05-16 18:43:41 +02:00
Demetrius Kanios
26c4d6abd2 chore: Ensure generated_packets.rs gets formatted, fix WIT, and rerun pumpkin-codegen (#2143)
* Ensure `generated_packets` gets formatted, and rerun `pumpkin-codegen`.

* Add import to generated WIT for `uuid`
2026-05-16 11:34:52 +02:00
Alexander Medvedev
966fbec3d3 feat(plugin-api): add java/bedrock abstraction 2026-05-16 09:56:18 +02:00
Alexander Medvedev
5aafff35e8 feat: add bedrock forms 2026-05-15 18:24:28 +02:00
SomeYellowGuy
f383c88c76 feat(codec): implement Encode and Decode for some pumpkin-util items and convenience codec macros (#2111)
* added identifier codec

* added codec impls for `Vector2<T>` and `Vector3<T>`

* added codec impl for `BlockPos`

* added codec impls for `BlockBox` and `EulerAngle`

* fixed formatting and clippy

* added `BlockPos` test

* fixed clippy and formatting

* fixed codec mapping macros and started using them in tests

* fixed formatting
2026-05-15 08:45:49 +02:00
RB007
b2b10f3323 feat: chest loot tables (#2084)
* feat: add vanilla chest loot table json files

* feat: codegen and chest loot logic

Co-authored-by: Copilot <copilot@github.com>

* fix: monster_room loot chests

* fix: nether_fortress loot chests

* fix: shuffle item stacks and fmt/clippy

Co-authored-by: Copilot <copilot@github.com>

---------

Signed-off-by: Alexander Medvedev <lilalexmed@proton.me>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2026-05-15 08:43:51 +02:00
AurelienFT
ed3465b75c feat: Add root placement for mangrove trees (#2137) 2026-05-15 08:39:41 +02:00
AurelienFT
e6070e6d6a feat: add generation of vines on leaves (#2136) 2026-05-14 20:48:59 +02:00
Alvsch
d74b7edf09 fix: packet codegen and export more wit (#2120) 2026-05-10 20:51:09 +02:00
Alexander Medvedev
1abfb195de feat: add Crossbow 2026-05-10 16:43:42 +02:00
Alexander Medvedev
2bfe2335f0 feat: inital mob spawn rules 2026-05-10 11:09:38 +02:00
Alexander Medvedev
45867d33e2 feat(plugin-api): initial packet api 2026-05-08 21:42:37 +02:00
Alexander Medvedev
4c26afc708 feat: add map creation 2026-05-08 11:24:35 +02:00
Alexander Medvedev
4e3268b140 feat: add stonecutter 2026-05-07 22:02:52 +02:00
ChocoDev
2586d46380 feat: cross version sound id remapping (#2103) 2026-05-07 11:14:15 +02:00
Alexander Medvedev
63d39f46d4 feat: add enchanting table 2026-05-06 22:29:29 +02:00
Alexander Medvedev
fd56a5be7a feat(chunk-gen) add scattered ore, twisting vines, blue ice 2026-05-06 18:59:36 +02:00