Merge pull request #2107 from Grasscutters/unstable-quests

Merge `unstable-quests` into `unstable`
This commit is contained in:
Magix 2023-05-10 19:14:22 -07:00 committed by GitHub
commit d2203cc511
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1962 changed files with 1416049 additions and 1286936 deletions

7
.gitattributes vendored
View File

@ -1,6 +1 @@
*.java text=lf * text=auto
*.json text=lf
*.md text=lf
*.properties text=lf
*.py text=lf
*.sh text=lf

View File

@ -7,6 +7,8 @@ on:
branches: branches:
- "stable" - "stable"
- "development" - "development"
- "unstable"
- "unstable-quests"
pull_request: pull_request:
paths: paths:
- "**.java" - "**.java"

47
.github/workflows/check_code.yml vendored Normal file
View File

@ -0,0 +1,47 @@
name: "Lint & Format Code"
on:
workflow_dispatch: ~
push:
paths:
- "src/main/**.java"
- "**.json"
branches:
- "unstable"
jobs:
Format-Code:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: '17'
- name: Cache gradle files
uses: actions/cache@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
./.gradle/loom-cache
key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle', 'gradle.properties', '**/*.accesswidener') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Format Code
run: ./gradlew && ./gradlew spotlessApply
- run: git config --global user.name "github-actions"
- run: git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
- run: git stash
- run: git checkout unstable
- run: git stash pop || true
- name: Commit Code Changes
run: git add -u && git commit -m 'Format code [skip actions]' || true
- name: Push Code Changes
run: git push --set-upstream --force origin unstable

6
.gitignore vendored
View File

@ -83,3 +83,9 @@ src/main/resources/handbook.html
# macOS # macOS
.DS_Store .DS_Store
.directory .directory
# Hotswap Agent
hotswap-agent.properties
# Debug patches
patches/*.patch

View File

@ -0,0 +1,81 @@
package emu.grasscutter.gen;
import org.gradle.api.DefaultTask;
import org.gradle.api.tasks.TaskAction;
import org.gradle.api.tasks.options.Option;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import static java.lang.System.lineSeparator;
import static java.nio.file.Files.readAllLines;
import static java.nio.file.Files.writeString;
/**
* Task that can be used for generating/updating activity conditions enum. These
* activities come from Resources/ExcelBinOutput/NewActivityCondExcelConfigData.json
* resource file. Format file with formatter after this job is executed
* <br />
* Usage example: <i>./gradlew generateActivityConditions --conf-file=/Users/xxx/IdeaProjects/Grasscutter_Resources/Resources/ExcelBinOutput/NewActivityCondExcelConfigData.json</i>
*/
public class GenerateActivityConditions extends DefaultTask {
private static final Logger log = LoggerFactory.getLogger(GenerateActivityConditions.class);
private static final String ACTIVITY_CONDITIONS_SRC = "/src/main/java/emu/grasscutter/game/activity/condition/ActivityConditions.java";
private static final String activityClassStart = """
package emu.grasscutter.game.activity;
public enum ActivityConditions {
""";
@Option(option = "conf-file", description = "Path to NewActivityCondExcelConfigData.json")
String confFile;
@SuppressWarnings("unused") //Used by Gradle
public void setConfFile(String confFile) {
this.confFile = confFile;
}
@TaskAction
void run() {
List<String> configFileContent = getFileContent(confFile);
Set<String> configEnums = configFileContent.stream()
.filter(s -> s.contains("\"type\":"))
.map(s -> s.split("\"")[3])
.map(s -> " " + s)
.collect(Collectors.toSet());
String finalActivityClass =
activityClassStart +
String.join("," + lineSeparator(), configEnums) + lineSeparator() + "}";
writeFile(finalActivityClass, Path.of(getProject().getProjectDir() + ACTIVITY_CONDITIONS_SRC));
log.info("Successfully added {} enums to {}", configEnums.size(), ACTIVITY_CONDITIONS_SRC);
}
private List<String> getFileContent(String path) {
try {
return readAllLines(Path.of(confFile));
} catch (IOException e) {
log.error("Cannot read file: {}", path);
throw new RuntimeException(e);
}
}
private void writeFile(String content, Path path) {
try {
writeString(path, content, StandardCharsets.UTF_8);
} catch (IOException e) {
log.error("Cannot read file: {}", path);
throw new RuntimeException(e);
}
}
}

View File

