Commit Graph

138 Commits

Author SHA1 Message Date
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
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
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
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
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
Alexander Medvedev
4c26afc708 feat: add map creation 2026-05-08 11:24:35 +02:00
Alexander Medvedev
852057aaf6 chore: update bedrock to 26.20 2026-05-06 18:01:17 +02:00
YAJ-54S12G-1
aa5b6db50b feat: lzh translation (#2078)
* feat: lzh translation

* fix and format translation.rs
2026-05-05 10:43:46 +02:00
Alexander Medvedev
fb5ede696c chore: some more bedrock work 2026-05-03 19:16:21 +02:00
Alexander Medvedev
501fd0ced5 feat: Entities drop exp now 2026-05-02 16:24:08 +02:00
Alexander Medvedev
fdd2684432 feat: add Villager trading
currently job selection is missing
2026-05-01 14:34:05 +02:00
Demetrius Kanios
081e1d7e64 feat(bedrock): Update Bedrock support to 26.10 (#2067)
* Update Bedrock support to 26.10

Co-authored-by: A. Jakubiak <contact@jakubiak.fr>

* Fix key extraction for self-signed

* Restructure login to fix resource pack race condition

* Undo unrelated changes to blocks

* Fix relavent clippy warnings.

---------

Co-authored-by: A. Jakubiak <contact@jakubiak.fr>
2026-04-30 20:22:59 +02:00
Alexander Medvedev
d048c33870 chore: prepare 1.20.5 2026-04-18 21:01:44 +02:00
BitForge
4916c05997 fix(entity): consolidate hurt sound parity for slime and shared dispatch families (#1935)
* fix(entity): derive hurt sound parity from generated mapping

Keep slime hurt sounds in runtime because they depend on entity size.\n\nMove enderman and undead-family hurt sound mappings into generated data so living.rs dispatches through a shared lookup instead of owning a hardcoded table.

* refactor(entity): derive hurt sound lookup from entities data

The Extractor companion now emits hurt_sound through entities.json. Keep Pumpkin's hurt_sound_for_entity_type helper narrow and generated while moving its source of truth to entity data.

Slime remains a runtime special case because its hurt sound depends on size rather than static entity metadata.

* refactor(entity): fold hurt sound helper into entity codegen

Move hurt-sound helper generation into the existing entity codegen path.

Remove the standalone helper builder and generated file now that hurt_sound is sourced from entities.json. Runtime dispatch stays unchanged and slime remains a runtime size-based exception.

* refactor(entity): inline hurt sound into EntityType

Remove the standalone entity_hurt_sound feature and helper path.

Hurt sounds now live directly on generated EntityType values, while runtime behavior stays the same and slime remains the size-based runtime exception.
2026-04-08 19:33:45 +02:00
Alexander Medvedev
82ce8e9633 chore: chunk gen just got a bit faster 2026-04-06 13:07:53 +02:00
Alexander Medvedev
0656aec158 fix: some bugs 2026-04-03 18:35:34 +02:00
Alexander Medvedev
4848ca52cc chore: finish 26.1 chunk generation port 2026-04-02 17:12:10 +02:00
Alexander Medvedev
b797010379 fix: spawn eggs 2026-03-31 21:01:51 +02:00
Alexander Medvedev
a111cf3f20 fix: < 26.1 Support 2026-03-31 09:44:08 +02:00
Alexander Medvedev
0635b048b5 Port to 26.1 2026-03-30 16:43:15 +02:00
Illyrius
4054be056b feat: brb translation (#1727)
Signed-off-by: illyrius666 <28700752+illyrius666@users.noreply.github.com>
2026-03-03 17:27:57 +01:00
Illyrius
b66a9a3342 feat: add Italian translation (#1718)
Signed-off-by: illyrius666 <28700752+illyrius666@users.noreply.github.com>
2026-03-03 17:26:56 +01:00
Greened
d1d465ab1f feat: add ka_ge translation (ქართული) (#1625)
* feat: add ka_ge translation

* chore: fix a typo

---------

Signed-off-by: Greened <108997309+GreenedDev@users.noreply.github.com>
2026-03-03 01:07:34 -05:00
Jonas
7d6141b024 feat: add nds_de translation (Plattdüütsch) (#1763)
* Added de_nds ("Plattdüütsch") translation

Signed-off-by: Jonas <158217095+R40fendt@users.noreply.github.com>

* Rename de_nds.json to nds_de.json

Now matching with minecraft's language codes

Signed-off-by: Jonas <158217095+R40fendt@users.noreply.github.com>

* Added registration in translation.rs

* Cargo fmt fix

---------

Signed-off-by: Jonas <158217095+R40fendt@users.noreply.github.com>
2026-03-02 10:17:34 +01:00
Cos-Cos-Cos
ccfb3433c4 feat: Add Polish translation (pl_PL) (#1776)
* Add polish translation (pl_PL)

Signed-off-by: Cos-Cos-Cos <daniel997.321@gmail.com>

* Update translation.rs

Signed-off-by: Cos-Cos-Cos <daniel997.321@gmail.com>

---------

Signed-off-by: Cos-Cos-Cos <daniel997.321@gmail.com>
2026-03-02 10:12:55 +01:00
YAJ-54S12G-1
de1dd65db3 ko_kr translation (#1728) 2026-02-26 01:26:57 -05:00
miutonic
9e256d2228 feat: add Romanian (ro_RO) translation (#1724) 2026-02-26 01:25:40 -05:00
Illyrius
4d0c089e9a init (#1627)
Signed-off-by: illyrius666 <28700752+illyrius666@users.noreply.github.com>
2026-02-24 19:48:07 -05:00
Illyrius
645cb9afb5 feat: nl_be translation (#1628)
* init

Signed-off-by: illyrius666 <28700752+illyrius666@users.noreply.github.com>

* fix missing bracket

Signed-off-by: illyrius666 <28700752+illyrius666@users.noreply.github.com>

---------

Signed-off-by: illyrius666 <28700752+illyrius666@users.noreply.github.com>
Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com>
2026-02-24 19:42:30 -05:00
YAJ-54S12G-1
21b22ff63a Add Traditional Chinese, Fix Simplified Chinese (#1705)
* zh_tw translation

* zh_hk translation

* translation fix: zh_cn, zh_hk, zh_tw
2026-02-24 19:24:15 -05:00
Illyrius
483e872d09 feat: de_de translation (#1629)
Signed-off-by: illyrius666 <28700752+illyrius666@users.noreply.github.com>
2026-02-24 08:52:06 +01:00
とぴ。(おーけ
44989c86f4 feat: More compatible Java Edition versions (>=1.21) (#1435)
* 1.21.9

* 771: 1.21.6

* 770: 1.21.5

* 769: 1.21.4

* better impl

* missing data

* 768: 1.21.2

* added >=1.21.2 mapping

* impl abstract remapper.

* added entity_id remap

* fix commands packet (<1.21.6)

* fix 1.21.4 level_chunk_with_light

* fix reading packet

* fix sneak <=1.21.6

* Merge branch 'master' into protocol

* fixed `level_chunk_with_light` packet (<=1.21.4)

* 767: 1.21

* fixed `login_finished` packet (<=1.21.1)

* fixed `login` packet (<=1.21.1)

* fixed `player_position` packet (<=1.21.1)

* fixed `set_held_slot` packet (<=1.21.1)

* fixed `set_time` packet (<=1.21.1)

---------

Signed-off-by: とぴ。(おーけ <support@topi-banana.com>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2026-02-23 12:06:37 +01:00
Illyrius
c929d54b8a feat: nl_nl translation (#1626) 2026-02-22 19:44:52 +01:00
Richard Marshall
b77d9c1b4d feat: complete boat implementation (#1440)
* feat: implement boat placement

- add boat item handler for all boat/raft types
- raycast with fluid handling to place on water or blocks
- filter entities with can_hit predicate (vanilla parity)
- check space is empty before spawning
- decrement item unless creative mode

* feat: add boat entity with damage handling

- create BoatEntity struct implementing EntityBase
- implement can_hit() and is_collidable() for boats
- implement damage handling that drops boat item on destroy
- update boat item to spawn BoatEntity instead of generic Entity

* fix: boat damage wobble and attack sounds match vanilla

Boats now accumulate damage with wobble animation that decays over time.
Attack sounds play for all hittable entities, not just living entities.

* feat: add boat riding and vehicle movement packets

* feat: complete boat implementation matching vanilla

- add underwater check (60 ticks) and max 2 passengers limit
- add paddle animation metadata and handler
- implement proper land dismount with offset calculation
- add riding_cooldown field to entity

* fix: clippy warnings for boat implementation

* refactor: use loot tables for boat item drops

* fix: collapse nested if to satisfy clippy

* style: fix cargo fmt formatting for collapsible if

* fix: boat dismount places player correctly beside vehicle

- implement vanilla's dismount position calculation with
  getDismountHeight, canDismountInBlock, and pose fallback
  (standing → crouching → swimming)
- fix packet ordering race: use enqueue_packet for teleport so it
  arrives after CSetPassengers (send_packet_now bypassed the queue)
- pre-set awaiting_teleport before CSetPassengers to block stale
  movement packets during async dismount calculation
- send CSetPassengers directly to dismounting player, broadcast to
  others (matching vanilla's targeted packet behavior)
- use DELTA|ROT position flags for teleport (vanilla preserves
  current look direction with relative rotation)
- add riding cooldown (60 ticks) to prevent immediate re-mount
- reset sneaking state after player dismount
- fix water detection to check specifically for water/flowing_water
  fluids (Fluid::from_state_id returns EMPTY for air blocks)
- revert broken loot table refactor for boat item drops (boats use
  hardcoded entity-to-item mapping, not loot tables)
- add get_dismount_height helper on World matching vanilla's
  BlockView.getDismountHeight()
- ignore movement packets while awaiting teleport confirmation in
  handle_position and handle_position_rotation

* style: fix cargo fmt formatting

* refactor: use loot tables for boat item drops

add loot table entries to entities.json for all 20 boat/raft types
and use the existing loot table system instead of hardcoded mapping.

* fix: resolve rebase conflicts and clippy warnings

* fix: regenerate codegen to include boat loot tables
2026-02-17 19:47:49 +00:00
Axillux
3a48274d7b Added russian and ukrainian translation (#1586)
* added russian and ukranian

* forgot to change the translation.rs

* remove the double pt_br parsing

---------

Co-authored-by: Rocker <sanatnurasyl@outlook.com>
2026-02-17 16:40:05 +00:00
zicstardust
8995214eef feat: add pt_br translation (#1529) 2026-02-11 19:17:16 +00:00
ChocoDev
cef8a024e7 feat: BlockState Remaping (#1457)
* vn translation

* feat: blockstate remapping

* formatting cleanup

* damm dot

* damm comma

* fix: mapping 1.21.8 tracker

* fix: entity metadata

* formatting

* clippy

* fix: item id remap

* formatting
2026-02-08 14:24:16 +01:00
ChocoDev
fee9fa3d76 feat: vietnam(vn) translation (#1455) 2026-02-07 10:46:58 +01:00
とぴ。(おーけ
707d1e9a92 chore: add ja_jp translations (#1439) 2026-02-05 18:03:53 +01:00
Alexander Medvedev
835262a85a chore: move chunk gen settings from runtime to compile time parsing
Bin size decreased, Startup time decreased by a lot in debug, lower memory usage
2026-02-03 23:35:31 +01:00
Alexander Medvedev
be322123cf chore: make chunk gen usable in debug mode 2026-01-30 00:57:55 +01:00
Alexander Medvedev
186ad2edea feat: 1.21.7-1.21.11 support
Its works, but block state ids are currently not mapped, meaning that when using the current default world gen the client mostly will disconnect due to a not found block state id, vanilla version compatible worlds should work
2026-01-25 23:08:28 +01:00
Alexander Medvedev
142296a9b2 feat: 1.21.9-1.21.11 support
more versions will come
2026-01-22 17:16:37 +01:00
Alexander Medvedev
20a14d730b feat: building wither 2026-01-20 22:47:22 +01:00
Alexander Medvedev
e46459915c feat: Implement fireworks
also fix: https://github.com/Pumpkin-MC/Pumpkin/issues/1217
also includes some bedrock work, but still broken
2026-01-13 19:09:19 +01:00
Alexander Medvedev
ce652860e0 fix nether 2026-01-04 20:28:51 +01:00
Alexander Medvedev
01d3be963d feat: Structures 2026-01-03 23:36:19 +01:00
Alexander Medvedev
42c903493a port to 1.21.11 2025-12-24 13:09:01 +01:00