Commit Graph

451 Commits

Author SHA1 Message Date
RB007
8aeeacfbbc feat: lighting system and refactored chunk_system (#1431)
* refactor: chunk system

* feat: start of lighting engine (working cave lighting?)

* fix: all lighting working?

* chore: clean up

* chore: clippy and formatting

* fix: cross-chunk light propagation and light update packet added

* refactor: restore top-y and add reserve queue optimizations

* refactor: reduce locks, add shadow cache, and batch lighting updates

* fix: block lighting updates now work properly 🥳

* fix: sky lighting updates now work properly 🥳

* feat: lighting config value (default, full, dark)

* fix: import

* fix: re-calculate lighting if required and halt generation on server stop

* fix: smooth chunk saving

* feat: make chunk autosave configurable

* fix: chunks now unload?

* fix: "missing chunk" crash

* fix: receive_chunk hang

* fix: some unloading memory leaks and bugs; refactored lighting a bit

* refactor: simplify lighting propagation and engine

* chore: clippy and formatting

* fix: adherence to lighting config

* fix: sky light propagation

* fix: speed up light propagation

* fix: sky light issues

* chore: clippy and formatting

* fix: merge changes and fmt

* refactor: remove mem command

* fix: Cargo.toml
2026-02-09 19:15:40 +01:00
Alexander Medvedev
f60a77c5d9 chore: decrease compile time
Instead of parsing pumpkin-data for everyone who compiles lets have it as static files, pumpkin-codegen is a standalone parser now
2026-02-09 15:52:46 +01: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
Alexander Medvedev
53803c5e94 feat: add infested blocks & silverfish spawn
ofc also includes a bunch of other things like i always do :D
2026-02-05 19:34:04 +01:00
Alexander Medvedev
3c87523112 chore: refactor chunk reading/writing 2026-02-05 01:54:34 +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
452d8c413b chore: add uuid to world 2026-01-31 15:24:11 +01:00
Alexander Medvedev
67fc80439d fix: player count overflowing 2026-01-31 13:57:26 +01:00
Purdze
676e7e2f65 fix: implement potion_contents data component to prevent crashes (#1387)
implements the minecraft:potion_contents data component which was causing
server crashes when players clicked on potions or tipped arrows in creative
mode

fixes #1309
2026-01-29 11:38:28 +01:00
Alexander Medvedev
b58822319d fix: CI 2026-01-28 23:40:48 +01:00
Alexander Medvedev
fb13004b47 fix: apply clippy lints to workspace
also add contributors to /pumpkin command

Co-Authored-By: Fyor <90567841+fyordev@users.noreply.github.com>
Co-Authored-By: MartV0 <34748938+martv0@users.noreply.github.com>
Co-Authored-By: FabseGP <fabsegp@fabseman.space>
2026-01-28 00:52:47 +01:00
Alexander Medvedev
ac4c85192f chore: less ugly code
and less allocations
2026-01-26 22:23:58 +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
DrPing
232bf29d07 fix: prevent player from getting kicked when doing jab attack with spear (#1375) 2026-01-25 16:58:34 +01:00
Alexander Medvedev
7eccda00ff fix: bedrock movement
also added a bunch of docs, and fixed bedrock air bubbles constantly shown, and also fix bedrock block states
2026-01-24 22:05:50 +01:00
Alexander Medvedev
5bfa6528da chore: changed block registration
only require block ids, should make bin size smaller and let the compiler better optimize, should also be faster performance wise
2026-01-23 23:32:17 +01:00
FabseGP
a04b7036bc chore: some cargo adjustments (#1306)
* chore: strip binaries & define rust-version in workspace

* fix: don't strip binary when profiling

* chore: clippy lints

* fix: use stable fmt

* fix: don't strip dev builds
2026-01-23 15:58:07 +01:00
Alexander Medvedev
d81acb0ab1 fix: bedrock edition and port it to 1.21.30 2026-01-23 15:17:56 +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
Jinx
a6a09a9eca feat: implemented item/armor durability (#1343)
* Added durability for items and armor

* Run rustfmt
2026-01-20 19:16:56 +01:00
Hendrik Lind
1e691c71b9 refactor: use macros & remove need for temp buffer (#1313) 2026-01-16 16:39:38 +01:00
Alexander Medvedev
526c9cc465 fix: https://github.com/Pumpkin-MC/Pumpkin/issues/1298 2026-01-16 16:24:13 +01:00
Alexander Medvedev
ff1f3a0fbd remove: pumpkin-registry
it is gone for good, i made the new registry be parsed from compile time in pumpkin-nbt and even parse the nbt code at compile time as well, And like expected this gives a massive speedup in first time parsing and also decreased bin size
2026-01-15 21:10:18 +01:00
Alexander Medvedev
db486d5572 fix: make item drops fall smooth 2026-01-15 20:29:30 +01:00
Clicks
6178de5b07 fix: variety of small things (#1265)
* scheduled ticks for banners

* scheduled ticks and can place at for cakes

* add pitch to world spawn and setworldspawn command

* add ability migrate LevelDat from SpawnAngle to SpawnYaw

* backwards compatibility

* use minecraft name for setworldspawn
make PlayerSpawnPosition not panic anymore
fix infinite skipping of night when no players were online

* fix more clippy lints

* send abilities update on initial spawn

* Revert "fix more clippy lints"

This reverts commit 19d4ae56f8.

* .-.

* implement advance time gamerule

* still tick world_age

* advance weather

* add dropping of inventory on death

* keep inventory gamerule

* clippy

---------

Co-authored-by: CuzImClicks <cuzimclicks@proton.me>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2026-01-15 12:15:12 +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
Ben Landon
9319bedac5 feat: Implement Command Blocks (#1223)
* Fix /transfer permission

* It's actually permission level three, not permission level two.

* Move dispatcher.register call to correct place

* Implement command blocks

* satisfy clippy

* satisfy formatter

* fix NBT typo

* Fix command block entity handling & ignore starting "/"

* fix: use @ for command block sender name

* feat: correctly load command block entities

* feat: send message when command block is changed

* feat: implement conditional flag for command blocks

* feat: implement chain command blocks

* fix: resolve clippy errors

* feat: implement command block previous output mode

* feat: implement comparator output for command blocks

* fix: check redstone conditions for repeating command blocks

---------

Co-authored-by: MollTheCoder <mollthecoder@programmer.net>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2026-01-11 15:32:04 +01:00
Clicks
70b3132396 chore: Remove Redundant Clippy Allows (#1247)
* switch to btreemap to comply with lint

* amplifier i32 -> u8

* switch allow to expect lint

* remove many many unnecessary clippy lints

* dont use expect inside quotes
2025-12-30 12:16:31 +01:00
Hendrik Lind
b84e2e7153 feat: add times subcommand to title command (#1246)
* feat: add `times` subcommand to `title` command

* chore: make clippy happy
2025-12-30 12:14:55 +01:00
Clicks
24fff00425 Make All Dependencies Workspace Dependencies (#1245) 2025-12-30 12:13:51 +01:00
Alexander Medvedev
42c903493a port to 1.21.11 2025-12-24 13:09:01 +01:00
Alexander Medvedev
fba4d405ac ci: add Windows Arm and macOS Intel 2025-12-09 19:29:57 +01:00
Alexander Medvedev
92fe87e921 smaller structure gen preparations 2025-12-08 20:52:03 +01:00
Alexander Medvedev
3829850607 removed some clones
fix: https://github.com/Pumpkin-MC/Pumpkin/issues/1226
2025-12-07 22:43:26 +01:00
とぴ。(おーけ
dbdbc04eb4 feat: switch to dynamic config (#1201)
* remove static BASIC_CONFIG

* remove static ADVANCED_CONFIG
2025-12-06 13:32:06 +01:00
Alexander Medvedev
a2d8ca8d98 fix: pumpkin-world external crate compilation 2025-12-06 10:30:03 +01:00
Alexander Medvedev
74c66e25e8 fix typo
and some compilation changes,
fix https://github.com/Pumpkin-MC/Pumpkin/issues/1010
2025-12-01 11:23:57 +01:00
Alexander Medvedev
5e8d7221e3 fix: https://github.com/Pumpkin-MC/Pumpkin/issues/1174 2025-11-27 17:31:39 +01:00
Alexander Medvedev
03b3ff5e15 This should prevent some dead locks 2025-11-23 20:08:47 +01:00
Alexander Medvedev
2104367d0e fix: https://github.com/Pumpkin-MC/Pumpkin/issues/1216 2025-11-20 19:40:50 +01:00
Alexander Medvedev
0ce5471761 Overhaul registry loading
Registry data is now loaded dynamically for automatic future-proofing, ending the need for manual struct updates. Access to specific values now requires explicit data lookups.
2025-11-18 19:00:18 +01:00
とぴ。(おーけ
2c26124a90 use const instead of static in some places (#1198) 2025-11-12 18:18:59 +01:00
Omar Afet
2973436a9b feat(protocol): Add resource pack info, improve Ack limits & handle slot errors (#1189)
* Improve error handling for invalid slot action type

* Enforce maximum ACK record limit in packet parsing

* Add resource pack details to CResourcePacksInfo packet
2025-11-09 13:13:19 +01:00
Jonas
e3a565710c Metadata 1.21.9 (sneak problem) (#1191)
* 1.21.10

* sneaking in 1.21.9

* now cicd?
2025-11-09 12:54:32 +01:00
Alexander Medvedev
47bbc56591 this should fix plugin errors
at least for now
2025-11-01 12:13:28 +01:00
Jonas
09240202fa Update Entity metadata to 1.21.10 (#1192)
* 1.21.10
2025-10-15 09:54:01 +02:00
Jonas
ca4f92153a Added Wind Charge and Armor Stand (#1153)
* fix: use rem_euclid for yaw and head_yaw calculations in CSpawnEntity | Thanks to @teknostom

* feat: Add ArmorStand Entity, EulerAngle & EquipmentSlot's

* feat: Add checking for if space is occupied of the armor stand

* feat: clippy

* feat: Enhance ArmorStandEntity with break and drop items functionality

* chore: cargo fmt

* feat: Add WindCharge entity and item with projectile deflection mechanics

* chore: clippy & fmt

* fix: use constant for default deflect cooldown in WindChargeEntity

* feat: add invisibility functionality to Entity and ArmorStandEntity

* refactor: remove EquipmentSlot and HasEquipment trait definitions since it was already existing oops

* feat: implement NbtTag conversion for PackedRotation and update ArmorStandEntity NBT handling

* refactor: fmt

* chore: clippy & fmt

* fix: update damage handling in ArmorStandEntity to use kill instead of remove

* feat: implement ticking behavior for WindChargeEntity to update deflect cooldown and process thrown item entity

* fix: remove unnecessary trailing comma in imports

* remove logging

* fmt

* refactor: simplify EulerAngle initialization and consolidate PackedRotation fields
2025-10-15 09:47:21 +02:00
Alexander Medvedev
0c2b647a45 fix CI
Replaced old chunk files used for testing
2025-10-06 16:14:03 +02:00
Alexander Medvedev
58583da4c1 Port to 1.21.9
I did not update density functions because i'm too lazy to refactor a bunch of things because Mojang decided to remove "initial_density_without_jaggedness", but i will in the future
2025-10-02 18:27:10 +02:00
Alexander Medvedev
932512b5d6 lets try fix CI 2025-10-02 16:54:48 +02:00