@ -0,0 +1,214 @@
## World Bosses
* Oceanid_Boss_1_4
* V1_6/Oceanid_Boss_1_6
* DrakePrimoRockBoss
* V2_3/Boss_Hound
## Dungeons
* V2_1/Boss_Shougun_Beta
* V2_1/Boss_LaSignora
## Activities/Events
### Aster (unreconciled stars)
* AsterMiddle
* AsterBig
### FleurFair (windblume)
* FleurFair_Parachute
* FleurFair_BalloonShoot
### NEW_ACTIVITY_DRAGONSPINE (The Chalk Prince and the Dragon)
* IceFlowerBossBattle
### NEW_ACTIVITY_WINTER_CAMP (Shadows Amidst Snowstorms)
* V2_3/WinterCampDevice
* V2_3/WinterCampGacha
* V2_3/WinterCampMimik
* V2_3/WinterCampMimik_Watcher
* V2_3/WinterCampMimik_Quest
* V2_3/WinterCampParkour
* V2_3/WinterCampSnowman
### NEW_ACTIVITY_TREASURE_MAP
* TreasureMapEvent
* V2_0/TreasureMapEventV2
### unordered
* Activity_ArenaChallengeSub
* Activity_ArenaChallengeMain
## Scene1
* Fishing_EventTest
* test_New_LuaCallType
* V2_5/TEST_Require
## Scene 500030
* SGV_Test
## Other/Unordered
* Activity_Endora
* AttachChildChallenge
* BlackBoxPlay/ChargingPort
* BlackBoxPlay/DrawOneLine
* BlackBoxPlay/DrawOneLinePlus
* BlackBoxPlay/EnergyAmplifier
* BlackBoxPlay/LightResonanceStone
* BlackBoxPlay/LightSquare
* BlackBoxPlay/LightSquareV2
* BlackBoxPlay/MagneticGear
* BlackBoxPlay/TeleportHighway
* BubbleGame
* BulletGame
* DragonSpineBlossomA
* DragonSpineBlossomB
* FlyChallenge
* MonsterQuickDeath
* SnowDungeon
* TowerDefense_Challenge
* TowerDefense_Gear
* TowerDefense_Monster
* TowerDefense_Monster02
* TowerDefense_Trap
* WindFlora
* WindFlora_Arenashake
* WindFlora_Boss_RandomList
* WindFlora_Laser
* WindFlora_Main
* WindFlora_RecordFloorBreakable
* WindFlora_RecordFloorMemory
* WindFlora_RecordFloorTransparent
* WindFlora_ReTrans
* V1_5/Challenge_SetEyePoint
* V1_5/HideAndSeek_Gallery
* V1_5/HideAndSeek_Skill
* V1_5/HilichurlLevel
* V1_6/TuneStone
* V1_6/BoatRace
* V1_6/General_Watcher
* V1_6/KeleeBombBattle
* V1_6/Multi_Badminton
* V1_6/Optimization
* V1_6/ScoreChallenge
* V1_6/TuneStone
* V1_6/VehicleBattle
* V2_0/BlitzRush_Watcher
* V2_0/BlossomGroup
* V2_0/DrawOneLine_TreasureMap
* V2_0/ElectricCore
* V2_0/ElectricCore02
* V2_0/ElementFloor
* V2_0/ExhibitionRoleElectricBomb
* V2_0/ExhibitionRoleElectricPowerSource
* V2_0/OreBlossomGroup
* V2_0/PhotoTakenSuccessfully
* V2_0/RaioCotter
* V2_0/SetPerformanceOptimizationWithRegion_V2.0
* V2_0/SetPerformanceOptimizationWithRegion_V3.0
* V2_0/SetPerformanceOptimizationWithRegion_Event_V2.0
* V2_0/TemariChallenge
* V2_0/TemariChallengePreQuest
* V2_0/ThunderFloor
* V2_0/TowerDefense_Challenge_V2.0
* V2_0/TowerDefense_Gear_V2.0
* V2_0/TowerDefense_Monster_V2.0
* V2_0/TowerDefense_MonsterWaveConfig_V2.0
* V2_1/Boss_Raijin
* V2_1/FightingStage
* V2_1/FishingChallenge
* V2_1/FishingChallenge_Moonfin
* V2_1/ImmortalPot
* V2_1/ImmortalPotEx
* V2_1/Monster_Tide_Test
* V2_1/MoonlitCamp
* V2_1/PirateHelm
* V2_1/PirateShoji
* V2_1/Wakura
* V2_1/WoodFloorPlayOrder
* V2_1/WoodFloorPlaySame
* V2_1/SeaGodStatue
* V2_2/Ayesha
* V2_2/Circuit
* V2_2/DayFinishSuite
* V2_2/DecalDecode
* V2_2/Dig
* V2_2/PillarMove
* V2_2/SelfLoopSeeli
* V2_2/ShowDecals
* V2_2/RogueDungeon_BOSS
* V2_2/RogueDungeon_ChestRoom
* V2_2/RoqueDungeon_FirstRoom
* V2_2/RogueDungeon_Main
* V2_2/RogueDungeon_Require
* V2_2/TsurumiBirdFather
* V2_2/TsurumiStoneSeq
* V2_2/TsurumiTorch
* V2_3/EnergyDisk
* V2_3/EnergyDisk_Dungeon
* V2_3/HachiBattle
* V2_3/HachiDungeon
* V2_3/HachiSneak
* V2_3/MistTrialV2
* V2_3/MistTrialV2_BuffLog
* V2_4/BoxPusher
* V2_4/DeepSeaDrakeBoss
* V2_4/EnvStateManage
* V2_4/EnvState
* V2_4/EnvStateControl
* V2_4/EnvStateWorktop
* V2_4/Firecracker
* V2_4/HideAndSeek_Gallery_V2
* V2_4/HideAndSeek_Skill_V2"
* V2_4/MiniOsial
* V2_4/Monster_CombatEnd_Handle
* V2_4/PotionStage
* V2_4/QunyugeDebris
* V2_4/QunyugeDebris_Stop_Balloon
* V2_4/SeaLamp_Challenge_Manager
* V2_4/SealedAltar
* V2_4/WallMaze
* V2_5/DarkPressure
* V2_5/DarkStair
* V2_5/FightingStage_ByNum
* V2_5/FightingStage_ByTime
* V2_5/GiliGiliI_Boss
* V2_5/GiliGiliI_Quest
* V2_5/HM_BalloonGallery
* V2_5/Huarongdao
* V2_5/RecircleChallenge
* V2_5/ReviveBoss
* V2_5/ReviveCrystalEnergy
* V2_5/UGCDungeon_Reforge
* V2_5/UGCDungeon
* V2_5/Watcher_Energy
* V2_5/Watcher_Puzzle
* V2_5/Watcher_Tower
* V2_6/BW_LightRoadTrack
* V2_6/BW_RandomLoadSuite
* V2_6/CalculateBulletForward
* V2_6/CrystalLink
* V2_6/CYJY_Enter_Trans_Player
* V2_6/DigPlay
* V2_6/DropRockAbyssBulletTrigger
* V2_6/HM_WoodenStakeChallenge
* V2_6/IrodoriMaster
* V2_6/PhotographActivity
* V2_6/TowerDefense_Challenge_V3.0
* V2_6/TowerDefense_Gear_V3.0
* V2_6/TowerDefense_Monster_V3.0
* V2_6/TowerDefense_MonsterWaveConfig_V3.0"
* V2_6/TowerDefense_SpecialGears_V3.0
* V2_7/rogue_rotate_whitebox
* V2_7/Activity_GachaSync
* V2_7/Activity_LumenArena
* V2_7/Activity_LumenProtect
* V2_7/Activity_LumenCharge
* V2_7/Activity_LumenWipeout
* V2_7/BW_NearBossAuthorityChange
* V2_7/HM_FindTubby
* V2_7/Rogue_Cell
* V2_7/rogue_rotate_whitebox
* V2_7/Rogue_Terrain_1
* V2_7/Rogue_Terrain_2
* V2_7/Rogue_Terrain_3
* V2_7/YeLan_BoxPusher
* TD_Lib

6
docs/quests/README.md Normal file
View File

