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
*.json text=lf
*.md text=lf
*.properties text=lf
*.py text=lf
*.sh text=lf
* text=auto

View File

@ -7,6 +7,8 @@ on:
branches:
- "stable"
- "development"
- "unstable"
- "unstable-quests"
pull_request:
paths:
- "**.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
.DS_Store
.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 Copyright 2015 the original author or authors.
@rem
@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 obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@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 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
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.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
@rem
@rem Copyright 2015 the original author or authors.
@rem
@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 obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@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 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
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.
set DEFAULT_JVM_OPTS="-Xmx4G" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

View File

@ -1,199 +1,175 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: AbilityScalarType.proto
package emu.grasscutter.net.proto;
public final class AbilityScalarTypeOuterClass {
private AbilityScalarTypeOuterClass() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistryLite registry) {
}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistry registry) {
registerAllExtensions(
(com.google.protobuf.ExtensionRegistryLite) registry);
}
/**
* <pre>
* Name: OOCPHEKKCJH
* </pre>
*
* Protobuf enum {@code AbilityScalarType}
*/
public enum AbilityScalarType
implements com.google.protobuf.ProtocolMessageEnum {
/**
* <code>ABILITY_SCALAR_TYPE_UNKNOW = 0;</code>
*/
ABILITY_SCALAR_TYPE_UNKNOW(0),
/**
* <code>ABILITY_SCALAR_TYPE_FLOAT = 1;</code>
*/
ABILITY_SCALAR_TYPE_FLOAT(1),
/**
* <code>ABILITY_SCALAR_TYPE_INT = 2;</code>
*/
ABILITY_SCALAR_TYPE_INT(2),
/**
* <code>ABILITY_SCALAR_TYPE_BOOL = 3;</code>
*/
ABILITY_SCALAR_TYPE_BOOL(3),
/**
* <code>ABILITY_SCALAR_TYPE_TRIGGER = 4;</code>
*/
ABILITY_SCALAR_TYPE_TRIGGER(4),
/**
* <code>ABILITY_SCALAR_TYPE_STRING = 5;</code>
*/
ABILITY_SCALAR_TYPE_STRING(5),
/**
* <code>ABILITY_SCALAR_TYPE_UINT = 6;</code>
*/
ABILITY_SCALAR_TYPE_UINT(6),
UNRECOGNIZED(-1),
;
/**
* <code>ABILITY_SCALAR_TYPE_UNKNOW = 0;</code>
*/
public static final int ABILITY_SCALAR_TYPE_UNKNOW_VALUE = 0;
/**
* <code>ABILITY_SCALAR_TYPE_FLOAT = 1;</code>
*/
public static final int ABILITY_SCALAR_TYPE_FLOAT_VALUE = 1;
/**
* <code>ABILITY_SCALAR_TYPE_INT = 2;</code>
*/
public static final int ABILITY_SCALAR_TYPE_INT_VALUE = 2;
/**
* <code>ABILITY_SCALAR_TYPE_BOOL = 3;</code>
*/
public static final int ABILITY_SCALAR_TYPE_BOOL_VALUE = 3;
/**
* <code>ABILITY_SCALAR_TYPE_TRIGGER = 4;</code>
*/
public static final int ABILITY_SCALAR_TYPE_TRIGGER_VALUE = 4;
/**
* <code>ABILITY_SCALAR_TYPE_STRING = 5;</code>
*/
public static final int ABILITY_SCALAR_TYPE_STRING_VALUE = 5;
/**
* <code>ABILITY_SCALAR_TYPE_UINT = 6;</code>
*/
public static final int ABILITY_SCALAR_TYPE_UINT_VALUE = 6;
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.
*/
@java.lang.Deprecated
public static AbilityScalarType valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static AbilityScalarType forNumber(int value) {
switch (value) {
case 0: return ABILITY_SCALAR_TYPE_UNKNOW;
case 1: return ABILITY_SCALAR_TYPE_FLOAT;
case 2: return ABILITY_SCALAR_TYPE_INT;
case 3: return ABILITY_SCALAR_TYPE_BOOL;
case 4: return ABILITY_SCALAR_TYPE_TRIGGER;
case 5: return ABILITY_SCALAR_TYPE_STRING;
case 6: return ABILITY_SCALAR_TYPE_UINT;
default: return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap<AbilityScalarType>
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<
AbilityScalarType> internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap<AbilityScalarType>() {
public AbilityScalarType findValueByNumber(int number) {
return AbilityScalarType.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.AbilityScalarTypeOuterClass.getDescriptor().getEnumTypes().get(0);
}
private static final AbilityScalarType[] VALUES = values();
public static AbilityScalarType 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 AbilityScalarType(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:AbilityScalarType)
}
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)
}
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: AbilityScalarType.proto
package emu.grasscutter.net.proto;
public final class AbilityScalarTypeOuterClass {
private AbilityScalarTypeOuterClass() {}
public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}
public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
}
/**
*
*
* <pre>
* Name: OOCPHEKKCJH
* </pre>
*
* Protobuf enum {@code AbilityScalarType}
*/
public enum AbilityScalarType implements com.google.protobuf.ProtocolMessageEnum {
/** <code>ABILITY_SCALAR_TYPE_UNKNOW = 0;</code> */
ABILITY_SCALAR_TYPE_UNKNOW(0),
/** <code>ABILITY_SCALAR_TYPE_FLOAT = 1;</code> */
ABILITY_SCALAR_TYPE_FLOAT(1),
/** <code>ABILITY_SCALAR_TYPE_INT = 2;</code> */
ABILITY_SCALAR_TYPE_INT(2),
/** <code>ABILITY_SCALAR_TYPE_BOOL = 3;</code> */
ABILITY_SCALAR_TYPE_BOOL(3),
/** <code>ABILITY_SCALAR_TYPE_TRIGGER = 4;</code> */
ABILITY_SCALAR_TYPE_TRIGGER(4),
/** <code>ABILITY_SCALAR_TYPE_STRING = 5;</code> */
ABILITY_SCALAR_TYPE_STRING(5),
/** <code>ABILITY_SCALAR_TYPE_UINT = 6;</code> */
ABILITY_SCALAR_TYPE_UINT(6),
UNRECOGNIZED(-1),
;
/** <code>ABILITY_SCALAR_TYPE_UNKNOW = 0;</code> */
public static final int ABILITY_SCALAR_TYPE_UNKNOW_VALUE = 0;
/** <code>ABILITY_SCALAR_TYPE_FLOAT = 1;</code> */
public static final int ABILITY_SCALAR_TYPE_FLOAT_VALUE = 1;
/** <code>ABILITY_SCALAR_TYPE_INT = 2;</code> */
public static final int ABILITY_SCALAR_TYPE_INT_VALUE = 2;
/** <code>ABILITY_SCALAR_TYPE_BOOL = 3;</code> */
public static final int ABILITY_SCALAR_TYPE_BOOL_VALUE = 3;
/** <code>ABILITY_SCALAR_TYPE_TRIGGER = 4;</code> */
public static final int ABILITY_SCALAR_TYPE_TRIGGER_VALUE = 4;
/** <code>ABILITY_SCALAR_TYPE_STRING = 5;</code> */
public static final int ABILITY_SCALAR_TYPE_STRING_VALUE = 5;
/** <code>ABILITY_SCALAR_TYPE_UINT = 6;</code> */
public static final int ABILITY_SCALAR_TYPE_UINT_VALUE = 6;
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.
*/
@java.lang.Deprecated
public static AbilityScalarType valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static AbilityScalarType forNumber(int value) {
switch (value) {
case 0:
return ABILITY_SCALAR_TYPE_UNKNOW;
case 1:
return ABILITY_SCALAR_TYPE_FLOAT;
case 2:
return ABILITY_SCALAR_TYPE_INT;
case 3:
return ABILITY_SCALAR_TYPE_BOOL;
case 4:
return ABILITY_SCALAR_TYPE_TRIGGER;
case 5:
return ABILITY_SCALAR_TYPE_STRING;
case 6:
return ABILITY_SCALAR_TYPE_UINT;
default:
return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap<AbilityScalarType>
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<AbilityScalarType>
internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap<AbilityScalarType>() {
public AbilityScalarType findValueByNumber(int number) {
return AbilityScalarType.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.AbilityScalarTypeOuterClass.getDescriptor()
.getEnumTypes()
.get(0);
}
private static final AbilityScalarType[] VALUES = values();
public static AbilityScalarType 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 AbilityScalarType(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:AbilityScalarType)
}
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!\n\031emu.grasscut"
+ "ter.net.protoZ\004/genb\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!
// source: ActivityPushTipsState.proto
package emu.grasscutter.net.proto;
public final class ActivityPushTipsStateOuterClass {
private ActivityPushTipsStateOuterClass() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistryLite registry) {
}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistry registry) {
registerAllExtensions(
(com.google.protobuf.ExtensionRegistryLite) registry);
}
/**
* <pre>
* Name: FHPBGAOJEJH
* </pre>
*
* Protobuf enum {@code ActivityPushTipsState}
*/
public enum ActivityPushTipsState
implements com.google.protobuf.ProtocolMessageEnum {
/**
* <code>ACTIVITY_PUSH_TIPS_STATE_NONE = 0;</code>
*/
ACTIVITY_PUSH_TIPS_STATE_NONE(0),
/**
* <code>ACTIVITY_PUSH_TIPS_STATE_START = 1;</code>
*/
ACTIVITY_PUSH_TIPS_STATE_START(1),
/**
* <code>ACTIVITY_PUSH_TIPS_STATE_READ = 2;</code>
*/
ACTIVITY_PUSH_TIPS_STATE_READ(2),
UNRECOGNIZED(-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_START = 1;</code>
*/
public static final int ACTIVITY_PUSH_TIPS_STATE_START_VALUE = 1;
/**
* <code>ACTIVITY_PUSH_TIPS_STATE_READ = 2;</code>
*/
public static final int ACTIVITY_PUSH_TIPS_STATE_READ_VALUE = 2;
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.
*/
@java.lang.Deprecated
public static ActivityPushTipsState valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static ActivityPushTipsState forNumber(int value) {
switch (value) {
case 0: return ACTIVITY_PUSH_TIPS_STATE_NONE;
case 1: return ACTIVITY_PUSH_TIPS_STATE_START;
case 2: return ACTIVITY_PUSH_TIPS_STATE_READ;
default: return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap<ActivityPushTipsState>
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<
ActivityPushTipsState> internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap<ActivityPushTipsState>() {
public ActivityPushTipsState findValueByNumber(int number) {
return ActivityPushTipsState.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.ActivityPushTipsStateOuterClass.getDescriptor().getEnumTypes().get(0);
}
private static final ActivityPushTipsState[] VALUES = values();
public static ActivityPushTipsState 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 ActivityPushTipsState(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:ActivityPushTipsState)
}
public static com.google.protobuf.Descriptors.FileDescriptor
getDescriptor() {
return descriptor;
}
private static com.google.protobuf.Descriptors.FileDescriptor
descriptor;
static {
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" +
"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)
}
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: ActivityPushTipsState.proto
package emu.grasscutter.net.proto;
public final class ActivityPushTipsStateOuterClass {
private ActivityPushTipsStateOuterClass() {}
public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}
public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
}
/**
*
*
* <pre>
* Name: FHPBGAOJEJH
* </pre>
*
* Protobuf enum {@code ActivityPushTipsState}
*/
public enum ActivityPushTipsState implements com.google.protobuf.ProtocolMessageEnum {
/** <code>ACTIVITY_PUSH_TIPS_STATE_NONE = 0;</code> */
ACTIVITY_PUSH_TIPS_STATE_NONE(0),
/** <code>ACTIVITY_PUSH_TIPS_STATE_START = 1;</code> */
ACTIVITY_PUSH_TIPS_STATE_START(1),
/** <code>ACTIVITY_PUSH_TIPS_STATE_READ = 2;</code> */
ACTIVITY_PUSH_TIPS_STATE_READ(2),
UNRECOGNIZED(-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_START = 1;</code> */
public static final int ACTIVITY_PUSH_TIPS_STATE_START_VALUE = 1;
/** <code>ACTIVITY_PUSH_TIPS_STATE_READ = 2;</code> */
public static final int ACTIVITY_PUSH_TIPS_STATE_READ_VALUE = 2;
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.
*/
@java.lang.Deprecated
public static ActivityPushTipsState valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static ActivityPushTipsState forNumber(int value) {
switch (value) {
case 0:
return ACTIVITY_PUSH_TIPS_STATE_NONE;
case 1:
return ACTIVITY_PUSH_TIPS_STATE_START;
case 2:
return ACTIVITY_PUSH_TIPS_STATE_READ;
default:
return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap<ActivityPushTipsState>
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<ActivityPushTipsState>
internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap<ActivityPushTipsState>() {
public ActivityPushTipsState findValueByNumber(int number) {
return ActivityPushTipsState.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.ActivityPushTipsStateOuterClass.getDescriptor()
.getEnumTypes()
.get(0);
}
private static final ActivityPushTipsState[] VALUES = values();
public static ActivityPushTipsState 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 ActivityPushTipsState(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:ActivityPushTipsState)
}
public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
return descriptor;
}
private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
static {
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"
+ "TART\020\001\022!\n\035ACTIVITY_PUSH_TIPS_STATE_READ\020"
+ "\002B!\n\031emu.grasscutter.net.protoZ\004/genb\006pr"
+ "oto3"
};
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;
public final class AsterLittleStageStateOuterClass {
private AsterLittleStageStateOuterClass() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistryLite registry) {
}
private AsterLittleStageStateOuterClass() {}
public static void registerAllExtensions(
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.ExtensionRegistryLite registry) {}
/**
* <code>ASTER_LITTLE_STAGE_NONE = 0;</code>
*/
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;
public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
}
/**
* @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 static AsterLittleStageState valueOf(int value) {
return forNumber(value);
}
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),
;
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
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;
}
}
/** <code>ASTER_LITTLE_STAGE_NONE = 0;</code> */
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 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 int getNumber() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalArgumentException(
"Can't get the number of an unknown enum value.");
}
};
return value;
}
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);
/**
* @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.
*/
@java.lang.Deprecated
public static AsterLittleStageState valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
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 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()];
public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
return descriptor;
}
private final int value;
private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
private AsterLittleStageState(int value) {
this.value = value;
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!\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)
}
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)
// @@protoc_insertion_point(outer_class_scope)
}

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