d8c3da8fcd
Mob summon: Something like Monster_Apparatus_Perpetual can summon helper mobs. Ensure these helpers actually get summoned and, on their defeat, possibly change the summoner's mob state. Like, temporarily enter weak state. * Take summon tags from BinOutput/Monster/ConfigMonster_*.json and put them in SceneMonsterInfo * Handle Summon action in ability modifiers from BinOutput/Ability/Temp/MonsterAbilities/ConfigAbility_Monster_*.json * On summoner's kill, also kill the summoned mobs Limbo state: Something like Monster_Invoker_Herald_Water should be invulnerable at a certain HP threshold. Like, shouldn't die when creating their elemental shield. Or, Monster_Apparatus_Perpetual's helper mobs shouldn't die before their summoner. * Look through ConfigAbility (AbilityData in GC) like Invoker_Herald_Water_StateControl. If any AbilityModifier within specifies state Limbo and properties.Actor_HpThresholdRatio, account for this threshold in GameEntity::damage. * Don't let the entity die while in limbo. They will be killed by other events. |
||
---|---|---|
.github | ||
buildSrc/src/main/java/emu/grasscutter/gen | ||
docs | ||
gradle/wrapper | ||
lib | ||
scripts | ||
src | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
build.gradle | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
keystore.p12 | ||
LICENSE | ||
plugin-schema.json | ||
README.md | ||
settings.gradle | ||
start_config.cmd | ||
start.cmd |
EN | 简中 | 繁中 | FR | ES | HE | RU | PL | ID | KR | FIL/PH | NL | JP | IT | VI
Attention: We always welcome contributors to the project. Before adding your contribution, please carefully read our Code of Conduct.
Current features
- Logging in
- Combat
- Friends list
- Teleportation
- Gacha system
- Co-op partially works
- Spawning monsters via console
- Inventory features (receiving items/characters, upgrading items/characters, etc)
Quick setup guide
Note: For support please join our Discord.
Quick Start (automatic)
-
Get Java 17: https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
-
Get game version REL4.0.x (4.0.x client can be found here if you don't have it): https://github.com/MAnggiarMustofa/GI-Download-Library/blob/main/GenshinImpact/Client/4.0.0.md
-
Download the latest Cultivation version. Use the
.msi
installer. -
After opening Cultivation (as admin), press the download button in the upper right corner.
-
Click
Download All-in-One
-
Click the gear in the upper right corner
-
Set the game Install path to where your game is located.
-
Set the Custom Java Path to
C:\Program Files\Java\jdk-17\bin\java.exe
-
Leave all other settings on default
-
Click the small button next to launch.
-
Click the launch button.
-
Log in with whatever username you want. Password doesn't matter.
Building
Grasscutter uses Gradle to handle dependencies & building.
Requirements:
- Java Development Kit 17 or higher
- Git
- NodeJS (Optional, for building the handbook)
Clone
git clone --recurse-submodules https://github.com/Grasscutters/Grasscutter.git
cd Grasscutter
Compile
Note: Handbook generation may fail on some systems. To disable the handbook generation, append -PskipHandbook=1
to the gradlew jar
command.
Windows:
.\gradlew.bat # Setting up environments
.\gradlew jar
Linux (GNU):
chmod +x gradlew
./gradlew jar
Compiling the Handbook (Manually)
With Gradle:
./gradlew generateHandbook
With NPM:
cd src/handbook
npm install
npm run build
You can find the output jar in the root of the project folder.
Troubleshooting
For a list of common issues and solutions and to ask for help, please join our Discord server and go to the support channel.