@ -0,0 +1,6 @@
# Quest Documentation
These are the [Wiki Files](https://github.com/Anime-Game-Servers/Grasscutter-Quests/wiki) from Grasscutter-Quests.\
## Sections
- [**Missing Scripts**](Missing-Scripts.md) - These are Lua scripts which are required for functionality of certain game elements.
- [The Outlander Who Caught the Wind (Prologue Act 1)](lines/The-Outlander-Who-Caught-the-Wind-(Prologue-Act-1).md)

View File

@ -0,0 +1,124 @@
# The Outlander Who Caught the Wind (Prologue Act 1)
To start/enable quests run `/quests enable` or activate questing in the server settings.
## Reading The Table
* ✔️ Natural Progression _possible_; works as intended
* ⚠️ Natural Progression _possible_; bugs occur, see note
* ❌ Natural Progression _not possible_; see note(s)
* ❓ Unknown Behavior
* bw = 'big-world scripts' enabled
* m = Main Quest
| [The Outlander Who Caught the Wind (Prologue Act 1)](https://genshin-impact.fandom.com/wiki/The_Outlander_Who_Caught_the_Wind) | Works (bw-on) | Works (bw-off) | Log in/out Works | Problems/Notes |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|----------------|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| **m351 : Wanderer's Trail**<br />[500 CExp, 225 AExp, 975 Mora] | ✔️ | ⚠️ | ✔️ | completion possible without commands |
| 35104 : Traveler and Paimon Intro Cutscene | ✔️ | ✔️ | ✔️ |
| 35100 : Go to Paimon | ✔️ | ❓ | ✔️ |
| 35107 : #QUEST_HIDDEN | ✔️ | ❓ | ✔️ |
| 35101 : Follow Paimon | ✔️ | ❓ | ✔️ |
| 35106 : Unlock the Teleport Waypoint | ✔️ | ✔️ | ✔️ |
| 35105 : Go to the foot of the cliff | ✔️ | ❓ | ✔️ | If not relogging, Paimon will now be with you and move with you. |
| 35103 : [N/A] 469284815 #QUEST_HIDDEN | ✔️ | ❓ | ✔️ |
| 35102 : Climb to the top of the rock face | ✔️ | ❓ | ✔️ | Quest 35200 was automatically added to the In Progress list. |
|   |   |   |   |   |
| **m352 : Bird's Eye View**<br />(Teyvat Archon Quest Prologue: Act 1 - 1)<br />[500 CExp, 225 AExp, 975 Mora] | ✔️ | ❓ |  ✔️ | completion possible without commands |
| 35200 : Follow the path | ✔️ | ❓ | ✔️ | No new quest marker is automatically added. Opening the quest journal and selecting navigate will added it to the screen in the correct location. |
| 35201 : Go to Paimon | ✔️ | ❓ | ✔️ | Paimon will stay with the player. |
| 35202 : Talk to Paimon | ✔️ | ❓ | ✔️ |
| 35203 : Follow Paimon | ✔️ | ❓ | ✔️ | After logout it resets the user to 35202 |
| 35204 : Swim to the island in Starfell Lake | ✔️ | ❓ | ✔️ |
| 35205 : Bird's Eye View - Statue of The Seven (I) unlocked | ✔️ | ❓ | ✔️ | TODO check logout |
|   |   |   |   |   |
| **m353 : Unexpected Power**<br />(Teyvat Archon Quest Prologue: Act 1 - 2)<br />[20 Primo, 575 CExp, 250 AExp, 1100 Mora, 10 Sweet Madame, 10 Teyvat Fried Egg] | ✔️ | ❓ |  ✔️ | completion possible without commands, but slime multiply every time you log out and back in [#20](https://github.com/Hartie95/Grasscutter/issues/20) |
| 35301 : Unexpected Power - Talk to Paimon | ✔️ | ❓ | ✔️ |
| 35312 : Unexpected Power - Exit area rollback failed | ✔️ | ❓ | ✔️ | Player exits area before triggering 35301, you can call add 35312 which will trigger cutscene, but you will have a UI bug |
| 35302 : Unexpected Power - Unleash Your Elemental Skill | ✔️ | ❓ | ✔️ |
| 35309 : Unexpected Power - Defeat the slimes | ✔️ | ❓ | ✔️ |
| 35303 : Unexpected Power - Hold Elemental Skill | ✔️ | ❓ | ✔️ | holding progressbar is missing |
| 35310 : Unexpected Power - Defeat the slimes | ✔️ | ❓ | ✔️ |
| 35304 : Unexpected Power - Use Elemental Burst | ✔️ | ❓ | ✔️ |
| 35311 : Unexpected Power - Defeat the slimes | ✔️ | ❓ | ✔️ |
|   |   |   |   |   |
| **m355 : Forest Rendezvous**<br />(Teyvat Archon Quest Prologue: Act 1 - 3)<br />[575 CExp, 250 AExp, 1100 Mora] | ✔️ | ❓ | ✔️  | natural progression possible |
| 35501 : Go to Mondstadt | ✔️ | ❓ | ✔️  | Wait until Dvalin flies over. |
| 36100 : #QUEST_HIDDEN | ✔️ | ❓ | ✔️ | Cutscene trigger for dvalin flying over the players head |
| 36101 : #QUEST_HIDDEN | ✔️ | ❓ | ✔️  |
| 35502 : Advance to the heart of the forest | ✔️ | ❓ | ✔️ |
| 35503 : Talk to Paimon | ✔️ | ❓ | ✔️ |
| 35504 : Investigate what Paimon has found | ✔️ | ❓ | ✔️  |
| 35505 : Talk to Paimon | ✔️ | ❓ | ✔️ |
|   |   |   |   |   |
| **m354 : Wind-Riding Knight**<br />(Teyvat Archon Quest Prologue: Act 1 - 4)<br />[625 CExp, 275AExp, 1200 Mora] | ✔️ | ❓ |  ✔️ | |
| 35401 : Keep heading towards Mondstadt | ✔️ | ❓ | ✔️ |
| 35402 : Talk to the perky girl | ✔️ | ❓ | ✔️ | |
| 35404 : Use Amber to defeat the airborne slimes | ✔️ | ❓ | ✔️ |
| 35405 : #QUEST_HIDDEN | ✔️ | ❓ | ✔️ | wait until the talk is finished |
| 35403 : Go to the location designated by Amber | ✔️ | ❓ | ✔️ | |
|   |   |   |   |   |
| **m360 : Going Upon the Breeze**<br />(Teyvat Archon Quest Prologue: Act 1 - 5)<br />[20 Primo, 972 CExp, 275 AExp, 1800 Mora, 8 EnOre, 1 Recurve Bow] | ✔️ | ❓ |  ⚠️ | completion possible without commands, but with some smaller bugs |
| 36001 : Defeat the nearby hilichurls | ✔️ | ❓ |  ⚠️ | goal location might be wrong after logout. Monsters might multiply after logout |
| 36003 : Clear out the nearby hilichurl camp | ✔️ | ❌ |  ✔️ | There are more hillichurls then there should be. If bw script are disabled, changing the chest to open will break the script and hinder progress |
| 36004 : Talk to Amber | ✔️ | ❓ |  ✔️ | |
| 36005 : Keep heading towards Mondstadt | ✔️ | ❓ |  ✔️ | |
|   |   |   |   |   |
| **m356 : City of Freedom**<br />(Teyvat Archon Quest Prologue: Act 1 - 6)<br />[850 CExp, 250 AExp, 1625 Mora, 7 EnOre] | ⚠️ | ❓ |  ⚠️ | completion possible, but with some smaller bugs |
| 35601 : Talk to Amber | ✔️ | ❓ |  ✔️ | |
| 35602 : [CHS] - (test)跟随安柏#QUEST_HIDDEN | ⚠️ | ❓ |  ⚠️ | softlock during showing of tipps possible |
| 35603 : Go to the location designated by Amber | ✔️ | ❓ |  ✔️ | |
| 35604 : Talk to Amber | ✔️ | ❓ |  ✔️ |   |
| 35605 : [CHS] - (test)开始飞行教学#QUEST_HIDDEN | ✔️ | ❓ |  ✔️ | |
| 35606 : Meet Amber at the fountain plaza | ✔️ | ❓ |  ✔️ | |
|   |   |   |   |   |
| **m357 : Dragon Storm**<br />(Teyvat Archon Quest Prologue: Act 1 - 7)<br />[20 Primo, 1250 CExp, 275 AExp, 2400 Mora, 2 FineEnOre] | ✔️ | ❓ |  ✔️ | completion possible with smaller bugs |
| 35721 : Dvalin's Assault #QUEST_HIDDEN | ✔️ | ❓ |  ✔️ | Watch the cutscene and then wait to be airborne |
| 35722 : Fend off Stormterror | ⚠️ | ❓ |  ✔️ | Using the movement keys (W,A,S,D) in the Dvalin fight might kick you out of the instance. **INVESTIGATE FURTHER** |
| 35725 : [CHS] - (test)地城内cs#QUEST_HIDDEN | ✔️ | ❓ |  ✔️ | You will return to the main world |
| 35723 : Talk to Amber | ⚠️ | ❓ |  ✔️ | Weather is not stormy. Finish conversation with Amber and Kaeya, the go the KoF Headquarters |
| 35724 : Go to the Knights of Favonius Headquarters | ✔️ | ❓ |  ✔️ | |
|   |   |   |   | |
| **m358 : Knights of Favonius**<br />(Teyvat Archon Quest Prologue: Act 1 - 8)<br />[1025 CExp, 225 AExp, 1950 Mora, 43 EnOre] | ✔️ | ❓ |  ✔️ | completion possible |
| 35800 : #QUEST_HIDDEN | ⚠️ | ❓ |  ✔️ | wait two day via time forward to progress |
| 35801 : Enter the Knights of Favonius Headquarters | ✔️ | ❓ |  ✔️ | |
| 35802 : Knights of Favonius - Talk to Jean | ✔️ | ❓ |  ✔️ | |
|   |   |   |   | |
| **m306 : Winds of the Past**<br />(Teyvat Archon Quest Prologue: Act 1 - 9.1)<br />[20 Primo, 1550 CExp, 275 AExp, 3000 Mora, 3 FineEnOre] | ✔️ | ❓ |  ✔️ | completion possible with two commands |
| 30600 : Meet Amber at the temple | ✔️ | ❓ |  ✔️ | |
| 30601 : Talk to Amber | ✔️ | ❓ |  ✔️ | |
| 30602 : Enter the temple | ✔️ | ❓ |  ✔️ | Use /dungeon 1001 to go inside the dungeon |
| 30607 : [CHS] - (test)到教学点1#QUEST_HIDDEN | ✔️ | ❓ |  ✔️ | |
| 30608 : [CHS] - (test)到教学点2#QUEST_HIDDEN (Tutorial on how to aim and fire using Amber) | ✔️ | ❓ |  ✔️ | |
| 30609 : [CHS] - (test)到教学点3#QUEST_HIDDEN | ✔️ | ❓ |  ✔️ | |
| 30612 : [CHS] - (test)到垂直风场#QUEST_HIDDEN (Tutorial on how to burn stuff with Pyro) | ✔️ | ❓ |  ✔️ | |
| 30611 : [CHS] - (test)地城失败#QUEST_HIDDEN (Seems to be in case the dungeon is failed) | ✔️ | ❓ |  ✔️ | Walk forward and detroy the Dragon's Breath |
| 30603 : Explore the temple's depths | ✔️ | ❓ |  ✔️ | |
| 30610 : Winds of the Past - Talk to Amber | ✔️ | ❓ |  ✔️ | |
| 30604 : Winds of the Past - Leave Domain (Will not show on HUD) | ✔️ | ❓ |  ✔️ | |
|   |   |   |   |   |
| **m307 : Crash Course**<br />(Teyvat Archon Quest Prologue: Act 1 - 9.2)<br />[20 Primo, 1550 CExp, 275 AExp, 3000 Mora, 3 FineEnOre, 1 Traveler's Handy Sword, Kaeya lv1 c0] | ✔️ | ⚠️ |  ✔️ | completion possible with smaller bugs |
| 30700 : Meet Kaeya at the temple | ✔️ | ❓ |  ✔️ | |
| 30701 : Talk to Kaeya | ✔️ | ❓ |  ✔️ | |
| 30702 : Enter the temple | ✔️ | ⚠️ |  ✔️ | |
| 30710 : Talk to Kaeya | ✔️ | ✔️ |  ✔️ | |
| 30707 : [CHS] - (test)到教学点1#QUEST_HIDDEN | ✔️ | ✔️ |  ✔️ | |
| 30708 : [CHS] - (test)到教学点2#QUEST_HIDDEN (Cryo freezing tutorial) | ✔️ | ✔️ |  ✔️ | Freezing is not working, dashing though the fire works though |
| 30712 : [CHS] - (test)到教学点4#QUEST_HIDDEN (Hydro Amber tutorial) | ✔️ | ✔️ |  ✔️ | |
| 30711 : [CHS] - (test)地城失败#QUEST_HIDDEN (fail dungeon fallback) | ✔️ | ✔️ |  ✔️ | |
| 30709 : [CHS] - (test)到教学点3#QUEST_HIDDEN | ✔️ | ✔️ |  ✔️ | | 30702 | Spikes are broken and will make the player stuck, afterwards only tp or leaving the dungeon helps.<br /> finish via one of those solutions:<br />Move forward with `/teleport 440 -25 198`<br />Get early Kaeya with `/give 10000015 lv1 c0`<br />Jump over the spikes with other means.   |
| 30703 : Explore the temple's depths | ✔️ | ✔️ |  ✔️ | destroy the Dragons Breath |
| 30715 : Talk to Kaeya | ✔️ | ✔️ |  ✔️ | |
| 30713 : Kaeya cutscene | ✔️ | ✔️ |  ✔️ | |
| 30704 : Leave Domain | ✔️ | ✔️ |  ✔️ | |
|   |   |   |   |   |
| **m308 : Sparks Amongst the Pages**<br />(Teyvat Archon Quest Prologue: Act 1 - 9.3)<br />[20 Primo, 1550 CExp, 275 AExp, 3000 Mora, 3 FineEnOre, 1 Otherworldly Story, Lisa lv1 c0] | ✔️ | ⚠️ |  ✔️ | completion possible with a few commands |
| 30800 : Meet Lisa at the temple | ✔️ | ❓ |  ✔️ | |
| 30801 : Talk to Lisa | ✔️ | ❓ |  ✔️ | |
| 30802 : Enter the temple | ✔️ | ❌ |  ✔️ | |
| 30810 : Talk to Lisa | ✔️ | ✔️ |  ✔️ | |
| 30807 : [CHS] - (test)到教学点1#QUEST_HIDDEN | ✔️ | ✔️ |  ✔️ | |
| 30812 : [CHS] - (test)到教学点#QUEST_HIDDEN | ✔️ | ⚠️ |  ✔️ | |
| 30809 : [CHS] - (test)到教学点3#QUEST_HIDDEN | ✔️ | ✔️ |  ✔️ | |
| 30808 : [CHS] - (test)到教学点2#QUEST_HIDDEN | ✔️ | ✔️ |  ✔️ | | |
| 30811 : [CHS] - (test)地城失败#QUEST_HIDDEN (fail dungeon fallback) | ✔️ | ✔️ |  ✔️ | |
| 30803 : Explore the temple's depths | ✔️ | ✔️ |  ✔️ | |
| 30814 : Talk to Lisa | ✔️ | ✔️ |  ✔️ | |
| 30804 : Leave Domain | ✔️ | ✔️ |  ✔️ | no autoprogression | |

178
gradlew.bat vendored
View File

@ -1,89 +1,89 @@
@rem @rem
@rem Copyright 2015 the original author or authors. @rem Copyright 2015 the original author or authors.
@rem @rem
@rem Licensed under the Apache License, Version 2.0 (the "License"); @rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License. @rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at @rem You may obtain a copy of the License at
@rem @rem
@rem https://www.apache.org/licenses/LICENSE-2.0 @rem https://www.apache.org/licenses/LICENSE-2.0
@rem @rem
@rem Unless required by applicable law or agreed to in writing, software @rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS, @rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and @rem See the License for the specific language governing permissions and
@rem limitations under the License. @rem limitations under the License.
@rem @rem
@if "%DEBUG%" == "" @echo off @if "%DEBUG%" == "" @echo off
@rem ########################################################################## @rem ##########################################################################
@rem @rem
@rem Gradle startup script for Windows @rem Gradle startup script for Windows
@rem @rem
@rem ########################################################################## @rem ##########################################################################
@rem Set local scope for the variables with windows NT shell @rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0 set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=. if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0 set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME% set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter. @rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" set DEFAULT_JVM_OPTS="-Xmx4G" "-Xms64m"
@rem Find java.exe @rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1 %JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute if "%ERRORLEVEL%" == "0" goto execute
echo. echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo. echo.
echo Please set the JAVA_HOME variable in your environment to match the echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation. echo location of your Java installation.
goto fail goto fail
:findJavaFromJavaHome :findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=% set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute if exist "%JAVA_EXE%" goto execute
echo. echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo. echo.
echo Please set the JAVA_HOME variable in your environment to match the echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation. echo location of your Java installation.
goto fail goto fail
:execute :execute
@rem Setup the command line @rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle @rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end :end
@rem End local scope for the variables with windows NT shell @rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd if "%ERRORLEVEL%"=="0" goto mainEnd
:fail :fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code! rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1 exit /b 1
:mainEnd :mainEnd
if "%OS%"=="Windows_NT" endlocal if "%OS%"=="Windows_NT" endlocal
:omega :omega

View File

@ -1,199 +1,175 @@
// Generated by the protocol buffer compiler. DO NOT EDIT! // Generated by the protocol buffer compiler. DO NOT EDIT!
// source: AbilityScalarType.proto // source: AbilityScalarType.proto
package emu.grasscutter.net.proto; package emu.grasscutter.net.proto;
public final class AbilityScalarTypeOuterClass { public final class AbilityScalarTypeOuterClass {
private AbilityScalarTypeOuterClass() {} private AbilityScalarTypeOuterClass() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistryLite registry) { public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}
}
public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
public static void registerAllExtensions( registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
com.google.protobuf.ExtensionRegistry registry) { }
registerAllExtensions( /**
(com.google.protobuf.ExtensionRegistryLite) registry); *
} *
/** * <pre>
* <pre> * Name: OOCPHEKKCJH
* Name: OOCPHEKKCJH * </pre>
* </pre> *
* * Protobuf enum {@code AbilityScalarType}
* Protobuf enum {@code AbilityScalarType} */
*/ public enum AbilityScalarType implements com.google.protobuf.ProtocolMessageEnum {
public enum AbilityScalarType /** <code>ABILITY_SCALAR_TYPE_UNKNOW = 0;</code> */
implements com.google.protobuf.ProtocolMessageEnum { ABILITY_SCALAR_TYPE_UNKNOW(0),
/** /** <code>ABILITY_SCALAR_TYPE_FLOAT = 1;</code> */
* <code>ABILITY_SCALAR_TYPE_UNKNOW = 0;</code> ABILITY_SCALAR_TYPE_FLOAT(1),
*/ /** <code>ABILITY_SCALAR_TYPE_INT = 2;</code> */
ABILITY_SCALAR_TYPE_UNKNOW(0), ABILITY_SCALAR_TYPE_INT(2),
/** /** <code>ABILITY_SCALAR_TYPE_BOOL = 3;</code> */
* <code>ABILITY_SCALAR_TYPE_FLOAT = 1;</code> ABILITY_SCALAR_TYPE_BOOL(3),
*/ /** <code>ABILITY_SCALAR_TYPE_TRIGGER = 4;</code> */
ABILITY_SCALAR_TYPE_FLOAT(1), ABILITY_SCALAR_TYPE_TRIGGER(4),
/** /** <code>ABILITY_SCALAR_TYPE_STRING = 5;</code> */
* <code>ABILITY_SCALAR_TYPE_INT = 2;</code> ABILITY_SCALAR_TYPE_STRING(5),
*/ /** <code>ABILITY_SCALAR_TYPE_UINT = 6;</code> */
ABILITY_SCALAR_TYPE_INT(2), ABILITY_SCALAR_TYPE_UINT(6),
/** UNRECOGNIZED(-1),
* <code>ABILITY_SCALAR_TYPE_BOOL = 3;</code> ;
*/
ABILITY_SCALAR_TYPE_BOOL(3), /** <code>ABILITY_SCALAR_TYPE_UNKNOW = 0;</code> */
/** public static final int ABILITY_SCALAR_TYPE_UNKNOW_VALUE = 0;
* <code>ABILITY_SCALAR_TYPE_TRIGGER = 4;</code> /** <code>ABILITY_SCALAR_TYPE_FLOAT = 1;</code> */
*/ public static final int ABILITY_SCALAR_TYPE_FLOAT_VALUE = 1;
ABILITY_SCALAR_TYPE_TRIGGER(4), /** <code>ABILITY_SCALAR_TYPE_INT = 2;</code> */
/** public static final int ABILITY_SCALAR_TYPE_INT_VALUE = 2;
* <code>ABILITY_SCALAR_TYPE_STRING = 5;</code> /** <code>ABILITY_SCALAR_TYPE_BOOL = 3;</code> */
*/ public static final int ABILITY_SCALAR_TYPE_BOOL_VALUE = 3;
ABILITY_SCALAR_TYPE_STRING(5), /** <code>ABILITY_SCALAR_TYPE_TRIGGER = 4;</code> */
/** public static final int ABILITY_SCALAR_TYPE_TRIGGER_VALUE = 4;
* <code>ABILITY_SCALAR_TYPE_UINT = 6;</code> /** <code>ABILITY_SCALAR_TYPE_STRING = 5;</code> */
*/ public static final int ABILITY_SCALAR_TYPE_STRING_VALUE = 5;
ABILITY_SCALAR_TYPE_UINT(6), /** <code>ABILITY_SCALAR_TYPE_UINT = 6;</code> */
UNRECOGNIZED(-1), public static final int ABILITY_SCALAR_TYPE_UINT_VALUE = 6;
;
public final int getNumber() {
/** if (this == UNRECOGNIZED) {
* <code>ABILITY_SCALAR_TYPE_UNKNOW = 0;</code> throw new java.lang.IllegalArgumentException(
*/ "Can't get the number of an unknown enum value.");
public static final int ABILITY_SCALAR_TYPE_UNKNOW_VALUE = 0; }
/** return value;
* <code>ABILITY_SCALAR_TYPE_FLOAT = 1;</code> }
*/
public static final int ABILITY_SCALAR_TYPE_FLOAT_VALUE = 1; /**
/** * @param value The numeric wire value of the corresponding enum entry.
* <code>ABILITY_SCALAR_TYPE_INT = 2;</code> * @return The enum associated with the given numeric wire value.
*/ * @deprecated Use {@link #forNumber(int)} instead.
public static final int ABILITY_SCALAR_TYPE_INT_VALUE = 2; */
/** @java.lang.Deprecated
* <code>ABILITY_SCALAR_TYPE_BOOL = 3;</code> public static AbilityScalarType valueOf(int value) {
*/ return forNumber(value);
public static final int ABILITY_SCALAR_TYPE_BOOL_VALUE = 3; }
/**
* <code>ABILITY_SCALAR_TYPE_TRIGGER = 4;</code> /**
*/ * @param value The numeric wire value of the corresponding enum entry.
public static final int ABILITY_SCALAR_TYPE_TRIGGER_VALUE = 4; * @return The enum associated with the given numeric wire value.
/** */
* <code>ABILITY_SCALAR_TYPE_STRING = 5;</code> public static AbilityScalarType forNumber(int value) {
*/ switch (value) {
public static final int ABILITY_SCALAR_TYPE_STRING_VALUE = 5; case 0:
/** return ABILITY_SCALAR_TYPE_UNKNOW;
* <code>ABILITY_SCALAR_TYPE_UINT = 6;</code> case 1:
*/ return ABILITY_SCALAR_TYPE_FLOAT;
public static final int ABILITY_SCALAR_TYPE_UINT_VALUE = 6; case 2:
return ABILITY_SCALAR_TYPE_INT;
case 3:
public final int getNumber() { return ABILITY_SCALAR_TYPE_BOOL;
if (this == UNRECOGNIZED) { case 4:
throw new java.lang.IllegalArgumentException( return ABILITY_SCALAR_TYPE_TRIGGER;
"Can't get the number of an unknown enum value."); case 5:
} return ABILITY_SCALAR_TYPE_STRING;
return value; case 6:
} return ABILITY_SCALAR_TYPE_UINT;
default:
/** return null;
* @param value The numeric wire value of the corresponding enum entry. }
* @return The enum associated with the given numeric wire value. }
* @deprecated Use {@link #forNumber(int)} instead.
*/ public static com.google.protobuf.Internal.EnumLiteMap<AbilityScalarType>
@java.lang.Deprecated internalGetValueMap() {
public static AbilityScalarType valueOf(int value) { return internalValueMap;
return forNumber(value); }
}
private static final com.google.protobuf.Internal.EnumLiteMap<AbilityScalarType>
/** internalValueMap =
* @param value The numeric wire value of the corresponding enum entry. new com.google.protobuf.Internal.EnumLiteMap<AbilityScalarType>() {
* @return The enum associated with the given numeric wire value. public AbilityScalarType findValueByNumber(int number) {
*/ return AbilityScalarType.forNumber(number);
public static AbilityScalarType forNumber(int value) { }
switch (value) { };
case 0: return ABILITY_SCALAR_TYPE_UNKNOW;
case 1: return ABILITY_SCALAR_TYPE_FLOAT; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
case 2: return ABILITY_SCALAR_TYPE_INT; if (this == UNRECOGNIZED) {
case 3: return ABILITY_SCALAR_TYPE_BOOL; throw new java.lang.IllegalStateException(
case 4: return ABILITY_SCALAR_TYPE_TRIGGER; "Can't get the descriptor of an unrecognized enum value.");
case 5: return ABILITY_SCALAR_TYPE_STRING; }
case 6: return ABILITY_SCALAR_TYPE_UINT; return getDescriptor().getValues().get(ordinal());
default: return null; }
}
} public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
return getDescriptor();
public static com.google.protobuf.Internal.EnumLiteMap<AbilityScalarType> }
internalGetValueMap() {
return internalValueMap; public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
} return emu.grasscutter.net.proto.AbilityScalarTypeOuterClass.getDescriptor()
private static final com.google.protobuf.Internal.EnumLiteMap< .getEnumTypes()
AbilityScalarType> internalValueMap = .get(0);
new com.google.protobuf.Internal.EnumLiteMap<AbilityScalarType>() { }
public AbilityScalarType findValueByNumber(int number) {
return AbilityScalarType.forNumber(number); private static final AbilityScalarType[] VALUES = values();
}
}; public static AbilityScalarType valueOf(
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
public final com.google.protobuf.Descriptors.EnumValueDescriptor if (desc.getType() != getDescriptor()) {
getValueDescriptor() { throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
if (this == UNRECOGNIZED) { }
throw new java.lang.IllegalStateException( if (desc.getIndex() == -1) {
"Can't get the descriptor of an unrecognized enum value."); return UNRECOGNIZED;
} }
return getDescriptor().getValues().get(ordinal()); return VALUES[desc.getIndex()];
} }
public final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptorForType() { private final int value;
return getDescriptor();
} private AbilityScalarType(int value) {
public static final com.google.protobuf.Descriptors.EnumDescriptor this.value = value;
getDescriptor() { }
return emu.grasscutter.net.proto.AbilityScalarTypeOuterClass.getDescriptor().getEnumTypes().get(0);
} // @@protoc_insertion_point(enum_scope:AbilityScalarType)
}
private static final AbilityScalarType[] VALUES = values();
public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
public static AbilityScalarType valueOf( return descriptor;
com.google.protobuf.Descriptors.EnumValueDescriptor desc) { }
if (desc.getType() != getDescriptor()) {
throw new java.lang.IllegalArgumentException( private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
"EnumValueDescriptor is not for this type.");
} static {
if (desc.getIndex() == -1) { java.lang.String[] descriptorData = {
return UNRECOGNIZED; "\n\027AbilityScalarType.proto*\354\001\n\021AbilitySca"
} + "larType\022\036\n\032ABILITY_SCALAR_TYPE_UNKNOW\020\000\022"
return VALUES[desc.getIndex()]; + "\035\n\031ABILITY_SCALAR_TYPE_FLOAT\020\001\022\033\n\027ABILIT"
} + "Y_SCALAR_TYPE_INT\020\002\022\034\n\030ABILITY_SCALAR_TY"
+ "PE_BOOL\020\003\022\037\n\033ABILITY_SCALAR_TYPE_TRIGGER"
private final int value; + "\020\004\022\036\n\032ABILITY_SCALAR_TYPE_STRING\020\005\022\034\n\030AB"
+ "ILITY_SCALAR_TYPE_UINT\020\006B!\n\031emu.grasscut"
private AbilityScalarType(int value) { + "ter.net.protoZ\004/genb\006proto3"
this.value = value; };
} descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
// @@protoc_insertion_point(enum_scope:AbilityScalarType) descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] {});
} }
// @@protoc_insertion_point(outer_class_scope)
public static com.google.protobuf.Descriptors.FileDescriptor }
getDescriptor() {
return descriptor;
}
private static com.google.protobuf.Descriptors.FileDescriptor
descriptor;
static {
java.lang.String[] descriptorData = {
"\n\027AbilityScalarType.proto*\354\001\n\021AbilitySca" +
"larType\022\036\n\032ABILITY_SCALAR_TYPE_UNKNOW\020\000\022" +
"\035\n\031ABILITY_SCALAR_TYPE_FLOAT\020\001\022\033\n\027ABILIT" +
"Y_SCALAR_TYPE_INT\020\002\022\034\n\030ABILITY_SCALAR_TY" +
"PE_BOOL\020\003\022\037\n\033ABILITY_SCALAR_TYPE_TRIGGER" +
"\020\004\022\036\n\032ABILITY_SCALAR_TYPE_STRING\020\005\022\034\n\030AB" +
"ILITY_SCALAR_TYPE_UINT\020\006B\033\n\031emu.grasscut" +
"ter.net.protob\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
});
}
// @@protoc_insertion_point(outer_class_scope)
}

