Commit Graph

31 Commits

Author SHA1 Message Date
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
Liyan Zhao
d34b3eb3f7 Macroize serde (#1029)
* macroize serde

* fix
2025-07-10 10:52:28 +02:00
Alexander Medvedev
b9f2de33f4 Fix dead locks, vanilla chunk loading and packet issues 2025-07-07 19:36:45 +02:00
Alexander Medvedev
a5b066d18f fix rust 1.88 lints 2025-06-26 20:47:15 +02:00
Alexander Medvedev
a31c9ec703 Implement Entity data Saving/Reading 2025-06-25 03:47:05 +02:00
Alexander Medvedev
575f17948f Inline format arguments
Looks much nicer and more readable
2025-05-10 15:22:06 +02:00
4lve
0dd176e8e2 add Block Entities (#737)
* Start implemetnign block entities

* fix

* Move block entites

* bruh wtf

* fix

* Add seralizers for compund

* don't panic on unknown block enity types

* Move block entites to pumpkin-world

* begin implementation

* Chunk packet works

* fix signs

* fix clippy

* merge

* Fix signs

* merge

* fix

* merge

* fix

* remove println

* move folder

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-04-13 16:22:12 +02:00
Alexander Medvedev
4bccba7b20 fix some typos
- also moved tempfile dep to dev-dependencies
- removed the noise crate
- renamed some things
2025-04-10 21:21:43 +02:00
kralverde
91ef79325a Network Serialization Quality of Life and Safety Improvements (#701) 2025-04-07 07:59:00 -10:00
Gabeperson
e03e05ddad Refactor unnecessary unsafe code and add safety comments (#698)
* refactor unsafe code

* fix unwrap in forbidden block
2025-04-04 08:25:36 +02:00
Alexander Medvedev
dda7cac329 Save/Read and broadcast biomes (#678)
* send biomes in packet

* fix single pallet

* complete logical palette container

* refactor codecs

* palette work

* palette work

* fix palettes

* clean up palette logic

* better handling of chunk loading channel errors

* fix encompassing bits

* fix network serialization

* fix typos

---------

Co-authored-by: kralverde <github@email.kralverde.dev>
2025-04-03 19:06:40 +02:00
Hugo Planque
4672f61965 feat(player-data): Support saving and loading player NBT Data (#600)
* feat(player-data): Support saving and loading player NBT Data

* fix(player_data): ensure player data is save before continuing

* fix(player_data): implement NBTStorage for hunger data

* feat(player-data): allow setting world name in config

* fix(player-data): use correct method to retrieve world_name

* feat(player-data): move PlayerDataStorage to pumpkin-world

* fix(player-data): ci not building

* fix(player-data): ci not building

* feat(player-data): support inventory saving + review fix

* fix(player-data): forgot the format

* some fixes

* fix clippy

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-03-24 20:55:41 +01:00
kralverde
b9d9bacf8c Abstract networking to streamline code and avoid creating a new buffer for (de)compression. (#607) 2025-03-20 06:23:25 -10:00
Epix
93510eecd5 Grammar fixes, terminology change (#633)
* Major grammar sweep

* Remove extra backtick

* Use more specific terminology for chunk data storage

* Forgor to cargofmt

* Fix typo "thier"

* Fix typo "clousures"

* Try new terminology

* Forgor to cargofmt

* Use "Subchunks" instead of "Heterogeneous" for ChunkBlocks variant

* Fix variable name

* Forgor to change comment
2025-03-16 10:40:17 +01:00
Alexander Medvedev
5dd79329c6 Fix CI after rustup 1.28 (#608) 2025-03-04 22:19:30 +01:00
Alexander Medvedev
b41d8bed94 add put_string and put_list in pumpkin-nbt 2025-03-04 20:28:22 +01:00
Alexander Medvedev
1fb2be46d4 Update to Rust edition 2024 2025-02-20 18:42:20 +01:00
kralverde
e146130fd2 Check version of level.dat before trying to deserialize it (#555)
* initial commit

* cargo: fmt

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-02-18 17:41:27 +01:00
kralverde
80c9d90767 Fixes a typo in the nbt deserializer (#558) 2025-02-17 16:48:22 +01:00
kralverde
7ec99a0411 Fix our NBT serde (#549)
* make deserializer streamable

* fix logic

* fix deserializing

* work on deserialization

* finish serialize

* replace everything with pumpkin_nbt

* fix more serialization cases

* finish conversion

* add comment

* remove all fast_nbt, test nbt arrays, add implement tuples/arrays

* add size hints for deserialization

* fix deserialization
2025-02-16 13:39:43 +01:00
suprohub
186e846858 Plugin event rewrite (#513)
* simplify all

* fmt

* Consider using derive macro

* Add new events

* Add events call

* minor fixes

* minor fixes

* fix

* optimize code

* big changes

* fix skill issue

* fix

* Consider not specify patch version

* make logger shared

* i want test one thing

* Add one useful function

* add little amouth of docs

* use config instead

* revert changes

* fmt

---------

Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2025-02-01 18:14:28 +01:00
Alexander Medvedev
41fac573ba Fix some typos 2025-01-28 14:05:17 +01:00
MrMelther
43af1eacae Text component refactor (#492)
* Refactorized TextComponent

Changed the whole TextComponent structure to allow nested translated texts and avoid recursion in serialization, but keeping the api unchanged.

* Adapted translations

Changed all the translate components to fit the new format, also added translation to gamemode command.

* Format revised
2025-01-24 14:46:44 +01:00
Alexander Medvedev
709d222c23 add basic entity NBT storage 2025-01-19 19:30:32 +01:00
Alexander Medvedev
af54cb4289 fix: clippy fmt 2024-12-27 13:15:45 +01:00
Alexander Medvedev
7161491005 add some simple test to our nbt crate 2024-12-27 00:27:24 +01:00
Snowiiii
219527dcb2 Remove all wiki.vg mentions
wiki.vg is gone
2024-12-03 23:36:11 +01:00
Snowiiii
35afc0bfb9 Port to 1.21.4 2024-12-03 23:34:59 +01:00
vyPal
51365c4b46 Text component children + fix nbt serialization for sequences of maps (#349)
* Fix list serialization when elements are maps

* Add extra field and add_child method to TextComponent
2024-11-30 19:19:48 +01:00
Snowiiii
5efa881090 Fix: Clippy 1.83 2024-11-28 21:52:55 +01:00
Alexander Medvedev
402f3951f5 Move to own NBT crate (Mostly) (#100)
* Remove fastnbt as dependency

* Move to own NBT crate

* Added deserialization

Also replaced i8 bool's with bool's

* Use: fastnbt for pumpkin-world

Until i don't figure out why Arrays do not work, we can use fastnbt
2024-11-23 14:50:54 +01:00