* Avoid iterating over every offline player
* getAllPlayers by stream
* Use the new method without changing the old signature
* Annotate deprecated `getAllPlayers`
* Add build (compile) script: gradlew jar
* Move server and services log levels to ConfigContainer, ability to enable/disable show packet payload and loop packets
* Add some loop packets to known list
* [Security][Bugfix] Fix directory traversal exploit
1.The first slash will act as root path when resolving local path, so directory traversal is possible
2.Filter the illegal payload to prevent directory traversal
3.This also fix the bug about not loading the files in data folder when querying `/hk4e/announcement/`
* Fix formatting
* Update src/main/java/emu/grasscutter/server/http/handlers/AnnouncementsHandler.java
* Extend give command "talent"
* Update src/main/java/emu/grasscutter/data/excels/AvatarSkillDepotData.java
Shorten IntStream for getCombatSkills
Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
* Fix setSkillLevel to work during avatar construction
Shortening getCombatSkills
* changeSkillLevel now acts as intermediate operation to fetch skillIds
* setSkillLevel changes to allow out of range levels to be normalized
* Update src/main/java/emu/grasscutter/command/commands/GiveCommand.java
Removing recalcStats since it's redundant
Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
* Major changes and cleanup:
- AvatarSkillDepotData: removed getCombatSkills since it's unused
- TalentCommand: shortened /talent all using getSkillsAndEnergySkill
- GiveCommand: changed changeSkillLevel to setSkillLevel
- Avatar: delete changeSkillLevel and moved the operation inside setSkillLevel,updated skillId to Integer to catch special cases from GiveCommand
* Small cleanup:
Removed the special case from Avatar to be handled inside of GiveCommand
* Added "all" parameter to SetConst
* Changed all to [all] int SetConstCommand usage
Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
* Extend give command "talent"
* Update src/main/java/emu/grasscutter/data/excels/AvatarSkillDepotData.java
Shorten IntStream for getCombatSkills
Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
* Fix setSkillLevel to work during avatar construction
Shortening getCombatSkills
* changeSkillLevel now acts as intermediate operation to fetch skillIds
* setSkillLevel changes to allow out of range levels to be normalized
* Update src/main/java/emu/grasscutter/command/commands/GiveCommand.java
Removing recalcStats since it's redundant
Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
* Major changes and cleanup:
- AvatarSkillDepotData: removed getCombatSkills since it's unused
- TalentCommand: shortened /talent all using getSkillsAndEnergySkill
- GiveCommand: changed changeSkillLevel to setSkillLevel
- Avatar: delete changeSkillLevel and moved the operation inside setSkillLevel,updated skillId to Integer to catch special cases from GiveCommand
* Small cleanup:
Removed the special case from Avatar to be handled inside of GiveCommand
Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
* feat:cooking food ingredient(aka:compound) implementation
Implement food ingredient(compound) feature.Need a thorough test and still has some work to do.
* small bug fix;implement fish processing
* Update src/main/java/emu/grasscutter/server/packet/send/PacketItemAddHintNotify.java
Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
* Update Inventory.java
* Update Inventory.java
Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
-De-hardcode elemental orb values
-De-hardcode exp items
-Change ShopChest format (temporary, drop system overhaul will replace it entirely)
-Food healing actually uses Ability data for real HP amounts
* Extend talent command "all":
Added talent option to set all talents (n, e, q) at once
Modified error message to cover edge cases when player entered talent level lower than 1
* Update src/main/java/emu/grasscutter/command/commands/TalentCommand.java
some suggested changes
Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
* will be able to change home bgm.
* feat: unlock homeworld bgm and set homeworld bgm.
* Update src/main/java/emu/grasscutter/game/home/GameHome.java
* Update GameHome.java
* Get default unlocked home bgms from HomeWorldBgmData
* fix: duplicate home items by sending packet
* Move Data, Plugin, Script, Packet access from Strings to Paths
- No longer dump default Data files to folder on launch
- Allow Scripts to be loaded from Resources zip
- Lay groundwork for Plugins to be loaded from zip
* Update 3.0 protos
* Update classes to match protos
* Fix RegionHandler versions
* 3.0 Opcodes
* Fixed Gadget Spawning
Original Commit Message: fixed gadget spawning ty MJDerp
Gitea Author: yh0Nathan
Co-authored-by: yh0Nathan <yhonathancaleb@gmail.com>
* Make PointData compatible with alternative PointData
Original Commit Message: Make PointData compatible with windied scene points.
Gitea Author: GanyusLeftHorn
Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com>
* Add scene tag for Vanarana.
Original Commit Message: Add scene tag for Vanarana.
Gitea Author: GanyusLeftHorn
Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com>
* Add Sumeru expeditions.
Original Commit Message: Add Sumeru expeditions.
Gitea Author: GanyusLeftHorn
Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com>
* Update game version to 3.0.0
* versionFix must be >= 50 not == 50 in RegionHandler
* Add new 3.0 Reliquary and SkillParticleGeneration data
Original Commit Message: Repair 3.0 added Reliquary 3-in-1 on the crafting table. Add skill particle generation info for Tighnari,Collei and Dori
Gitea Author: Roly
* Actually fix RegionHandler
* Remove asset names from json and comments
* Add scene areas for Sumeru desert to /prop um
* Added New MaterialType
* Change version to 3.1.0
* funny welcome message back
* Fix pyramid skill issue.
* Fix pyramid and event scene tags without ugly bruteforce.
* Remove backrooms chat welcome message.
* Incorporate suggestions.
* RoomSceneId and empty list checking.
Co-authored-by: Benj <benjamin7006@gmail.com>
Co-authored-by: yh0Nathan <yhonathancaleb@gmail.com>
Co-authored-by: Kokoboy <anushkumar222001@gmail.com>
Co-authored-by: nitro <31241699+nitrog0d@users.noreply.github.com>
Co-authored-by: Vexeone <vexeone@gmail.com>
* add missing EntityTypes
* small command refactorings and improvements
* move common command patterns and methods to CommandHelpers
* let the spawn command detect the entityType instead of spawning every entity as EntityVehicle
* add extra options for spawning gadgets for better debuging and testing
* More spawn command additions and cleanups+EntityVehicle changes
* Moved remaining patterns from GiveCommand and ClearCommand to CommandHelpers
* Added patterns for hp, maxhp, atk, def and (monster)ai for the spawn command
* Moved intParam parsing via regex to the CommandHelpers
* Read most of EntityVehicle stats from the ConfigGadget instead of hardcoding them
Co-authored-by: hartie95 <mail@hartie95.de>
* fixed gadget hp properties and invincibility handling
* Allow killing of hp locked entities, if the damage is higher then the hp
Co-authored-by: hartie95 <mail@hartie95.de>
* Pull request made after merging the latest version
* Update src/main/resources/languages/ja-JP.json
* first commit
* TeamRespawn_BigWorld
* Improving scene Loading
* Final commit
* optimize import
* optimize
* Update TeamManager.java
* Update src/main/java/emu/grasscutter/game/player/TeamManager.java