Commit Graph

1533 Commits

Author SHA1 Message Date
Alexander Medvedev
472946f85d fix clippy 2025-08-12 13:08:21 +02:00
Alexander Medvedev
6a1cd304d7 Add release per commit workflow 2025-08-12 12:57:05 +02:00
Alexander Medvedev
40fb8ec481 pumpkin-world: Move noise_router into noise/router 2025-08-12 12:21:18 +02:00
Commandcracker
8c859953ee fix: include static file instead of reading dynamic (#1114)
* Fi #1113

* Update lib.rs
2025-08-12 09:45:33 +02:00
dependabot[bot]
1ae16b032d Bump crate-ci/typos from 1.34.0 to 1.35.3 (#1118)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.34.0 to 1.35.3.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.34.0...v1.35.3)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.35.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-08-11 22:00:53 +02:00
Alexander Medvedev
386fe547ad use rust's new file::try_lock
I was already waiting for this for a long time, now in the newest rust 1.89 it got stabilized :D
https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.try_lock
2025-08-11 21:03:29 +02:00
Alexander Medvedev
7e3a1c0972 Fix rust 1.89 warns 2025-08-11 20:45:55 +02:00
Alexander Medvedev
9f94ce1d0d Made Chunks faster
Moreeee Speeeedddddd
2025-08-04 15:43:47 +02:00
Alexander Medvedev
43e8d9b6d9 Make some packets ServerPacket 2025-08-03 23:25:02 +02:00
Alexander Medvedev
306a007e3c feat: Falling Blocks 2025-08-03 17:21:46 +02:00
Liyan Zhao
73c2c0115e Refactor entity argument (#1098)
* refactor: implement entity arguments

* refactor: use dyn EntityBase in EntitiesArgument, unify entities & players

[skip ci]

* refactor: use dyn EntityBase in EntitiesArgument, unify entities & players

[skip ci]

* refactor: use dyn EntityBase in EntitiesArgument, unify entities & players

[skip ci]

* refactor: use dyn EntityBase in EntitiesArgument, unify entities & players

[skip ci]

* refactor: use dyn EntityBase in EntitiesArgument, unify entities & players

[skip ci]

* refactor: use dyn EntityBase in EntitiesArgument, unify entities & players

* fix clippy

* feat: server.select_entities

* fix clippy

* fix clippy

* fix /kill

* fix /kill damage

* fix entity filter parsing

* type filtering

* chore

* fix entity argument

* fix clippy

* fix entity arg

* Update player.rs

* Update entities.rs

* Update entity_type.rs

* fix

* fix clippy

* fix kill
2025-08-03 12:10:21 +02:00
deadfry42
4230f1f5f7 Allow creative mode players to pick up items regardless of if they have (#1105)
enough inventory room
2025-08-03 11:10:31 +02:00
Alexander Medvedev
14db025fa6 Revert "solve deadlock (#1091)"
This reverts commit 2b8f2726f3.
2025-08-02 16:24:18 +02:00
Alexander Medvedev
6e4a05d66d More Entity Physics work
Co-Authored-By: akashbeh <112662680+akashbeh@users.noreply.github.com>
2025-08-02 16:24:06 +02:00
Clicks
a4180e0512 Fix Breaking the Block below Vegetation (#1082)
* fix block breaking for roots and tall grass

* also fix bushes, dry vegetation and mushrooms

* remove explicit implementation that is handled by the trait

* optimize imports

* fix imports

* cargo fmt
2025-08-02 11:48:56 +02:00
Commandcracker
e8f6cc7313 Store equipment and level.dat correctly (#1028)
* Make it so you can load a pumpkin world form vanilla

* Fix reading walk Speed

* Add reasonable fallback values for player abilities

Add warnings to unsuccessful NBT player ability reads.

* Fix eqipment

* Clippy

* Move CURRENT_MC_VERSION to world crate

* merge clenup

* Remove logging

* Check if levle version is compatibil

* merge
2025-08-02 11:47:43 +02:00
Alexander Medvedev
3f2484672c Add Entity physics
Thanks to akashbeh for his work
https://github.com/Pumpkin-MC/Pumpkin/pull/824

Co-Authored-By: akashbeh <112662680+akashbeh@users.noreply.github.com>
2025-08-01 15:25:18 +02:00
Liyan Zhao
e75e52cd37 feat: add /data get Command (#1097)
* feat: /data get

* fix: colorize like vanilla

* fix: clippy

* fix: clippy

* fix: clippy

* fix: clippy
2025-08-01 12:17:38 +02:00
spr-equinox
2b8f2726f3 solve deadlock (#1091) 2025-08-01 11:13:27 +02:00
teknostom
96fe522609 Add irrigation (#1093)
* add irrigation

* fix
2025-08-01 11:10:10 +02:00
Rafael
a2289992a1 feat: Implement ViewerCountManager for block entities (#1092)
* feat: Add simple viewer counter

* feat: More work on the viewer counter

* feat: Add barrel visuals

* fix: Sound

* feat: Implement chest screen handler

* fix: Inventory ordering

* feat: Implement chest animation

* feat: Implement shulker animation

* fix: Only send updates if the viewer count changes
2025-08-01 10:35:11 +02:00
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