* 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>