Commit Graph

138 Commits

Author SHA1 Message Date
Alexander Medvedev
3829850607 removed some clones
fix: https://github.com/Pumpkin-MC/Pumpkin/issues/1226
2025-12-07 22:43:26 +01:00
Alexander Medvedev
a2d8ca8d98 fix: pumpkin-world external crate compilation 2025-12-06 10:30:03 +01:00
Alexander Medvedev
70b75a0ac5 remove async-trait entirely 2025-12-04 23:50:00 +01:00
Alexander Medvedev
71392b4a38 remove async_trait from Commands
This decreased compile time by 30%, Plugins also are not required anymore to use async_trait when adding custom Commands
2025-12-03 18:25:58 +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
03b3ff5e15 This should prevent some dead locks 2025-11-23 20:08:47 +01:00
spr-equinox
577f51dc1b chunk: rewrite thread scheduling (#1210)
* fix render distance and faster chunklevel

* new schedule method

* clean up

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-11-23 19:49:12 +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
Alexander Medvedev
47bbc56591 this should fix plugin errors
at least for now
2025-11-01 12:13:28 +01:00
Harihar Nautiyal
46a3861825 fix(auth): Implement Secure Bedrock JWT Chain Validation (#1182)
* Implemented jwt validation.

* Formatted

* Fix: Linting

* Formatted again

* Migrated bedrock_jwt to paper_util and optimised validator
2025-10-15 09:43:55 +02:00
spr-equinox
e71bccf564 Load-level–based Chunk System (#1157)
* Make protochunk not have a lifetime

* Staged chunks

* fix

* new generation system init

* small optimize

* fix warning

* fmt

* new get chunk

* use write_radius

* save stage in protochunk

* clean up

* clean old fn

* fix bug

* support saving but broke shutdown

* fail to fix shutdown and still many problems need to solve

* fix shutdown

* fix chunk unload; give highest priority to get_chunk

* fix tick deadlock

* fix chunk level

* drop old channel

* rewrite run_decrease_update; fix a stupid error

* Update chunk_system.rs

* remove some log

* lighter dependency

* clean up

* fix ci

* clean up & merge

* Update chunk_system.rs

* fix a bug

* Proto Chunk Saving, safer io and remove debug output

Port Proto Chunk Saving From #1164

* fix a bug

* fetching chunk message level set to debug

* Update multi_noise.rs

---------

Co-authored-by: 4lve <72332750+4lve@users.noreply.github.com>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-10-10 21:52:56 +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
Alexander Medvedev
bbf685622b Update RSA
this should fix some plugin issues
2025-08-31 15:56:46 +02:00
Alexander Medvedev
91e77c33a0 add more loot table conditions
fix https://github.com/Pumpkin-MC/Pumpkin/issues/1155
2025-08-30 11:58:43 +02:00
Alexander Medvedev
c066787cc1 feat: implement Mob Spawners 2025-08-24 23:02:59 +02:00
Alexander Medvedev
f0668ec746 readme: check eating as complete 2025-08-20 16:31:07 +02:00
Alexander Medvedev
53cef4b050 Add structures
this is by far not done and the implementation is not correct in many ways, but it is still something
2025-08-17 22:12:38 +02:00
spr-equinox
4205befa5d DataComponent serialize, deserialize and nbt. Enchantment and Damage implement (#1117)
* add

* fix hash

* Update data_component_impl.rs

* write nbt

* update enchantments

* Update data_component.rs

* fix enchant

* Update login.rs

* remove 1 todo

* KnownPack version

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-08-16 17:20:56 +02:00
4lve
c4f922d27c Rework chunk generation system (#1115)
* Workers instead of spawning on chunks

* Piority

* Remove piority - broken

* Non arbitary worker threads number

* Make info to debugs

* fix clippy

* New rust version clippy fixes

* Use the same system for entity chunks

* Fix all warnings

* Fix clippy

* Fix benchmark
2025-08-13 22:05:04 +02:00
Alexander Medvedev
fae24008db pumpkin-world(structures): Add structure placement calculation 2025-08-13 17:11:56 +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
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
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
Alexander Medvedev
b0cea38596 remove some internal crates 2025-07-11 14:23:14 +02:00
Alexander Medvedev
0c717e2d0e move to pure rust zstd 2025-07-09 16:50:02 +02:00
Alexander Medvedev
e96dc4d98e Improve compile time 2025-07-09 16:26:16 +02:00
Alexander Medvedev
8fec1d56cd Improve compile time by a bit 2025-07-08 23:58:00 +02:00
Commandcracker
a3c8a7831d Add rayon to data build.rs (#1033)
* Add rayon to data build.rs

* make clippy and fmt happy
2025-07-08 20:02:05 +02:00
spr-equinox
8ce27b9b65 feat: support dropper (#977)
* support dropper screen

* support drop item

* fix block_receives_redstone_power

* Update mod.rs

* Update mod.rs

* fix

* Update dropper.rs

* fix

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-07-07 21:01:49 +02:00
Liyan Zhao
f7218a8b63 feat: logging to file (#958)
* feat: logging to file
2025-07-06 20:12:52 +02:00
Alexander Medvedev
2f6c484b2b Protocol refactor (#1006)
* fixes

* Fixed missing ACKs (#1002)

* sefesf

* efrgf

* efes

---------

Co-authored-by: unschlagbar <adrian@kuhlmann@gmx.de>

* Refactor Protocol

* Add CStartGame

currently broken, i will try to fix it tomorrow

* fix start packet

* more bedrock (#1014)

* srgjtdrwa

* sgs

* reg

* rg

* rgth

* ef

* rfrgreg

---------

Co-authored-by: unschlagbar <adrian@kuhlmann@gmx.de>

* rename locations to position

---------

Co-authored-by: unschlagbar <153451111+unschlagbar@users.noreply.github.com>
Co-authored-by: unschlagbar <adrian@kuhlmann@gmx.de>
2025-07-06 15:43:53 +02:00
Alexander Medvedev
630560e1d8 Update README gif 2025-07-02 10:45:32 +02:00
4lve
622e2a13d2 Improve chunk generation speed by 5x (#988)
* Fewer locks and limit chunk gen to 2x per core

* remove logs

* Fix server shutdown

* Always use static blockstate

* Remove clone from block

* Fix clippy

* Imporve perf

* Implement FyorDev & MartV0 lookup tables

* Add chunk benchmark (FyorDev)

* fix c

* Fix CI

* fix clippy

* Format

* fix CI fr

* format

* Update benchmark to 1000 chunks
2025-07-02 09:48:36 +02:00
Alexander Medvedev
c67d4cfd2e Update to 1.21.7 2025-06-30 23:41:23 +02:00
Alexander Medvedev
e0c91b3edc Initial Bedrock support
You can't join the World, But the base is ready
2025-06-29 00:33:44 +02:00
Alexander Medvedev
a5b066d18f fix rust 1.88 lints 2025-06-26 20:47:15 +02:00
Alexander Medvedev
83555e0dee CI: Remove macOS
For some reason it seems that macOS often has their own implementations and causes the CI to fail
2025-06-22 23:28:59 +02:00
Alexander Medvedev
82948f830e Update to 1.21.6 2025-06-17 19:53:33 +02:00
Clicks
39359e35ff Improve errors from proc macros (#900)
* proc_macro_error2

* cargo fmt
2025-06-17 14:50:24 +02:00
Alexander Medvedev
d04d865658 fix player yaw and pitch on join 2025-06-13 16:29:45 +02:00
Alexander Medvedev
2edb986f61 port to rand 9
again
2025-06-12 20:53:44 +02:00
Alexander Medvedev
c253b0902c fix some CI issues
hopefully...
2025-06-12 20:15:46 +02:00
vyPal
ec6e25e464 Implement string-based permission system (#831)
* Implement string-based permission system

* Fix clippy and shorten command registration
2025-06-07 11:45:17 +02:00