Commit Graph

1512 Commits

Author SHA1 Message Date
Liyan Zhao
5ea2f70dba Fix damage & death msg & portal delay (#1095)
* fix: damage sound & death message

* fix

* fix

* fix rustfmt

* fix: reset_state

* fix
2025-08-01 10:04:59 +02:00
Alexander Medvedev
0c1f0b9a33 Send Inventory and Health when Switching dimension 2025-07-31 20:10:51 +02:00
spr-equinox
5084ccd43f Add Entity spawning on Chunk generation (#1054)
* Support Spawn

* Update natural_spawner.rs

* fix distance

* fix error

* fix

* use heigh map

* Update living.rs

* impl get_rough_biome and merge

* fix dropper and entity disappear

* merge

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-07-31 18:38:06 +02:00
Alexander Medvedev
7468f2cf76 Smaller fixes 2025-07-31 10:29:41 +02:00
TheDarkSword
fab33370b5 Implements some AI Goals for Zombie (#1011)
* Starting implementing AI goals

* Implement LookAtEntityGoal

* Implement ActiveTargetGoal

* Cleanup code

* Fix error when merging

* Implement LookAroundGoal

* Mob refactoring and implemented MoveToTargetPosGoal

* Implement StepAndDestroyBlockGoal

* Implement DestroyEggGoal

* cargo fmt

* Start implementation of Path and collisions

* Revert "Start implementation of Path and collisions"

This reverts commit 833941f4d1.

* Fix looking

* cargo fmt

* Implement priority

* fix clippy

* Implement mob moving with MeleeAttackGoal

* cargo fmt
2025-07-31 09:33:48 +02:00
Liyan Zhao
2ff2bee05e Fix panic message formatting & remove ansi color escape in log file (#1089)
* fix: panic & file logger color

* fix: panic & file logger color

* fix: panic & file logger color

* ci: try cargo expand

* ci: try cargo expand

* ci: try cargo expand

* ci: try cargo expand

* ci

* ci

* ci

* refactor logging: simplify log method by inlining record creation

* fix

* fix
2025-07-31 09:30:11 +02:00
Liyan Zhao
43534cbffd Add EquippableComponent; Handle armour items more elegantly (#1052)
* Partially revert #1008

commit a378e48a04

* feat: equippable component

* chore

* chore

* fix

* fix

* fix: slot & equip_sound

* fix: reg
2025-07-30 22:31:13 +02:00
Alexander Medvedev
dbaf240da5 Remove spawn chunks
these will be also soon gone in Vanilla
2025-07-30 15:26:40 +02:00
teknostom
d8d6676008 add gourds (#1090)
* add gourds

* fix

* Update stem.rs
2025-07-30 14:10:15 +02:00
Florian Lang
6e7b56abc5 Config set default values for values missing in file (#1081)
* feat: implemented that missing config values will be filled with default values

* fix: only save merged config if something has changed

* fix: formatting of pumpkin-config lib.rs

* feat: added log if file was changed by check for missing values
2025-07-29 14:10:24 +02:00
Liyan Zhao
018457d199 Fix client id increment (#1087)
* fix: client id increment (passing &mut u64)

* clippy
2025-07-29 12:40:28 +02:00
Alexander Medvedev
fd8d89a219 Fix https://github.com/Pumpkin-MC/Pumpkin/issues/1075 2025-07-29 12:19:05 +02:00
spr-equinox
13ef8de2dc add Potion Data, refactor Effect, and add BrewingRecipe Data (#1070)
* improve tag v1

* improve tag v2

* fix typo and make BlockPredicate better

* improve get state from state id

* impl DataComponent

* make tag pub

* make component work

* apply clippy

* apply clippy

* remove unused crate

* apply to itemstack and no lifetime mark anymore

* Update tag.rs

* use Cow

* remove unnecessary lazy_static and Cow

* Update mod.rs

* Update mod.rs

* make DataComponent dyn

* 1

* fmt

* remove unused crate

* fix error

* fix

* Update Cargo.toml

* Update Cargo.lock

* fix

* Update composter.rs

* update rust-version, remove unused crate, and merge

* Update furnace.rs

* Update lib.rs

* Update living.rs

* Update living.rs
2025-07-28 20:34:29 +02:00
ht06
4b7d9e0fd5 Implement ladder (#1056)
* feat: add ladder placement

* fix: delete .clone()

* all good
2025-07-28 20:32:24 +02:00
Rafael
c76c2f7cff feat: Implement item scattering when destroying blocks with inventories (#1078)
* feat: Implement item scatterer

* fix: Some issues

* fix: Formatting

* feat: Remove unused functions

* feat: Optimize blockentity check

* fix: Formatting

* fix: Ups

* fix: Remove log

* fix: Make clippy happy

* fix: Merge conflicts
2025-07-28 20:21:29 +02:00
Alexander Medvedev
a66fbc9671 add killed_by_player for loot table 2025-07-28 19:59:07 +02:00
Liyan Zhao
0e375434c5 Improve entity damage handling & entity name, Add death message & void damage, Weak reference to server in worlds. (#961)
* fix: enhance damage handling with context in LivingEntity

* feat: add out-of-world damage handling

Fix: #957

* fix: refine damage handling with context for entities

* fix: clippy

* feat: death message

* fix

* fix

* fix

* fix: review suggestions

* fix

* Update mod.rs

* fix display name

* fix display name

* fix clippy

* fix clippy

* fix

* fix

* fix world load

* fix logger timestamp

* fix logger timestamp

* fix compiling

* fix fall damage

* fix: pass fat ptr in damage_with_context

* refactor: Refactor commands to use styled name instead of plain text.

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-07-28 18:07:52 +02:00
AyaSanae
2174488bbf Fix heightmap (#1083)
* implement heightmap

* add the calculation for MOTION_BLOCKING_NO_LEAVES
2025-07-28 12:26:14 +02:00
spr-equinox
8ce65cc42d Refactor ItemStack to Support Vanilla-Like Data Components (#1059)
* improve tag v1

* improve tag v2

* fix typo and make BlockPredicate better

* improve get state from state id

* impl DataComponent

* make tag pub

* make component work

* apply clippy

* apply clippy

* remove unused crate

* apply to itemstack and no lifetime mark anymore

* Update tag.rs

* use Cow

* remove unnecessary lazy_static and Cow

* Update mod.rs

* Update mod.rs

* make DataComponent dyn

* remove unused crate

* fix error

* Update Cargo.toml

* Update Cargo.lock

* fix

* Update composter.rs

* update rust-version, remove unused crate, and merge

* Update furnace.rs
2025-07-28 12:24:40 +02:00
Alexander Medvedev
eaf5959f2b Minor Chunk gen speed gains 2025-07-28 12:18:54 +02:00
AyaSanae
f80650c36c Implement Furnace (#1058)
* fix: the fields of the struct CookingRecipe should be pub.

* Add furnace screen handler and slot

* Add furnace block entity

* Add furnace block

* fix bug

* add client-side sync

* fix furnace facing

* remove unused statements

* fix spelling error

* Listening for property changes and syncing them to the client-side.

* fix furnace lit state

* fix fuel should be placed at fuel slot in quick_move()

* fix spelling error

* remove unused comment

* fix: only one listener is needed.

* pumpkin-data: add recipe_remainder

* Set the bottom item as the remainder if it has one

* pumpkin-data && furnace:fix spelling error

* fix building error

* use_with_item is the same as normal_use

* fix quick_move()

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-07-28 10:10:17 +02:00
spr-equinox
15c9aa4ac8 Improve tags (#1057)
* improve tag v1

* improve tag v2

* fix typo and make BlockPredicate better

* improve get state from state id

* make tag pub

* Update tag.rs

* fix error

* Update hopper.rs

* Update hopper.rs
2025-07-27 21:34:18 +02:00
Alexander Medvedev
46e7eba48a Revert "fix Heightmap when spawning (#1067)"
This reverts commit 514460316a.
2025-07-27 20:53:42 +02:00
AyaSanae
514460316a fix Heightmap when spawning (#1067)
* heightmap: impl set and get for world_surface

* heightmap: recursively traverse all sub_chunk until a non-air block is found.

* implement heightmap

* remove unused import

* Implement the heightmap calculation for the all dimensions.

* log_heightmap: switch X,Z arrangement.

* Optimize heightmap computation for all dimensions

- Without using recursion.
- Now able to accurately calculate the MotionBlocking heightmap.
- In the Nether, the heightmap is the same as in vanilla, at 127.

* Default() the heightmap with 0.

* fix merge error
2025-07-27 20:44:33 +02:00
vyPal
f463b5bc81 allow Custom Plugin APIs (#1080)
* Wrap Context in Arc

* Add support for plugin to expose custom APIs

* Add functionality to allow plugins to load in parallel

* Remove PluginManager from RwLock
2025-07-27 17:34:41 +02:00
とぴ。(おーけ
27bd9b15c3 Optimize and Fix Tick Scheduler (#1055)
* optimize and fix tick scheduler

* add serialize/deserialize

* extend to append

* fmt

* small optimization

* fmt
2025-07-27 17:32:16 +02:00
AyaSanae
784f11568a fix: could not find en_us.json (#1079) 2025-07-27 17:21:26 +02:00
spr-equinox
8495a009b5 support Hopper, remove dropper todo, and support shulker box basically (#1064)
* support Hopper, remove dropper todo, and support shulker box basically

* typo

* fix dead lock

* Update hopper.rs

* Update mod.rs

* Update hopper.rs

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-07-27 11:40:25 +02:00
Rafael
3d72b72639 feat: Implement hand swing animation for beds (#1025)
* feat: Swing hand like vanilla

* feat: Make it more vanilla

* fix: Remove comment

* fix: Stop action if the block it too be stopped

* fix: rename to match vanilla

* fix: Add missing comment

* fix: clippy

* fix: Use names from yarn mappings

* fix: Make clippy happy
2025-07-27 10:35:39 +02:00
teknostom
40296b6f86 Fix water disappearance discrepancies (#1066)
* Fix water dissaperance

* fmt
2025-07-27 10:16:00 +02:00
Clicks
af498ce1d7 Feat setworldspawn Command (#1073)
* prototype

* fix permissions

* fix spawning on the edge of blocks

* fix level_info being cloned without Arc and fully implement setworldspawn

* prettier

* cargo fmt my beloved bitching about a comma
2025-07-26 21:10:01 +02:00
teknostom
ee361f35cb Add macro for expanding tags to PumpkinBlock (#1071)
* add macro for expanding tags

* fmt

* Remove log
2025-07-26 19:56:17 +02:00
Clicks
63950097a3 fix the xp calculations (#1074) 2025-07-26 18:06:10 +02:00
Alexander Medvedev
8ccc135d74 Update all crates 2025-07-26 17:51:15 +02:00
unschlagbar
2e2236bf3b Bedrock player joining (#1063)
Co-authored-by: unschlagbar <adrian@kuhlmann@gmx.de>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
Co-authored-by: unschlagbar <adrian@kuhlmann@gmx.de>
2025-07-26 17:31:00 +02:00
APO2073
fc1a9a5bd4 Update rsa version to fix plugin errors (#1065) 2025-07-26 16:02:37 +02:00
4lve
c01e0b93b9 Use rayon for chunkgen (#1046)
* Start fixing block entities

* Fix

* Begin performance fixing

* Fix stuff

* cleanup

* fix clippy

* Fast as fuck

* fix clippy

* Write chunks concurrently

* Disable random ticks for now

* Fix

* Merge

* fix merge errors

* Fix clippy

* Use rayon for chunkgen

* Fix clippy and add tokio console

* Remove unused imports

* Merge

* Fix panic and warn instead

* Fix clippy

* Fix formatting

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-07-11 21:23:32 +02:00
spr-equinox
0d649a87d5 support offhand (#1047)
* support offhand

* Update play.rs

* Update play.rs

* Update play.rs

* Update play.rs
2025-07-11 20:27:25 +02:00
Alexander Medvedev
b0cea38596 remove some internal crates 2025-07-11 14:23:14 +02:00
Maoyue 貓月
9582e48fd4 docs: fix quick start link (#1053) 2025-07-11 08:42:35 +02:00
spr-equinox
0dbc8e0286 fix #1004 (#1048) 2025-07-10 19:43:34 +02:00
Damian Lesiuk
a378e48a04 fixes "none armor items in armor slots #996" (#1008)
* fixes #996

* fmt

* code review changes

* added skulls and pumpkin as allowed helmets

* shift + left click moves items to armor slots

* shift + left click moves items to armor slots

* reformatted

* linter

* handles moving stack bigger than 1 item
2025-07-10 11:37:18 +02:00
Commandcracker
49a15c6031 Add proper placement rotation (#1044) 2025-07-10 11:36:26 +02:00
Liyan Zhao
d34b3eb3f7 Macroize serde (#1029)
* macroize serde

* fix
2025-07-10 10:52:28 +02:00
spr-equinox
c965a2ff1f Change BlockRegistry and ItemRegistry to use u16 (#1035)
* optimize

* fix

* fix the weird indent

* Update fluid.rs

* Update blocks.rs

* fmt

* use hash block

* apply to item

* fix incorrect name
2025-07-10 10:43:47 +02:00
Clicks
c1af97d2b4 Fix Ghost Blocks on Candle Cakes (#1043) 2025-07-10 10:34:58 +02:00
LCW
b1098bfbc1 Optimization ChunkNoiseFunctionComponent (#1037)
* feat(chunk): optimize heap allocations of destiny function

* refactor: applied `cargo fmt` and linting error

* fix(benches): fix lint errors
2025-07-10 10:30:14 +02:00
MollTheCoder
ef658a906d Update permission level for /transfer (#1039)
* Fix /transfer permission

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

* Move dispatcher.register call to correct place
2025-07-10 10:25:01 +02:00
Alexander Medvedev
6ea5da408a Fix https://github.com/Pumpkin-MC/Pumpkin/issues/964
this was because of the light level not being checked, now there are too few mushrooms but i think still better
2025-07-10 10:22:30 +02:00
4lve
60d83022be Optimize everything (#1032)
* Start fixing block entities

* Fix

* Begin performance fixing

* Fix stuff

* cleanup

* fix clippy

* Fast as fuck

* fix clippy

* Write chunks concurrently

* Disable random ticks for now

* Fix

* Merge

* fix merge errors

* Fix clippy

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-07-09 23:53:50 +02:00