View File

@ -1,160 +1,149 @@
// Generated by the protocol buffer compiler. DO NOT EDIT! // Generated by the protocol buffer compiler. DO NOT EDIT!
// source: ActivityPushTipsState.proto // source: ActivityPushTipsState.proto
package emu.grasscutter.net.proto; package emu.grasscutter.net.proto;
public final class ActivityPushTipsStateOuterClass { public final class ActivityPushTipsStateOuterClass {
private ActivityPushTipsStateOuterClass() {} private ActivityPushTipsStateOuterClass() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistryLite registry) { public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}
}
public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
public static void registerAllExtensions( registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
com.google.protobuf.ExtensionRegistry registry) { }
registerAllExtensions( /**
(com.google.protobuf.ExtensionRegistryLite) registry); *
} *
/** * <pre>
* <pre> * Name: FHPBGAOJEJH
* Name: FHPBGAOJEJH * </pre>
* </pre> *
* * Protobuf enum {@code ActivityPushTipsState}
* Protobuf enum {@code ActivityPushTipsState} */
*/ public enum ActivityPushTipsState implements com.google.protobuf.ProtocolMessageEnum {
public enum ActivityPushTipsState /** <code>ACTIVITY_PUSH_TIPS_STATE_NONE = 0;</code> */
implements com.google.protobuf.ProtocolMessageEnum { ACTIVITY_PUSH_TIPS_STATE_NONE(0),
/** /** <code>ACTIVITY_PUSH_TIPS_STATE_START = 1;</code> */
* <code>ACTIVITY_PUSH_TIPS_STATE_NONE = 0;</code> ACTIVITY_PUSH_TIPS_STATE_START(1),
*/ /** <code>ACTIVITY_PUSH_TIPS_STATE_READ = 2;</code> */
ACTIVITY_PUSH_TIPS_STATE_NONE(0), ACTIVITY_PUSH_TIPS_STATE_READ(2),
/** UNRECOGNIZED(-1),
* <code>ACTIVITY_PUSH_TIPS_STATE_START = 1;</code> ;
*/
ACTIVITY_PUSH_TIPS_STATE_START(1), /** <code>ACTIVITY_PUSH_TIPS_STATE_NONE = 0;</code> */
/** public static final int ACTIVITY_PUSH_TIPS_STATE_NONE_VALUE = 0;
* <code>ACTIVITY_PUSH_TIPS_STATE_READ = 2;</code> /** <code>ACTIVITY_PUSH_TIPS_STATE_START = 1;</code> */
*/ public static final int ACTIVITY_PUSH_TIPS_STATE_START_VALUE = 1;
ACTIVITY_PUSH_TIPS_STATE_READ(2), /** <code>ACTIVITY_PUSH_TIPS_STATE_READ = 2;</code> */
UNRECOGNIZED(-1), public static final int ACTIVITY_PUSH_TIPS_STATE_READ_VALUE = 2;
;
public final int getNumber() {
/** if (this == UNRECOGNIZED) {
* <code>ACTIVITY_PUSH_TIPS_STATE_NONE = 0;</code> throw new java.lang.IllegalArgumentException(
*/ "Can't get the number of an unknown enum value.");
public static final int ACTIVITY_PUSH_TIPS_STATE_NONE_VALUE = 0; }
/** return value;
* <code>ACTIVITY_PUSH_TIPS_STATE_START = 1;</code> }
*/
public static final int ACTIVITY_PUSH_TIPS_STATE_START_VALUE = 1; /**
/** * @param value The numeric wire value of the corresponding enum entry.
* <code>ACTIVITY_PUSH_TIPS_STATE_READ = 2;</code> * @return The enum associated with the given numeric wire value.
*/ * @deprecated Use {@link #forNumber(int)} instead.
public static final int ACTIVITY_PUSH_TIPS_STATE_READ_VALUE = 2; */
@java.lang.Deprecated
public static ActivityPushTipsState valueOf(int value) {
public final int getNumber() { return forNumber(value);
if (this == UNRECOGNIZED) { }
throw new java.lang.IllegalArgumentException(
"Can't get the number of an unknown enum value."); /**
} * @param value The numeric wire value of the corresponding enum entry.
return value; * @return The enum associated with the given numeric wire value.
} */
public static ActivityPushTipsState forNumber(int value) {
/** switch (value) {
* @param value The numeric wire value of the corresponding enum entry. case 0:
* @return The enum associated with the given numeric wire value. return ACTIVITY_PUSH_TIPS_STATE_NONE;
* @deprecated Use {@link #forNumber(int)} instead. case 1:
*/ return ACTIVITY_PUSH_TIPS_STATE_START;
@java.lang.Deprecated case 2:
public static ActivityPushTipsState valueOf(int value) { return ACTIVITY_PUSH_TIPS_STATE_READ;
return forNumber(value); default:
} return null;
}
/** }
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value. public static com.google.protobuf.Internal.EnumLiteMap<ActivityPushTipsState>
*/ internalGetValueMap() {
public static ActivityPushTipsState forNumber(int value) { return internalValueMap;
switch (value) { }
case 0: return ACTIVITY_PUSH_TIPS_STATE_NONE;
case 1: return ACTIVITY_PUSH_TIPS_STATE_START; private static final com.google.protobuf.Internal.EnumLiteMap<ActivityPushTipsState>
case 2: return ACTIVITY_PUSH_TIPS_STATE_READ; internalValueMap =
default: return null; new com.google.protobuf.Internal.EnumLiteMap<ActivityPushTipsState>() {
} public ActivityPushTipsState findValueByNumber(int number) {
} return ActivityPushTipsState.forNumber(number);
}
public static com.google.protobuf.Internal.EnumLiteMap<ActivityPushTipsState> };
internalGetValueMap() {
return internalValueMap; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
} if (this == UNRECOGNIZED) {
private static final com.google.protobuf.Internal.EnumLiteMap< throw new java.lang.IllegalStateException(
ActivityPushTipsState> internalValueMap = "Can't get the descriptor of an unrecognized enum value.");
new com.google.protobuf.Internal.EnumLiteMap<ActivityPushTipsState>() { }
public ActivityPushTipsState findValueByNumber(int number) { return getDescriptor().getValues().get(ordinal());
return ActivityPushTipsState.forNumber(number); }
}
}; public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
return getDescriptor();
public final com.google.protobuf.Descriptors.EnumValueDescriptor }
getValueDescriptor() {
if (this == UNRECOGNIZED) { public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
throw new java.lang.IllegalStateException( return emu.grasscutter.net.proto.ActivityPushTipsStateOuterClass.getDescriptor()
"Can't get the descriptor of an unrecognized enum value."); .getEnumTypes()
} .get(0);
return getDescriptor().getValues().get(ordinal()); }
}
public final com.google.protobuf.Descriptors.EnumDescriptor private static final ActivityPushTipsState[] VALUES = values();
getDescriptorForType() {
return getDescriptor(); public static ActivityPushTipsState valueOf(
} com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
public static final com.google.protobuf.Descriptors.EnumDescriptor if (desc.getType() != getDescriptor()) {
getDescriptor() { throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
return emu.grasscutter.net.proto.ActivityPushTipsStateOuterClass.getDescriptor().getEnumTypes().get(0); }
} if (desc.getIndex() == -1) {
return UNRECOGNIZED;
private static final ActivityPushTipsState[] VALUES = values(); }
return VALUES[desc.getIndex()];
public static ActivityPushTipsState valueOf( }
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) { private final int value;
throw new java.lang.IllegalArgumentException(
"EnumValueDescriptor is not for this type."); private ActivityPushTipsState(int value) {
} this.value = value;
if (desc.getIndex() == -1) { }
return UNRECOGNIZED;
} // @@protoc_insertion_point(enum_scope:ActivityPushTipsState)
return VALUES[desc.getIndex()]; }
}
public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
private final int value; return descriptor;
}
private ActivityPushTipsState(int value) {
this.value = value; private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
}
static {
// @@protoc_insertion_point(enum_scope:ActivityPushTipsState) java.lang.String[] descriptorData = {
} "\n\033ActivityPushTipsState.proto*\201\001\n\025Activi"
+ "tyPushTipsState\022!\n\035ACTIVITY_PUSH_TIPS_ST"
+ "ATE_NONE\020\000\022\"\n\036ACTIVITY_PUSH_TIPS_STATE_S"
public static com.google.protobuf.Descriptors.FileDescriptor + "TART\020\001\022!\n\035ACTIVITY_PUSH_TIPS_STATE_READ\020"
getDescriptor() { + "\002B!\n\031emu.grasscutter.net.protoZ\004/genb\006pr"
return descriptor; + "oto3"
} };
private static com.google.protobuf.Descriptors.FileDescriptor descriptor =
descriptor; com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
static { descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] {});
java.lang.String[] descriptorData = { }
"\n\033ActivityPushTipsState.proto*\201\001\n\025Activi" +
"tyPushTipsState\022!\n\035ACTIVITY_PUSH_TIPS_ST" + // @@protoc_insertion_point(outer_class_scope)
"ATE_NONE\020\000\022\"\n\036ACTIVITY_PUSH_TIPS_STATE_S" + }
"TART\020\001\022!\n\035ACTIVITY_PUSH_TIPS_STATE_READ\020" +
"\002B\033\n\031emu.grasscutter.net.protob\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
});
}
// @@protoc_insertion_point(outer_class_scope)
}

