* feat(bungeeguard): add BungeeGuard token authentication
Add a BungeeGuard shared secret to the proxy configuration, validate the token during the BungeeCord login flow, reject connections with invalid tokens, and prevent players from bypassing the proxy to connect directly.
* fix
* fix
* fix:ci
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.
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
* update to 1.21.5
* maybe made something better maybe made something worse
:c does still not work
* some fixes
* fix chunk packet
finally, this took way too much of my life time
* port text component
* fix tests
recipes are broken but we currently don't use them anyway
* Populate biomes
* actually fix multi noise sampler
* actually they are all pass-through
* fix serde error
* prepare things
* implement surface rules
* fix max_y
* fix terrain gen
* make surface rules work
* fix wrong biome coords
* refactor height estimator to its own struct
* implement surface estimation for surface rules
* fix surface gen
* some carve work
* fix conflicts
* more biomes work
* fix biome map
* refactor biome lookups
* add unit tests
* change from_block to from_chunk
* not only lushcaves anymore
* add more unit tests
* add unit test
* fix multi noise
* Update proto_chunk.rs
* fix biome map access
* test badlands impl
* fix badlands
* fix some values
* make it compile
* Fix bug in get_enclosing_parameters (#641)
* add badlands pillar and icebergs
* fix clippy
* fix clippy in test
* Update README.md
---------
Co-authored-by: kralverde <github@email.kralverde.dev>
Co-authored-by: 4lve <72332750+4lve@users.noreply.github.com>
* 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
* Order completed to be up
Make completed features on top and unfinished below
* Group similar features
* Add features and mark if completed
Basically we have:
(W.I.P): The feature is there but is not behaving as intended.
Checkmark: The feature works as intended, it could be improved but it works.
No checkmark: The feature does not exist and will not work nor do anything.
* config is not wip
* Add more to the To-Do
Added biomes, vegetation, player data saving, off hand, advancements, villagers and mobs inventory as objectives in the to-do
* Remove stack limits from the to-do
* feat: add linear chunk format with zstd lib dependency
* fixing a typo
* refactor: rename file handling methods for clarity and more lint fixes
* refactor: improve clarity on validation methods
* fix: invert version check in LinearFile header validation
* fix: remove leading dot from file path formatting in LinearChunkFormat
* refactor: improve error handling and method naming in LinearFile operations
* fix: ensure file is flushed after writing in LinearFile operations
* fix: lints and warnings
* fix: more lints
* refactor: streamline LinearFile structure and improve header management
* refactor: change chunks_headers to use Box for improved memory management and use exception to know if file exist
* refactor: update path parameter types to PathBuf for consistency and improved usability
* refactor: update path parameter types to Path avoiding uknown changes and adjust file truncation logic
* fix: avoid using the same path for different tests
* fix: fix some bytes sizes for the header based on the spec
* refactor: enable file truncation when opening for writing and simplify save method
* fix: removing IoSlices for windows issues.
* fix: clippy lints
* refactor: improve incompatible files cheking, some documentation and variable nameing
* feat: add file_format to ChunkConfig and implement format handling in Level
* feat: add error logging for invalid file headers and data size checks in LinearFile and tmp filenames on write
* feat: implement file locking mechanism for concurrent chunk read/write operations
* fix: bug at desserializing the chunks headers.
* Refactor chunk file locking mechanism to use DashMap for improved concurrency and simplify read/write guard management
* docs: Update documentation for LinearVersion enum with format references
* re-check workflows
* re-check lints 2
* rename config values
* Some doc improvements
---------
Co-authored-by: Mili <santiagoogle@hotmail.com>
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* Add pumpkin-api crate for API definitions
* Add proc-macro definitions for pumpkin-api
* Add pumpkin-api and pumpkin-api-macros to workspace
* Add basic PluginManager implementation plugin loading
* Update .gitignore to include specific plugin file types
* Add example plugin
* Cargo fmt
* Fix clippy issues
* Refactoring to prevent a circular import
* Add base impl for plugin hooks
* Move plugin manager to server
* Make metadata have static lifetime
* Add default implementations to events
* Add hooks to proc macro
* Update example
* Fix formatting
* Fix clippy warnings
* Load metadata from Cargo.toml
* Mark plugins as an implemented feature :D
* Implement new event handling
* Create a static global reference to the plugin manager
* Emit player join and leave events
* Update macro generation
* Update example
* Fix formatting
* Fix clippy issue
* Simplify event handling
* Add plugin command to list plugins
* Make handlers async
* Update macros
* Update example
* Fix formatting and clippy issues
* Better styling on plugins command
* Fix clippy issues
* Cargo fmt
* Disable doctest for lib target on pumpkin crate
* New API for plugins
* Update api macros
* Update plugin example
* A bit of clean up
* Some QoL (and performance) improvements
* Cargo fmt and clippy fixes
* refactoring, better event handling, new context functions
* Async on_load and on_unload
* Fix mutex lock never going out of scope
* Async plugin loading
* Add plugin management command
* Fix clippy issues
* Fix import issues
* Move TcpConnection out of client
* Move packet encoding out of client
* Allow plugins to register commands
* Fix fmt and clippy
* Implement plugin list in query
* Make arguments public so that plugins can use them
* Update proc_macros to handle runtime
* Make tree_builder public for use in plugins
* Make FindArg trait public for use in plugins
* Update example plugin
* Fix merge related issues
* Fix cargo fmt
* Post-merge fixes (also 69th commit, nice)
* New event system
* cargo fmt
* Impl block break event
* cargo fmt and clippy
* Reduced plugin size
* Reduce dependency count
* Old code cleanup
* cargo fmt
* Add event priority and blocking options to event registration and handling
* Refactor event handling to support blocking execution and improve event registration
* Fix post-merge errors
* Update example plugin
* increase mpsc channel capacity and handle write errors gracefully
* Use Arc<Player> instead of &Player
* add missing import
* Update example plugin with playing sounds
* Remove example plugin
* Create plugins dir if doesnt exist
* Remove unused vars
* Remove unnecessary clones
* Fix impl
* cargo fmt
* Make server pub in context