Commit Graph

115 Commits

Author SHA1 Message Date
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
Alexander Medvedev
fb3792eaf4 Update typos to 1.33 2025-06-05 17:09:29 +02:00
Alexander Medvedev
abccd3f700 add Chunk features (#685)
* inital chunk features

* add more things

great title i know

* add some features

still no result, but we are getting there...

* make it parse

* add simple BlockPredicate

* add simple random selector

* new things

* change stuff

* base tree impl

* change things

* add more heightmaps

* fix master merge

* steps towards proper random

* fix upper level block placement logic

* Make it compile

* fix block dir serde name

* Added Tree Foliage

* more Tree work

* Implement would_survive check

I don't say its good, but it works :D

* Fixed biome placement modifier (#836)

* Implement all tree foliages

* Fix grass, flowers, seagrass, seapickles...

* Add Ores

* add Bamboo, Vine, Spring feature

Also more fixes

* Corals

* Add Tree decoration & more

Many many fixes

* fix vines

* fixed bamboo

* fix some clippy warns

* fix trees outside of chunk

* make it compile again

upsi

* fix clippy warns

* fix InsideWorldBoundsBlockPredicate

* set dirt under tress trunk

dirt, not grass

* more trees work

---------

Co-authored-by: kralverde <github@email.kralverde.dev>
Co-authored-by: Laurent Stéphenne <laurent@guibi.dev>
2025-06-05 17:03:52 +02:00
Alexander Medvedev
e042c03d13 port to rand 9 2025-06-02 20:31:45 +02:00
Alexander Medvedev
705ecfe221 Allow to enter other dimensions
a bit broken though
2025-05-18 14:59:01 +02:00
Alexander Medvedev
06c82c75f0 Multi Dimension refactor 2025-05-15 22:59:00 +02:00
Alexander Medvedev
1edbfa7289 Implement Piston 1/2
Not fully done
2025-05-12 19:42:55 +02:00
Alexander Medvedev
f0d8435e98 Update tokio 1.44 -> 1.45 2025-05-10 15:12:12 +02:00
Eveeifyeve
ab3356afa3 Nix flake (#758)
* Added Flake for nix

* Removed Cargo lock from ignore

As it's now reccomended by rust team to keep it in repo as well as nix
needs it fetch dependacies for nix run

* Added Nix Compatbilty for package

I forgot to add it that's why this commit is here.

* Made flake minimal
2025-05-10 12:46:42 +02:00
kralverde
9739c0c2f3 remove main cargo.lock 2024-10-14 17:11:39 -04:00
Snowiiii
3ca472c2ba Remove: pumpkin-plugin
We will focus on other things by now. And extism just slows down compile and indexing times extremly
2024-10-14 17:58:19 +02:00
Snowiiii
3eacf1e6c0 Anvil: Added LV4 Compression 2024-10-14 16:24:52 +02:00
Snowiiii
df80ac2837 Add abstraction to support multiple world formats 2024-10-14 15:57:37 +02:00
lukas0008
5adaf5aa17 Add default values for config 2024-10-11 16:59:59 +02:00
Alexander Medvedev
2194f14981 Improve RCON
Remove all unwraps when handling packets. Also improve split Packets into Client & Server bound removing ugly match statement where we are reading Clientboud Packets (which is impossible).
2024-10-07 23:00:25 +01:00
Alexander Medvedev
a0b4785269 Move from image to png crate
We used the famous and good `image` crate to load the favicon. Its a good crate but its in fact has features we don't need, Its in fact a "An Image Processing Library" like it is mentioned on their README. Its also supports multiple image formats which we don't need. The `png` is a PNG & APNG Decoder & Encoder, Exactly what we need. Its about Half the size of the image crate (while only having png feature)
2024-10-07 20:47:08 +01:00
kralverde
b7b975a064 rebase block_id 2024-09-28 17:39:11 -04:00
Snowiiii
1ddaca1406 Allow disable encryption 2024-09-28 13:03:31 +02:00
lukas0008
79c6730386 Make block_id macro 2024-09-18 17:11:45 +02:00
lukas0008
cf62babfe4 Make itertools a workspace dependency 2024-09-18 16:59:12 +02:00
Asurar0
c6043189d3 Improved synchronization primitives
- Replaced all `std::sync::Mutex` by `parking_lot::Mutex` and refactored implementation accordingly
- Replaced all `Mutex<T> where T: Copy` by `crossbeam::AtomicCell<T>` and refactored implementation accordingly
2024-09-11 22:39:53 +02:00
Edvin Bryntesson
33a5a10f34 Merge branch 'master' into master 2024-09-07 20:42:52 +02:00
Snowiiii
2ee9710f93 Refactor Entity 2024-09-07 19:33:01 +02:00
Edvin Bryntesson
72d95cd416 Merge branch 'master' into master 2024-09-06 21:55:47 +02:00