View File

@ -4,167 +4,152 @@
package emu.grasscutter.net.proto; package emu.grasscutter.net.proto;
public final class AsterLittleStageStateOuterClass { public final class AsterLittleStageStateOuterClass {
private AsterLittleStageStateOuterClass() {} private AsterLittleStageStateOuterClass() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistryLite registry) {
}
public static void registerAllExtensions( public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}
com.google.protobuf.ExtensionRegistry registry) {
registerAllExtensions(
(com.google.protobuf.ExtensionRegistryLite) registry);
}
/**
* <pre>
* Name: JFEDOFPBNLC
* </pre>
*
* Protobuf enum {@code AsterLittleStageState}
*/
public enum AsterLittleStageState
implements com.google.protobuf.ProtocolMessageEnum {
/**
* <code>ASTER_LITTLE_STAGE_NONE = 0;</code>
*/
ASTER_LITTLE_STAGE_NONE(0),
/**
* <code>ASTER_LITTLE_STAGE_UNSTARTED = 1;</code>
*/
ASTER_LITTLE_STAGE_UNSTARTED(1),
/**
* <code>ASTER_LITTLE_STAGE_STARTED = 2;</code>
*/
ASTER_LITTLE_STAGE_STARTED(2),
/**
* <code>ASTER_LITTLE_STAGE_FINISHED = 3;</code>
*/
ASTER_LITTLE_STAGE_FINISHED(3),
UNRECOGNIZED(-1),
;
/** public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
* <code>ASTER_LITTLE_STAGE_NONE = 0;</code> registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
*/
public static final int ASTER_LITTLE_STAGE_NONE_VALUE = 0;
/**
* <code>ASTER_LITTLE_STAGE_UNSTARTED = 1;</code>
*/
public static final int ASTER_LITTLE_STAGE_UNSTARTED_VALUE = 1;
/**
* <code>ASTER_LITTLE_STAGE_STARTED = 2;</code>
*/
public static final int ASTER_LITTLE_STAGE_STARTED_VALUE = 2;
/**
* <code>ASTER_LITTLE_STAGE_FINISHED = 3;</code>
*/
public static final int ASTER_LITTLE_STAGE_FINISHED_VALUE = 3;
public final int getNumber() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalArgumentException(
"Can't get the number of an unknown enum value.");
}
return value;
} }
/** /**
* @param value The numeric wire value of the corresponding enum entry. *
* @return The enum associated with the given numeric wire value. *
* @deprecated Use {@link #forNumber(int)} instead. * <pre>
* Name: JFEDOFPBNLC
* </pre>
*
* Protobuf enum {@code AsterLittleStageState}
*/ */
@java.lang.Deprecated public enum AsterLittleStageState implements com.google.protobuf.ProtocolMessageEnum {
public static AsterLittleStageState valueOf(int value) { /** <code>ASTER_LITTLE_STAGE_NONE = 0;</code> */
return forNumber(value); ASTER_LITTLE_STAGE_NONE(0),
} /** <code>ASTER_LITTLE_STAGE_UNSTARTED = 1;</code> */
ASTER_LITTLE_STAGE_UNSTARTED(1),
/** <code>ASTER_LITTLE_STAGE_STARTED = 2;</code> */
ASTER_LITTLE_STAGE_STARTED(2),
/** <code>ASTER_LITTLE_STAGE_FINISHED = 3;</code> */
ASTER_LITTLE_STAGE_FINISHED(3),
UNRECOGNIZED(-1),
;
/** /** <code>ASTER_LITTLE_STAGE_NONE = 0;</code> */
* @param value The numeric wire value of the corresponding enum entry. public static final int ASTER_LITTLE_STAGE_NONE_VALUE = 0;
* @return The enum associated with the given numeric wire value. /** <code>ASTER_LITTLE_STAGE_UNSTARTED = 1;</code> */
*/ public static final int ASTER_LITTLE_STAGE_UNSTARTED_VALUE = 1;
public static AsterLittleStageState forNumber(int value) { /** <code>ASTER_LITTLE_STAGE_STARTED = 2;</code> */
switch (value) { public static final int ASTER_LITTLE_STAGE_STARTED_VALUE = 2;
case 0: return ASTER_LITTLE_STAGE_NONE; /** <code>ASTER_LITTLE_STAGE_FINISHED = 3;</code> */
case 1: return ASTER_LITTLE_STAGE_UNSTARTED; public static final int ASTER_LITTLE_STAGE_FINISHED_VALUE = 3;
case 2: return ASTER_LITTLE_STAGE_STARTED;
case 3: return ASTER_LITTLE_STAGE_FINISHED;
default: return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap<AsterLittleStageState> public final int getNumber() {
internalGetValueMap() { if (this == UNRECOGNIZED) {
return internalValueMap; throw new java.lang.IllegalArgumentException(
} "Can't get the number of an unknown enum value.");
private static final com.google.protobuf.Internal.EnumLiteMap<
AsterLittleStageState> internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap<AsterLittleStageState>() {
public AsterLittleStageState findValueByNumber(int number) {
return AsterLittleStageState.forNumber(number);
} }
}; return value;
}
public final com.google.protobuf.Descriptors.EnumValueDescriptor /**
getValueDescriptor() { * @param value The numeric wire value of the corresponding enum entry.
if (this == UNRECOGNIZED) { * @return The enum associated with the given numeric wire value.
throw new java.lang.IllegalStateException( * @deprecated Use {@link #forNumber(int)} instead.
"Can't get the descriptor of an unrecognized enum value."); */
} @java.lang.Deprecated
return getDescriptor().getValues().get(ordinal()); public static AsterLittleStageState valueOf(int value) {
} return forNumber(value);
public final com.google.protobuf.Descriptors.EnumDescriptor }
getDescriptorForType() {
return getDescriptor(); /**
} * @param value The numeric wire value of the corresponding enum entry.
public static final com.google.protobuf.Descriptors.EnumDescriptor * @return The enum associated with the given numeric wire value.
getDescriptor() { */
return emu.grasscutter.net.proto.AsterLittleStageStateOuterClass.getDescriptor().getEnumTypes().get(0); public static AsterLittleStageState forNumber(int value) {
switch (value) {
case 0:
return ASTER_LITTLE_STAGE_NONE;
case 1:
return ASTER_LITTLE_STAGE_UNSTARTED;
case 2:
return ASTER_LITTLE_STAGE_STARTED;
case 3:
return ASTER_LITTLE_STAGE_FINISHED;
default:
return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap<AsterLittleStageState>
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<AsterLittleStageState>
internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap<AsterLittleStageState>() {
public AsterLittleStageState findValueByNumber(int number) {
return AsterLittleStageState.forNumber(number);
}
};
public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalStateException(
"Can't get the descriptor of an unrecognized enum value.");
}
return getDescriptor().getValues().get(ordinal());
}
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
return getDescriptor();
}
public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
return emu.grasscutter.net.proto.AsterLittleStageStateOuterClass.getDescriptor()
.getEnumTypes()
.get(0);
}
private static final AsterLittleStageState[] VALUES = values();
public static AsterLittleStageState valueOf(
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) {
throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
}
if (desc.getIndex() == -1) {
return UNRECOGNIZED;
}
return VALUES[desc.getIndex()];
}
private final int value;
private AsterLittleStageState(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:AsterLittleStageState)
} }
private static final AsterLittleStageState[] VALUES = values(); public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
return descriptor;
public static AsterLittleStageState valueOf(
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) {
throw new java.lang.IllegalArgumentException(
"EnumValueDescriptor is not for this type.");
}
if (desc.getIndex() == -1) {
return UNRECOGNIZED;
}
return VALUES[desc.getIndex()];
} }
private final int value; private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
private AsterLittleStageState(int value) { static {
this.value = value; java.lang.String[] descriptorData = {
"\n\033AsterLittleStageState.proto*\227\001\n\025AsterL"
+ "ittleStageState\022\033\n\027ASTER_LITTLE_STAGE_NO"
+ "NE\020\000\022 \n\034ASTER_LITTLE_STAGE_UNSTARTED\020\001\022\036"
+ "\n\032ASTER_LITTLE_STAGE_STARTED\020\002\022\037\n\033ASTER_"
+ "LITTLE_STAGE_FINISHED\020\003B!\n\031emu.grasscutt"
+ "er.net.protoZ\004/genb\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] {});
} }
// @@protoc_insertion_point(enum_scope:AsterLittleStageState) // @@protoc_insertion_point(outer_class_scope)
}
public static com.google.protobuf.Descriptors.FileDescriptor
getDescriptor() {
return descriptor;
}
private static com.google.protobuf.Descriptors.FileDescriptor
descriptor;
static {
java.lang.String[] descriptorData = {
"\n\033AsterLittleStageState.proto*\227\001\n\025AsterL" +
"ittleStageState\022\033\n\027ASTER_LITTLE_STAGE_NO" +
"NE\020\000\022 \n\034ASTER_LITTLE_STAGE_UNSTARTED\020\001\022\036" +
"\n\032ASTER_LITTLE_STAGE_STARTED\020\002\022\037\n\033ASTER_" +
"LITTLE_STAGE_FINISHED\020\003B\033\n\031emu.grasscutt" +
"er.net.protob\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
});
}
// @@protoc_insertion_point(outer_class_scope)
} }

Some files were not shown because too many files have changed in this diff Show More