* Added spawn egg functionality
* Readd changes from before merge
* Added basic attacks on mobs
* Fixed spawn rotation and position
* Updated entities.json
* Fixed entity registry
* Added correct bounding boxes per entity
* Various fixes
* use right data types in entity registry
* fix: clippy
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* Pick Item Changes
* Changed some logging
* Pick Item working for hotbar slots
* Basic functionality, changes needed to adhere to expected minecraft behaviour
* Clean up code
* Added todo for pick from entity
* Added item swapping
* Swapping and cleanup
* Fix for rebase
* Remove unused function
* Bugfix
* remove todo
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* fix(combat): kick for self-attacking
* chore(combat): fix the duplication of the word client
* chore(pumpkin/src/net/packet/play.rs#Player/handle_interact): remove useless parens
* fix(combat): compare entity IDs, not actual objects
* chore(pumpkin/src/net/packet/play): `cargo fmt`
* Starting work on Operator permission system
This commit adds the ops.json configuration found in vanilla
servers, and updates the basic configuration to handle the default
permission level.
Server now uses ops file and defaults players to op level 0
The /op command has been added but needs players to rejoin for now.
* Clippy Fix + need to Rejoin after /op removed
I found the source of the DeadLock. Updated set permission function.
Fix cargo formatting issues and clippy issues.
* Remove temp warn message
* Move OperatorConfig to server
As Snowiii pointed out, OperatorConfig is runtime data.
Revert most changes in pumpkin-config.
op_permission_level must say in the basic configuration for
parity with Minecraft.
* cargo fmt + cargo clippy
* Sync permission change with client
* Fixs issues @Commandcracker found in review
- Move PermissionLvl to core and removed OpLevel
- Move ops.json to /data/ops.json
- Fix permissions issue with /op command
- Shorten /op command description
* refactor into `data` folder
* create data dir when needed
* add to readme
* fix: conflicts
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
* Added chest and furnace
* Corrected interactive block functionality
* Fixed merge
* Added standard functions and player remove on destroy
* Added unique block standard functions
* Fix clippy
* Fix deadlock in standard function
Lock session.lock so other processes know that we currently read and write to the level. This is vanilla behavior.
Test:
Tested to start the a new server while on was locking the file, and got `Failed to lock level: AlreadyLocked("session.lock")` as expected
* fix(pumpkin-inventory/src/drag_handler.rs): divide by 0
Please work
Also, commit made on mobile using Built-in GitHub editor 🔥
* fix(pumpkin-inventory/src/drag_handler.rs): syntax errors
* Implement level.dat reading and use the seed in the world for chunk generation
* Add tests
* Seperate world info loading from chunk reading
* Fix cargo fmt
---------
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
this was mostly because of poor naming, While there are two CServerLinks packets, I accidentally send the play CServerLinks in the login state which has a different packet id
* Add the text and the open link
* Update cmd_pumpkin.rs
* Fixed all the warnings and clippy and fmt
* fixed more
* trying to fix confics
* Fixed a bug
* another one
* Update .gitignore
* Update cmd_pumpkin.rs
* Added docs
* Formated
* Update cmd_pumpkin.rs
* im gonna test
* Change color bcs aqua is ugly
* Update cmd_pumpkin.rs
* Update cmd_pumpkin.rs
* Update cmd_pumpkin.rs
we only used them for collect_vec. I think its worth the "effort" to write Vec type annotations ourself and have one big crate with way too may features we don't need less