The response has been limited to 50k tokens of the smallest files in the repo. You can remove this limitation by removing the max tokens filter.
├── .editorconfig
├── .gitattributes
├── .github
    ├── empty.json
    └── workflows
    │   ├── build-test-webeditor.yml
    │   ├── check.yml
    │   ├── deploy-webeditor.yml
    │   ├── deploy.yml
    │   ├── markdownlint.yml
    │   ├── release-code-checker.yml
    │   ├── release-code-merger.yml
    │   ├── release-repo-cleaner.yml
    │   ├── release.yml
    │   └── update-star-distribution.yml
├── .gitignore
├── .gitmodules
├── .markdownlint.yaml
├── LICENSE
├── Pitfalls.md
├── README.md
├── build.gradle.kts
├── buildSrc
    ├── build.gradle.kts
    ├── settings.gradle.kts
    └── src
    │   └── main
    │       ├── java
    │           └── com
    │           │   └── bytelegend
    │           │       └── buildsrc
    │           │           └── json2java
    │           │               ├── Json2JavaConversion.java
    │           │               ├── Json2JavaPlugin.java
    │           │               └── Json2JavaTask.java
    │       └── kotlin
    │           ├── com
    │               └── bytelegend
    │               │   └── buildsupport
    │               │       ├── BuildGameResourcesPlugin.kt
    │               │       ├── DeploymentPlugin.kt
    │               │       ├── MapHierarchyReader.kt
    │               │       ├── OpenSourceLibrary.kt
    │               │       ├── SetupBuildVersionPlugin.kt
    │               │       ├── ShadowReleasePlugin.kt
    │               │       ├── UpdateVersionsJsonTask.kt
    │               │       └── Utils.kt
    │           ├── configure-kotlin-js.gradle.kts
    │           ├── configure-kotlin.gradle.kts
    │           ├── configure-ktlint.gradle.kts
    │           ├── dependencies.gradle.kts
    │           └── generate-karma-config.gradle.kts
├── client
    ├── client.gradle.kts
    ├── common
    │   ├── common.gradle.kts
    │   └── src
    │   │   ├── main
    │   │       └── kotlin
    │   │       │   └── com
    │   │       │       └── bytelegend
    │   │       │           └── app
    │   │       │               └── client
    │   │       │                   ├── misc
    │   │       │                       ├── AStar.kt
    │   │       │                       ├── GitHubRegex.kt
    │   │       │                       └── Utils.kt
    │   │       │                   └── ui
    │   │       │                       └── bootstrap
    │   │       │                           ├── BootstrapAccordion.kt
    │   │       │                           ├── BootstrapAccordionComponents.kt
    │   │       │                           ├── BootstrapAlert.kt
    │   │       │                           ├── BootstrapAlertLink.kt
    │   │       │                           ├── BootstrapBadge.kt
    │   │       │                           ├── BootstrapButton.kt
    │   │       │                           ├── BootstrapButtonGroup.kt
    │   │       │                           ├── BootstrapButtonProps.kt
    │   │       │                           ├── BootstrapButtonToolbar.kt
    │   │       │                           ├── BootstrapCard.kt
    │   │       │                           ├── BootstrapCardComponents.kt
    │   │       │                           ├── BootstrapCol.kt
    │   │       │                           ├── BootstrapContainer.kt
    │   │       │                           ├── BootstrapDropdown.kt
    │   │       │                           ├── BootstrapDropdownButton.kt
    │   │       │                           ├── BootstrapDropdownMenuItems.kt
    │   │       │                           ├── BootstrapForm.kt
    │   │       │                           ├── BootstrapFormControl.kt
    │   │       │                           ├── BootstrapForms.kt
    │   │       │                           ├── BootstrapInputGroup.kt
    │   │       │                           ├── BootstrapInputGroups.kt
    │   │       │                           ├── BootstrapListGroup.kt
    │   │       │                           ├── BootstrapListGroupItem.kt
    │   │       │                           ├── BootstrapModal.kt
    │   │       │                           ├── BootstrapModalBody.kt
    │   │       │                           ├── BootstrapModalFooter.kt
    │   │       │                           ├── BootstrapModalHeader.kt
    │   │       │                           ├── BootstrapModalTitle.kt
    │   │       │                           ├── BootstrapNav.kt
    │   │       │                           ├── BootstrapNavItems.kt
    │   │       │                           ├── BootstrapOverlay.kt
    │   │       │                           ├── BootstrapOverlayTrigger.kt
    │   │       │                           ├── BootstrapPagination.kt
    │   │       │                           ├── BootstrapPaginationComponents.kt
    │   │       │                           ├── BootstrapPaginationItem.kt
    │   │       │                           ├── BootstrapProgressBar.kt
    │   │       │                           ├── BootstrapRow.kt
    │   │       │                           ├── BootstrapSpinner.kt
    │   │       │                           ├── BootstrapSplitButton.kt
    │   │       │                           ├── BootstrapSwitchButton.kt
    │   │       │                           ├── BootstrapTab.kt
    │   │       │                           ├── BootstrapTabContainer.kt
    │   │       │                           ├── BootstrapTabContent.kt
    │   │       │                           ├── BootstrapTabPane.kt
    │   │       │                           ├── BootstrapTable.kt
    │   │       │                           ├── BootstrapTabs.kt
    │   │       │                           ├── BootstrapToast.kt
    │   │       │                           ├── BootstrapToastBody.kt
    │   │       │                           ├── BootstrapToastHeader.kt
    │   │       │                           ├── BootstrapToggleButton.kt
    │   │       │                           ├── BootstrapToggleButtonGroup.kt
    │   │       │                           ├── BootstrapTooltip.kt
    │   │       │                           └── ExtraClassAwareProps.kt
    │   │   └── test
    │   │       └── kotlin
    │   │           ├── AStartBrowserTest.kt
    │   │           ├── EvictingListTest.kt
    │   │           └── GitHubRegexBrowserTest.kt
    ├── game-AlgorithmIsland
    │   ├── game-AlgorithmIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── AlgorithmIsland.kt
    ├── game-DataStructureIsland
    │   ├── game-DataStructureIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── DataStructureIsland.kt
    ├── game-DatabaseIsland
    │   ├── game-DatabaseIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── DatabaseIsland.kt
    ├── game-GitIsland
    │   ├── game-GitIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── GitIsland.kt
    ├── game-GopherIsland
    │   ├── game-GopherIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── GradleIsland.kt
    ├── game-GradleIsland
    │   ├── game-GradleIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── GradleIsland.kt
    ├── game-JavaIsland
    │   ├── game-JavaIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           ├── JavaIsland.kt
    │   │           └── JavaIslandAnimations.kt
    ├── game-JavaIslandCommentDungeon
    │   ├── game-JavaIslandCommentDungeon.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── JavaIslandCommentDungeon.kt
    ├── game-JavaIslandConcurrencyDungeon
    │   ├── game-JavaIslandConcurrencyDungeon.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── JavaIslandConcurrencyDungeon.kt
    ├── game-JavaIslandDebuggerDungeon
    │   ├── game-JavaIslandDebuggerDungeon.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── JavaIslandDebuggerDungeon.kt
    ├── game-JavaIslandMavenDungeon
    │   ├── game-JavaIslandMavenDungeon.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── JavaIslandMavenDungeon.kt
    ├── game-JavaIslandNewbieVillagePub
    │   ├── game-JavaIslandNewbieVillagePub.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── JavaIslandNewbieVillagePub.kt
    ├── game-JavaIslandSeniorJavaCastle
    │   ├── game-JavaIslandSeniorJavaCastle.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── JavaIslandSeniorJavaCastle.kt
    ├── game-JavaIslandSpringDungeon
    │   ├── game-JavaIslandSpringDungeon.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── JavaIslandSpringDungeon.kt
    ├── game-KotlinIsland
    │   ├── game-GradleIsland
    │   │   ├── game-GradleIsland.gradle.kts
    │   │   └── src
    │   │   │   └── main
    │   │   │       └── kotlin
    │   │   │           └── GradleIsland.kt
    │   ├── game-KotlinIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── KotlinIsland.kt
    ├── game-PythonIsland
    │   ├── game-PythonIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── GradleIsland.kt
    ├── game-ShellIsland
    │   ├── game-ShellIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── ShellIsland.kt
    ├── game-WebIsland
    │   ├── game-WebIsland.gradle.kts
    │   └── src
    │   │   └── main
    │   │       └── kotlin
    │   │           └── WebIsland.kt
    ├── game-api
    │   ├── game-api.gradle.kts
    │   └── src
    │   │   ├── main
    │   │       └── kotlin
    │   │       │   └── com
    │   │       │       └── bytelegend
    │   │       │           └── app
    │   │       │               └── client
    │   │       │                   └── api
    │   │       │                       ├── Animation.kt
    │   │       │                       ├── Character.kt
    │   │       │                       ├── EventBus.kt
    │   │       │                       ├── Events.kt
    │   │       │                       ├── HasBouncingTitle.kt
    │   │       │                       ├── Resource.kt
    │   │       │                       ├── Scripts.kt
    │   │       │                       ├── Sprite.kt
    │   │       │                       ├── Timestamp.kt
    │   │       │                       ├── api.kt
    │   │       │                       └── dsl
    │   │       │                           └── dsl.kt
    │   │   └── test
    │   │       └── kotlin
    │   │           └── com
    │   │               └── bytelegend
    │   │                   └── app
    │   │                       └── client
    │   │                           └── api
    │   │                               └── FramePlayingAnimationTest.kt
    ├── game-page
    │   ├── game-page.gradle.kts
    │   ├── src
    │   │   ├── main
    │   │   │   └── kotlin
    │   │   │   │   └── com
    │   │   │   │       └── bytelegend
    │   │   │   │           └── client
    │   │   │   │               ├── app
    │   │   │   │                   ├── engine
    │   │   │   │                   │   ├── BrowserConsoleLogger.kt
    │   │   │   │                   │   ├── DefaultChallengeAnswersContainer.kt
    │   │   │   │                   │   ├── DefaultGameCanvasState.kt
    │   │   │   │                   │   ├── DefaultGameMission.kt
    │   │   │   │                   │   ├── DefaultGameObjectContainer.kt
    │   │   │   │                   │   ├── DefaultGameScene.kt
    │   │   │   │                   │   ├── DefaultGameSceneContainer.kt
    │   │   │   │                   │   ├── DefaultGameSceneMatrixElement.kt
    │   │   │   │                   │   ├── DefaultItemAchievementManager.kt
    │   │   │   │                   │   ├── DefaultResourceLoader.kt
    │   │   │   │                   │   ├── Events.kt
    │   │   │   │                   │   ├── Game.kt
    │   │   │   │                   │   ├── GameControl.kt
    │   │   │   │                   │   ├── GameIds.kt
    │   │   │   │                   │   ├── GlobalEventHandler.kt
    │   │   │   │                   │   ├── MainMapCanvasRenderer.kt
    │   │   │   │                   │   ├── MissionModalDataContainer.kt
    │   │   │   │                   │   ├── PlayerContainer.kt
    │   │   │   │                   │   ├── resource
    │   │   │   │                   │   │   ├── GameMapResource.kt
    │   │   │   │                   │   │   └── ResourceImpl.kt
    │   │   │   │                   │   └── util
    │   │   │   │                   │   │   └── LocaledTimeFormat.kt
    │   │   │   │                   ├── external
    │   │   │   │                   │   ├── Confetti.kt
    │   │   │   │                   │   ├── PrismCodeBlock.kt
    │   │   │   │                   │   └── TextareaAutosize.kt
    │   │   │   │                   ├── obj
    │   │   │   │                   │   ├── AbstractSprite.kt
    │   │   │   │                   │   ├── BouncingTitleObject.kt
    │   │   │   │                   │   ├── DefaultAnimationSprite.kt
    │   │   │   │                   │   ├── DefaultDynamicSprite.kt
    │   │   │   │                   │   ├── EmptySprite.kt
    │   │   │   │                   │   ├── GameCurveSprite.kt
    │   │   │   │                   │   ├── GameMapEntrance.kt
    │   │   │   │                   │   ├── GameTextSprite.kt
    │   │   │   │                   │   ├── MapTileSprite.kt
    │   │   │   │                   │   ├── RectangleOuterGlowEffect.kt
    │   │   │   │                   │   ├── Utils.kt
    │   │   │   │                   │   └── character
    │   │   │   │                   │   │   ├── AnimationSet.kt
    │   │   │   │                   │   │   ├── CharacterSprite.kt
    │   │   │   │                   │   │   ├── HeroCharacter.kt
    │   │   │   │                   │   │   ├── NPC.kt
    │   │   │   │                   │   │   └── PlayerSprite.kt
    │   │   │   │                   ├── page
    │   │   │   │                   │   ├── GamePage.kt
    │   │   │   │                   │   └── LoadingPage.kt
    │   │   │   │                   ├── script
    │   │   │   │                   │   ├── DefaultGameDirector.kt
    │   │   │   │                   │   └── effect
    │   │   │   │                   │   │   └── Effects.kt
    │   │   │   │                   ├── ui
    │   │   │   │                   │   ├── AbstractIncrementAnimatableWidget.kt
    │   │   │   │                   │   ├── AudioSwitchWidget.kt
    │   │   │   │                   │   ├── CoinCountWidget.kt
    │   │   │   │                   │   ├── CoinHistoryModal.kt
    │   │   │   │                   │   ├── DefaultBannerController.kt
    │   │   │   │                   │   ├── DefaultToastController.kt
    │   │   │   │                   │   ├── EChartsMinimap.kt
    │   │   │   │                   │   ├── FpsCounter.kt
    │   │   │   │                   │   ├── GameModal.kt
    │   │   │   │                   │   ├── GameScriptWidgetDisplayLayer.kt
    │   │   │   │                   │   ├── GameUIComponentInternal.kt
    │   │   │   │                   │   ├── HeroControlButton.kt
    │   │   │   │                   │   ├── HeroIndicatorWidget.kt
    │   │   │   │                   │   ├── HistoryModal.kt
    │   │   │   │                   │   ├── ICPServerLocationWidget.kt
    │   │   │   │                   │   ├── Layer.kt
    │   │   │   │                   │   ├── LayeredGameUIComponent.kt
    │   │   │   │                   │   ├── LivestreamIndicators.kt
    │   │   │   │                   │   ├── LocaleSelectionDropdown.kt
    │   │   │   │                   │   ├── MainMapCanvasLayer.kt
    │   │   │   │                   │   ├── MapCoordinateTitleWidget.kt
    │   │   │   │                   │   ├── MapNameWidget.kt
    │   │   │   │                   │   ├── MapSelectionDropdown.kt
    │   │   │   │                   │   ├── MiniMapCanvas.kt
    │   │   │   │                   │   ├── MissionItemButtons.kt
    │   │   │   │                   │   ├── OnlineCounter.kt
    │   │   │   │                   │   ├── PieMenu.kt
    │   │   │   │                   │   ├── PlayerNames.kt
    │   │   │   │                   │   ├── ProgressBar.kt
    │   │   │   │                   │   ├── ReputationCountWidget.kt
    │   │   │   │                   │   ├── RightSideBar.kt
    │   │   │   │                   │   ├── ScrollButtonsLayer.kt
    │   │   │   │                   │   ├── StarCountWidget.kt
    │   │   │   │                   │   ├── TileCursorWidget.kt
    │   │   │   │                   │   ├── UserAvatarWidget.kt
    │   │   │   │                   │   ├── UserMouseInteractionLayer.kt
    │   │   │   │                   │   ├── Utils.kt
    │   │   │   │                   │   ├── achievement
    │   │   │   │                   │   │   └── AchievementWidget.kt
    │   │   │   │                   │   ├── heronoticeboard
    │   │   │   │                   │   │   ├── AvatarTooltip.kt
    │   │   │   │                   │   │   └── JavaIslandHeroNoticeboard.kt
    │   │   │   │                   │   ├── invitationcode
    │   │   │   │                   │   │   └── InvitationCodeModal.kt
    │   │   │   │                   │   ├── item
    │   │   │   │                   │   │   ├── ItemOrAchievementModal.kt
    │   │   │   │                   │   │   └── ItemsWidget.kt
    │   │   │   │                   │   ├── menu
    │   │   │   │                   │   │   ├── AsyncLoadingTable.kt
    │   │   │   │                   │   │   ├── CreditsModal.kt
    │   │   │   │                   │   │   ├── GameMaterialTable.kt
    │   │   │   │                   │   │   ├── LeaderboardTable.kt
    │   │   │   │                   │   │   ├── MenuItem.kt
    │   │   │   │                   │   │   └── OpenSourceSoftwareTable.kt
    │   │   │   │                   │   ├── minimap
    │   │   │   │                   │   │   └── MinimapEChartsOptions.kt
    │   │   │   │                   │   ├── mission
    │   │   │   │                   │   │   ├── AbstractBouncingTitleWidget.kt
    │   │   │   │                   │   │   ├── AbstractWebEditorButton.kt
    │   │   │   │                   │   │   ├── AskForHelpButton.kt
    │   │   │   │                   │   │   ├── BouncingTitleWidget.kt
    │   │   │   │                   │   │   ├── BouncingTitles.kt
    │   │   │   │                   │   │   ├── DefaultPullRequestLogContainer.kt
    │   │   │   │                   │   │   ├── LiveLogStreamEffect.kt
    │   │   │   │                   │   │   ├── MissionModal.kt
    │   │   │   │                   │   │   ├── MissionTitle.kt
    │   │   │   │                   │   │   ├── ModalCloseButton.kt
    │   │   │   │                   │   │   ├── OpenTutorialsButton.kt
    │   │   │   │                   │   │   ├── PullRequestChallengeTab.kt
    │   │   │   │                   │   │   ├── PullRequestLogModal.kt
    │   │   │   │                   │   │   ├── QuestionChallengeTab.kt
    │   │   │   │                   │   │   ├── StarChallengeTab.kt
    │   │   │   │                   │   │   ├── SubmitAnswerButton.kt
    │   │   │   │                   │   │   ├── TitleStarCounter.kt
    │   │   │   │                   │   │   ├── WebEditor.kt
    │   │   │   │                   │   │   └── WebEditorButtonGroup.kt
    │   │   │   │                   │   ├── roadmap
    │   │   │   │                   │   │   └── RoadmapModal.kt
    │   │   │   │                   │   └── script
    │   │   │   │                   │   │   └── Widget.kt
    │   │   │   │                   └── web
    │   │   │   │                   │   ├── MissionModalHttpClient.kt
    │   │   │   │                   │   └── WebSocketClient.kt
    │   │   │   │               └── utils
    │   │   │   │                   ├── JSArrayBackedList.kt
    │   │   │   │                   ├── JSObjectBackedMap.kt
    │   │   │   │                   ├── JSObjectBackedStringSet.kt
    │   │   │   │                   └── JsonMappers.kt
    │   │   └── test
    │   │   │   └── kotlin
    │   │   │       └── com
    │   │   │           └── bytelegend
    │   │   │               └── client
    │   │   │                   └── utils
    │   │   │                       └── JsonMapperTest.kt
    │   └── webpack.config.d
    │   │   └── assert-fallback.js
    └── game-utils
    │   ├── game-utils.gradle.kts
    │   └── src
    │       └── main
    │           └── kotlin
    │               └── com
    │                   └── bytelegend
    │                       └── app
    │                           └── client
    │                               └── utils
    │                                   ├── DynamicSprites.kt
    │                                   └── GameScriptHelpers.kt
├── docs
    ├── en
    │   ├── CONTRIBUTING.md
    │   ├── create-new-game-map.md
    │   ├── game-code-contributor-guide.md
    │   ├── game-map-contributor-guide.md
    │   └── i18n.md
    ├── images
    │   ├── add-or-fix-i18n.png
    │   ├── add-tutorials-to-yaml-file.png
    │   ├── create-tutorials.png
    │   ├── index-page-en.png
    │   ├── index-page-zh.png
    │   ├── open-i18n-yaml.png
    │   ├── qq-group.png
    │   ├── run-local-development-server.png
    │   ├── same-name-folder-with-yaml-file.png
    │   ├── search-in-game-data.png
    │   └── switch-then-edit.png
    └── zh_hans
    │   ├── CONTRIBUTING.md
    │   ├── create-new-game-map.md
    │   ├── game-code-contributor-guide.md
    │   ├── game-map-contributor-guide.md
    │   ├── game-tutorials-contributor-guide.md
    │   └── i18n.md
├── gradle.properties
├── gradle
    ├── kotlin-project.gradle.kts
    └── wrapper
    │   ├── gradle-wrapper.jar
    │   └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── livestream-data.json
├── resources
    ├── README.md
    ├── cooked
    │   ├── audio
    │   │   ├── GoldSwordAudio.mp3
    │   │   ├── SwingWeapon.mp3
    │   │   ├── TeslaCoilExplosion.mp3
    │   │   ├── ThunderCurrentAudio.mp3
    │   │   ├── achievement.mp3
    │   │   ├── coin-loss.mp3
    │   │   ├── coin.mp3
    │   │   ├── disappear.mp3
    │   │   ├── forest.ogg
    │   │   ├── popup.mp3
    │   │   ├── starfly.mp3
    │   │   ├── tada.mp3
    │   │   └── wilhelm-scream.wav
    │   ├── css
    │   │   └── common.css
    │   ├── img
    │   │   ├── achievement
    │   │   │   ├── first-star-medal.png
    │   │   │   ├── git-amulet.png
    │   │   │   ├── gold-git-medal.png
    │   │   │   └── silver-git-medal.png
    │   │   ├── attribution
    │   │   │   └── google-translate.png
    │   │   ├── icon
    │   │   │   ├── favicon.ico
    │   │   │   └── server.png
    │   │   ├── item
    │   │   │   ├── coffee-icon.png
    │   │   │   ├── dagger.png
    │   │   │   ├── door-key.png
    │   │   │   ├── gold-sword.png
    │   │   │   ├── iron-sword.png
    │   │   │   ├── key.png
    │   │   │   └── silver-sword.png
    │   │   ├── logo
    │   │   │   └── logo.png
    │   │   └── ui
    │   │   │   ├── avatar-border.png
    │   │   │   ├── border.png
    │   │   │   ├── help.png
    │   │   │   ├── hero.png
    │   │   │   ├── item-btn-pressed.png
    │   │   │   ├── item-btn.png
    │   │   │   ├── login.png
    │   │   │   ├── menu-about.png
    │   │   │   ├── menu-credits.png
    │   │   │   ├── menu-github.png
    │   │   │   ├── menu-help.png
    │   │   │   ├── menu-notification.png
    │   │   │   ├── menu-ranking.png
    │   │   │   ├── menu-settings.png
    │   │   │   ├── minimap-border.png
    │   │   │   ├── minimap.png
    │   │   │   ├── speech-bubble.png
    │   │   │   ├── tutorial-locked.png
    │   │   │   ├── tutorial-open.png
    │   │   │   └── webeditor-button-bg.png
    │   ├── lib
    │   │   ├── astar
    │   │   │   └── astar.js
    │   │   ├── bootstrap
    │   │   │   └── 4.6.0
    │   │   │   │   ├── bootstrap.min.css
    │   │   │   │   └── bootstrap.min.css.map
    │   │   ├── echarts
    │   │   │   └── 5.1.2
    │   │   │   │   └── echarts.min.js
    │   │   ├── fireworks
    │   │   │   └── fireworks.js
    │   │   ├── gsap
    │   │   │   └── 3.6.0
    │   │   │   │   └── gsap.min.js
    │   │   ├── prism
    │   │   │   ├── prism.css
    │   │   │   └── prism.js
    │   │   └── starFly.js
    │   └── misc
    │   │   ├── achievement-metadata.json
    │   │   ├── item-metadata.json
    │   │   └── material.json
    └── raw
    │   ├── animation-jsons
    │       ├── GoldSwordAttack.json
    │       ├── IronSwordAttack.json
    │       ├── KillEvil.json
    │       ├── SilverSwordAttack.json
    │       ├── TeslaCoilDestroyed.json
    │       ├── ThunderCurrent.json
    │       └── e-shock.json
    │   ├── animations
    │       ├── GoldSwordAttack.png
    │       ├── IronSwordAttack.png
    │       ├── KillEvil.png
    │       ├── SilverSwordAttack.png
    │       ├── TeslaCoilDestroyed.png
    │       ├── ThunderCurrent.png
    │       └── e-shock.png
    │   ├── credits
    │       └── credits.txt
    │   ├── design
    │       ├── bytelegend-logo (1).psd
    │       ├── bytelegend-logo-ico.psd
    │       ├── bytelegend-logo-small.psd
    │       ├── bytelegend-logo.png
    │       ├── bytelegend-logo.psd
    │       ├── bytelegend-logo_128x128.png
    │       ├── bytelegend-logo_512x512.png
    │       ├── menu-github.psd
    │       ├── menu.psd
    │       ├── sea-animation.psd
    │       ├── sea_animation_32x32.psd
    │       ├── star.psd
    │       └── ui.psd
    │   ├── maps
    │       ├── AlgorithmIsland
    │       │   └── AlgorithmIsland.json
    │       ├── DataStructureIsland
    │       │   └── DataStructureIsland.json
    │       ├── DatabaseIsland
    │       │   └── DatabaseIsland.json
    │       ├── GitIsland
    │       │   └── GitIsland.json
    │       ├── GopherIsland
    │       │   └── GopherIsland.json
    │       ├── GradleIsland
    │       │   └── GradleIsland.json
    │       ├── JavaIsland
    │       │   └── JavaIsland.json
    │       ├── JavaIslandCommentDungeon
    │       │   └── JavaIslandCommentDungeon.json
    │       ├── JavaIslandConcurrencyDungeon
    │       │   └── JavaIslandConcurrencyDungeon.json
    │       ├── JavaIslandDebuggerDungeon
    │       │   └── JavaIslandDebuggerDungeon.json
    │       ├── JavaIslandMavenDungeon
    │       │   └── JavaIslandMavenDungeon.json
    │       ├── JavaIslandNewbieVillagePub
    │       │   └── JavaIslandNewbieVillagePub.json
    │       ├── JavaIslandSeniorJavaCastle
    │       │   └── JavaIslandSeniorJavaCastle.json
    │       ├── JavaIslandSpringDungeon
    │       │   └── JavaIslandSpringDungeon.json
    │       ├── KotlinIsland
    │       │   └── KotlinIsland.json
    │       ├── PythonIsland
    │       │   └── PythonIsland.json
    │       ├── README.md
    │       ├── ShellIsland
    │       │   └── ShellIsland.json
    │       └── WebIsland
    │       │   └── WebIsland.json
    │   ├── player-animations
    │       ├── 1.png
    │       ├── 10.png
    │       ├── 100.png
    │       ├── 101.png
    │       ├── 102.png
    │       ├── 103.png
    │       ├── 104.png
    │       ├── 105.png
    │       ├── 106.png
    │       ├── 107.png
    │       ├── 108.png
    │       ├── 109.png
    │       ├── 11.png
    │       ├── 110.png
    │       ├── 111.png
    │       ├── 112.png
    │       ├── 113.png
    │       ├── 114.png
    │       ├── 115.png
    │       ├── 116.png
    │       ├── 117.png
    │       ├── 118.png
    │       ├── 119.png
    │       ├── 12.png
    │       ├── 120.png
    │       ├── 121.png
    │       ├── 122.png
    │       ├── 123.png
    │       ├── 124.png
    │       ├── 125.png
    │       ├── 126.png
    │       ├── 127.png
    │       ├── 128.png
    │       ├── 129.png
    │       ├── 13.png
    │       ├── 130.png
    │       ├── 131.png
    │       ├── 132.png
    │       ├── 133.png
    │       ├── 134.png
    │       ├── 135.png
    │       ├── 136.png
    │       ├── 137.png
    │       ├── 138.png
    │       ├── 139.png
    │       ├── 14.png
    │       ├── 140.png
    │       ├── 141.png
    │       ├── 142.png
    │       ├── 143.png
    │       ├── 144.png
    │       ├── 145.png
    │       ├── 146.png
    │       ├── 147.png
    │       ├── 148.png
    │       ├── 149.png
    │       ├── 15.png
    │       ├── 150.png
    │       ├── 151.png
    │       ├── 152.png
    │       ├── 153.png
    │       ├── 154.png
    │       ├── 155.png
    │       ├── 156.png
    │       ├── 157.png
    │       ├── 158.png
    │       ├── 159.png
    │       ├── 16.png
    │       ├── 160.png
    │       ├── 161.png
    │       ├── 162.png
    │       ├── 163.png
    │       ├── 164.png
    │       ├── 165.png
    │       ├── 166.png
    │       ├── 167.png
    │       ├── 168.png
    │       ├── 169.png
    │       ├── 17.png
    │       ├── 170.png
    │       ├── 171.png
    │       ├── 172.png
    │       ├── 173.png
    │       ├── 174.png
    │       ├── 175.png
    │       ├── 176.png
    │       ├── 177.png
    │       ├── 178.png
    │       ├── 179.png
    │       ├── 18.png
    │       ├── 180.png
    │       ├── 181.png
    │       ├── 182.png
    │       ├── 183.png
    │       ├── 184.png
    │       ├── 185.png
    │       ├── 186.png
    │       ├── 187.png
    │       ├── 188.png
    │       ├── 189.png
    │       ├── 19.png
    │       ├── 190.png
    │       ├── 191.png
    │       ├── 192.png
    │       ├── 193.png
    │       ├── 194.png
    │       ├── 195.png
    │       ├── 196.png
    │       ├── 197.png
    │       ├── 198.png
    │       ├── 199.png
    │       ├── 2.png
    │       ├── 20.png
    │       ├── 21.png
    │       ├── 22.png
    │       ├── 23.png
    │       ├── 24.png
    │       ├── 25.png
    │       ├── 26.png
    │       ├── 27.png
    │       ├── 28.png
    │       ├── 29.png
    │       ├── 3.png
    │       ├── 30.png
    │       ├── 31.png
    │       ├── 32.png
    │       ├── 33.png
    │       ├── 34.png
    │       ├── 35.png
    │       ├── 36.png
    │       ├── 37.png
    │       ├── 38.png
    │       ├── 39.png
    │       ├── 4.png
    │       ├── 40.png
    │       ├── 41.png
    │       ├── 42.png
    │       ├── 43.png
    │       ├── 44.png
    │       ├── 45.png
    │       ├── 46.png
    │       ├── 47.png
    │       ├── 48.png
    │       ├── 49.png
    │       ├── 5.png
    │       ├── 50.png
    │       ├── 51.png
    │       ├── 52.png
    │       ├── 53.png
    │       ├── 54.png
    │       ├── 55.png
    │       ├── 56.png
    │       ├── 57.png
    │       ├── 58.png
    │       ├── 59.png
    │       ├── 6.png
    │       ├── 60.png
    │       ├── 61.png
    │       ├── 62.png
    │       ├── 63.png
    │       ├── 64.png
    │       ├── 65.png
    │       ├── 66.png
    │       ├── 67.png
    │       ├── 68.png
    │       ├── 69.png
    │       ├── 7.png
    │       ├── 70.png
    │       ├── 71.png
    │       ├── 72.png
    │       ├── 73.png
    │       ├── 74.png
    │       ├── 75.png
    │       ├── 76.png
    │       ├── 77.png
    │       ├── 78.png
    │       ├── 79.png
    │       ├── 8.png
    │       ├── 80.png
    │       ├── 81.png
    │       ├── 82.png
    │       ├── 83.png
    │       ├── 84.png
    │       ├── 85.png
    │       ├── 86.png
    │       ├── 87.png
    │       ├── 88.png
    │       ├── 89.png
    │       ├── 9.png
    │       ├── 90.png
    │       ├── 91.png
    │       ├── 92.png
    │       ├── 93.png
    │       ├── 94.png
    │       ├── 95.png
    │       ├── 96.png
    │       ├── 97.png
    │       ├── 98.png
    │       └── 99.png
    │   ├── references
    │       ├── BoAs6CQ.png
    │       ├── QQ20201118-234336@2x.png
    │       ├── big-village.jpg
    │       ├── castle-ground.png
    │       ├── castle.png
    │       ├── castle2.png
    │       ├── center.png
    │       ├── great-wood-village.jpg
    │       ├── indoor.png
    │       ├── large-village.jpg
    │       ├── midtownfarmsmap1_by_champgaming_d80ts23-fullview.jpg
    │       ├── moutain.jpg
    │       ├── palace.png
    │       ├── smallvillage.png
    │       ├── town.jpg
    │       ├── village.png
    │       └── worldmap.png
    │   ├── tileset-jsons
    │       ├── BrowserQuest_32x32.json
    │       ├── Crystal.json
    │       ├── JavaIslandNewbieVillageOldMan.json
    │       ├── JavaIslandNewbieVillagePubBartender.json
    │       ├── JavaIslandNewbieVillagePubGirl.json
    │       ├── JavaIslandNewbieVillagePubGuard.json
    │       ├── JavaIslandNewbieVillagePubTestEngineer.json
    │       ├── Misc_WallInteriorIcon_32x32.json
    │       ├── Outside_CBlue.json
    │       ├── RoyalAddOn.json
    │       ├── TeslaCoil.json
    │       ├── TeslaCoilAttack.json
    │       ├── TileB_32x32.json
    │       ├── Tileset.json
    │       ├── WaterFall_32x32.json
    │       ├── Water_32x32.json
    │       ├── autumn.json
    │       ├── big-village.json
    │       ├── blood-letter-number.json
    │       ├── book-bottle-coffee.json
    │       ├── castle.json
    │       ├── castle2.json
    │       ├── castle5.json
    │       ├── colorful-tree-flowers.json
    │       ├── doors.json
    │       ├── dungeon-furniture-skeleton.json
    │       ├── floating island.json
    │       ├── floating-box.json
    │       ├── gems.json
    │       ├── golang-logo.json
    │       ├── gradle-logo.json
    │       ├── huge-tileset.json
    │       ├── java-flag.json
    │       ├── kotlin-island.json
    │       ├── misc1.json
    │       ├── misc3.json
    │       ├── misc5.json
    │       ├── misc7.json
    │       ├── misc8.json
    │       ├── mountain_landscape.json
    │       ├── oasis-body.json
    │       ├── portal-door.json
    │       ├── pub-interior.json
    │       ├── pub-long-table.json
    │       ├── python-logo.json
    │       ├── restaurant-crate.json
    │       ├── sea_animation_32x32.json
    │       ├── storefront-animation.json
    │       └── vehicle-animation.json
    │   └── tilesets
    │       ├── BrowserQuest_32x32.png
    │       ├── Crystal.png
    │       ├── Flame.png
    │       ├── Furniture.png
    │       ├── Hexagram.png
    │       ├── JavaIslandNewbieVillageOldMan.png
    │       ├── JavaIslandNewbieVillagePubBartender.png
    │       ├── JavaIslandNewbieVillagePubGirl.png
    │       ├── JavaIslandNewbieVillagePubGuard.png
    │       ├── JavaIslandNewbieVillagePubTestEngineer.png
    │       ├── Misc_WallInteriorIcon_32x32.png
    │       ├── Outside_CAqua.png
    │       ├── Outside_CBlue.png
    │       ├── Outside_CGold.png
    │       ├── Outside_CGreen.png
    │       ├── Outside_CLime.png
    │       ├── Outside_CPink.png
    │       ├── Outside_CPurple.png
    │       ├── Outside_CTurq.png
    │       ├── RoyalAddOn.png
    │       ├── TeslaCoil.png
    │       ├── TeslaCoilAttack.png
    │       ├── TileB_32x32.png
    │       ├── Tileset.png
    │       ├── WaterFall_32x32.png
    │       ├── Water_32x32.png
    │       ├── arab-palace.png
    │       ├── autumn.png
    │       ├── beds.png
    │       ├── big-village.jpg
    │       ├── blood-letter-number.png
    │       ├── book-bottle-coffee.png
    │       ├── bulletin-wanted.png
    │       ├── castle-exterior.png
    │       ├── castle-exterior2.png
    │       ├── castle.png
    │       ├── castle2-s.png
    │       ├── castle2.png
    │       ├── castle3.png
    │       ├── castle4.png
    │       ├── castle5.png
    │       ├── castle6.png
    │       ├── castle7.png
    │       ├── christmas.png
    │       ├── colorful-tree-flowers.png
    │       ├── doors.png
    │       ├── doors2.png
    │       ├── dungeon-furniture-skeleton.png
    │       ├── floating island.png
    │       ├── floating-box.png
    │       ├── forest-castle-flower.png
    │       ├── forest-plant-flower.png
    │       ├── forest-plant.png
    │       ├── furniture12.png
    │       ├── furniture13.png
    │       ├── furniture2.png
    │       ├── furniture3.png
    │       ├── furniture4.png
    │       ├── furniture5.png
    │       ├── furniture6.png
    │       ├── furniture7.png
    │       ├── furniture8.png
    │       ├── furniture9.png
    │       ├── furnitures11.png
    │       ├── gems.png
    │       ├── golang-logo.png
    │       ├── gradle-logo.png
    │       ├── ground.png
    │       ├── ground2.png
    │       ├── huge-tileset.png
    │       ├── indoor-altar-furniture.png
    │       ├── indoor-bench-pumpkin.png
    │       ├── java-flag.png
    │       ├── kotlin-island.png
    │       ├── matalbars.png
    │       ├── misc-ground-interior.png
    │       ├── misc1.png
    │       ├── misc10.png
    │       ├── misc11.png
    │       ├── misc12.png
    │       ├── misc2.png
    │       ├── misc3.png
    │       ├── misc4.png
    │       ├── misc5.png
    │       ├── misc6.png
    │       ├── misc7.png
    │       ├── misc8.png
    │       ├── misc9.png
    │       ├── mountain_landscape.png
    │       ├── oasis-body.png
    │       ├── outdoor-park-tree-flower.png
    │       ├── player14.gif
    │       ├── playground.png
    │       ├── portal-door.png
    │       ├── prensent.png
    │       ├── pub-interior.png
    │       ├── pub-long-table.png
    │       ├── python-logo.png
    │       ├── restaurant-crate.png
    │       ├── sea_animation_32x32.png
    │       ├── storefront-animation.png
    │       ├── swimming-pool.png
    │       ├── texture1.png
    │       ├── texture2.png
    │       ├── textures3.png
    │       ├── textures4.png
    │       ├── traffic-sign-street-lamp.png
    │       ├── vehicle-animation.png
    │       ├── window2.png
    │       ├── windows.png
    │       └── wooden-floor.png
├── server-opensource
    ├── server-opensource.gradle.kts
    └── src
    │   ├── main
    │       └── kotlin
    │       │   └── com
    │       │       └── bytelegend
    │       │           └── app
    │       │               └── opensourceserver
    │       │                   └── GameApp.kt
    │   └── test
    │       └── kotlin
    │           └── com
    │               └── bytelegend
    │                   └── app
    │                       └── opensourceserver
    │                           └── AppBrowserSmokeTest.kt
├── server-shared
    ├── common
    │   ├── common.gradle.kts
    │   └── src
    │   │   └── main
    │   │       ├── kotlin
    │   │           └── com
    │   │           │   └── bytelegend
    │   │           │       └── app
    │   │           │           └── servershared
    │   │           │               ├── AbstractIndexPageRenderer.kt
    │   │           │               ├── AbstractRRBDResourceProvider.kt
    │   │           │               ├── JsonMapper.kt
    │   │           │               ├── PullRequestEnvironment.kt
    │   │           │               ├── ServerCoordinator.kt
    │   │           │               ├── WebSocketMessageDeserializer.kt
    │   │           │               ├── codechecker
    │   │           │                   ├── Constants.kt
    │   │           │                   └── WhitelistChecker.kt
    │   │           │               ├── dal
    │   │           │                   ├── Mvcc.kt
    │   │           │                   ├── Session.kt
    │   │           │                   └── StoredInPlayerTable.kt
    │   │           │               ├── mock
    │   │           │                   └── Mocks.kt
    │   │           │               └── utils
    │   │           │                   ├── RandomUtils.kt
    │   │           │                   └── Shell.kt
    │   │       └── resources
    │   │           └── index.html
    ├── json-model
    │   ├── json-model.gradle.kts
    │   └── src
    │   │   └── main
    │   │       ├── java
    │   │           └── com
    │   │           │   └── bytelegend
    │   │           │       └── app
    │   │           │           └── jsonmodel
    │   │           │               ├── event
    │   │           │                   └── GitHubEvent.java
    │   │           │               ├── generated
    │   │           │                   ├── event
    │   │           │                   │   ├── CheckRunGitHubEvent.java
    │   │           │                   │   ├── CommitStatusGitHubEvent.java
    │   │           │                   │   ├── PullRequestGitHubEvent.java
    │   │           │                   │   ├── StarGitHubEvent.java
    │   │           │                   │   ├── WorkflowJobGitHubEvent.java
    │   │           │                   │   └── WorkflowRunGitHubEvent.java
    │   │           │                   ├── query
    │   │           │                   │   ├── ApiGithubComUser.java
    │   │           │                   │   ├── ApiGithubComUserEmail.java
    │   │           │                   │   ├── GetFileContentResponse.java
    │   │           │                   │   ├── GitHubAppAccessToken.java
    │   │           │                   │   ├── ListOpenPullRequestsResponse.java
    │   │           │                   │   ├── MergePullRequestErrorResponse.java
    │   │           │                   │   ├── MergePullRequestSuccessResponse.java
    │   │           │                   │   ├── PullRequestMergeResponse.java
    │   │           │                   │   └── PullRequestWithCommentsResponse.java
    │   │           │                   ├── release
    │   │           │                   │   ├── CreateReleaseResponse.java
    │   │           │                   │   ├── GetReleaseAssetResponse.java
    │   │           │                   │   ├── GetReleaseResponse.java
    │   │           │                   │   ├── ListReleasesResponse.java
    │   │           │                   │   └── UploadReleaseAssetResponse.java
    │   │           │                   ├── response
    │   │           │                   │   ├── CreatePullRequestResponse.java
    │   │           │                   │   ├── CreateReleaseResponse.java
    │   │           │                   │   ├── GetPullRequestResponse.java
    │   │           │                   │   ├── GetReleaseAssetResponse.java
    │   │           │                   │   ├── GetReleaseResponse.java
    │   │           │                   │   ├── GetWorkflowJobResponse.java
    │   │           │                   │   ├── ListReleasesResponse.java
    │   │           │                   │   ├── UploadReleaseAssetResponse.java
    │   │           │                   │   └── WhoAmIResponse.java
    │   │           │                   └── stream
    │   │           │                   │   ├── GitHubActionsOutputStreamEvent.java
    │   │           │                   │   ├── LiveLogsResponse.java
    │   │           │                   │   ├── PipelinesAuthenticatedUrlResponse.java
    │   │           │                   │   ├── StreamWebSocketSentArguments.java
    │   │           │                   │   └── StreamWebSocketSentProtocolVersion.java
    │   │           │               └── review
    │   │           │                   ├── PullRequestReviewThreadResponse.java
    │   │           │                   ├── PullRequestWithReviewThreads.java
    │   │           │                   └── RepositoryQueryResponse.java
    │   │       ├── kotlin
    │   │           └── com
    │   │           │   └── bytelegend
    │   │           │       └── app
    │   │           │           └── jsonmodel
    │   │           │               ├── CheckRun.kt
    │   │           │               └── PullRequestMergeRequest.kt
    │   │       └── resources
    │   │           └── json
    │   │               ├── event
    │   │                   ├── CheckRunGitHubEvent.json
    │   │                   ├── CommitStatusGitHubEvent.json
    │   │                   ├── PullRequestGitHubEvent.json
    │   │                   ├── StarGitHubEvent.json
    │   │                   ├── WorkflowJobGitHubEvent.json
    │   │                   └── WorkflowRunGitHubEvent.json
    │   │               ├── query
    │   │                   ├── ApiGithubComUser.json
    │   │                   ├── ApiGithubComUserEmail.json
    │   │                   ├── GetFileContentResponse.json
    │   │                   ├── GitHubAppAccessToken.json
    │   │                   ├── ListOpenPullRequestsResponse.json
    │   │                   ├── MergePullRequestErrorResponse.json
    │   │                   ├── MergePullRequestSuccessResponse.json
    │   │                   ├── PullRequestMergeResponse.json
    │   │                   └── PullRequestWithCommentsResponse.json
    │   │               ├── response
    │   │                   ├── CreatePullRequestResponse.json
    │   │                   ├── CreateReleaseResponse.json
    │   │                   ├── GetPullRequestResponse.json
    │   │                   ├── GetReleaseAssetResponse.json
    │   │                   ├── GetReleaseResponse.json
    │   │                   ├── GetWorkflowJobResponse.json
    │   │                   ├── ListReleasesResponse.json
    │   │                   ├── UploadReleaseAssetResponse.json
    │   │                   └── WhoAmIResponse.json
    │   │               └── stream
    │   │                   ├── GitHubActionsOutputStreamEvent.json
    │   │                   ├── LiveLogsResponse.json
    │   │                   ├── PipelinesAuthenticatedUrlResponse.json
    │   │                   ├── StreamWebSocketSentArguments.json
    │   │                   └── StreamWebSocketSentProtocolVersion.json
    ├── server-shared.gradle.kts
    └── test-fixtures
    │   ├── src
    │       └── main
    │       │   ├── kotlin
    │       │       └── com
    │       │       │   └── bytelegend
    │       │       │       └── app
    │       │       │           └── testfixtures
    │       │       │               ├── AbstractBrowserTest.kt
    │       │       │               ├── ExecUtils.kt
    │       │       │               ├── GameObjectContainerForTest.kt
    │       │       │               ├── JUnit5VncRecorder.kt
    │       │       │               ├── MockServerCoordinator.kt
    │       │       │               ├── ResourceLoaderFixture.kt
    │       │       │               ├── Utils.kt
    │       │       │               └── WebDriverUtils.kt
    │       │   └── resources
    │       │       └── StarGitHubEvent.json
    │   └── test-fixtures.gradle.kts
├── settings.gradle.kts
├── shared
    ├── shared.gradle.kts
    └── src
    │   ├── commonMain
    │       └── kotlin
    │       │   └── com
    │       │       └── bytelegend
    │       │           └── app
    │       │               └── shared
    │       │                   ├── AnimationSet.kt
    │       │                   ├── Common.kt
    │       │                   ├── EvictingList.kt
    │       │                   ├── GameInitData.kt
    │       │                   ├── GameMap.kt
    │       │                   ├── HumanReadableCoordinate.kt
    │       │                   ├── InvitationCodeConstants.kt
    │       │                   ├── Layers.kt
    │       │                   ├── Maps.kt
    │       │                   ├── Missions.kt
    │       │                   ├── RGBA.kt
    │       │                   ├── StaticGameMap.kt
    │       │                   ├── annotations
    │       │                       └── Annotations.kt
    │       │                   ├── codegen
    │       │                       └── CommonDefinitions.kt
    │       │                   ├── entities
    │       │                       ├── BasePlayer.kt
    │       │                       ├── ChallengeAnswer.kt
    │       │                       ├── ChallengeAnswers.kt
    │       │                       ├── ChallengeCodeAnswer.kt
    │       │                       ├── HistoryRecord.kt
    │       │                       ├── LivestreamData.kt
    │       │                       ├── MapChallengeStates.kt
    │       │                       ├── Mission.kt
    │       │                       ├── MissionModalData.kt
    │       │                       ├── Player.kt
    │       │                       ├── PullRequestAnswer.kt
    │       │                       └── mission
    │       │                       │   ├── ChallengeSpec.kt
    │       │                       │   ├── ChangeSpec.kt
    │       │                       │   ├── DiscussionsSpec.kt
    │       │                       │   ├── HeroNoticeboardTilesData.kt
    │       │                       │   ├── MapMissionSpec.kt
    │       │                       │   ├── MissionSpec.kt
    │       │                       │   ├── Pagination.kt
    │       │                       │   └── Tutorial.kt
    │       │                   ├── enums
    │       │                       └── ServerLocation.kt
    │       │                   ├── i18n
    │       │                       └── Locale.kt
    │       │                   ├── math
    │       │                       └── Math.kt
    │       │                   ├── objects
    │       │                       ├── GameMapAnimation.kt
    │       │                       ├── GameMapCurve.kt
    │       │                       ├── GameMapDynamicSprite.kt
    │       │                       ├── GameMapMission.kt
    │       │                       ├── GameMapObjects.kt
    │       │                       ├── GameMapPoint.kt
    │       │                       ├── GameMapRegion.kt
    │       │                       ├── GameMapText.kt
    │       │                       └── GameObject.kt
    │       │                   ├── protocol
    │       │                       ├── GameServerProtocol.kt
    │       │                       ├── PlayerSpeechEventData.kt
    │       │                       ├── Sentences.kt
    │       │                       └── UnicastEventData.kt
    │       │                   └── util
    │       │                       ├── BiMap.kt
    │       │                       └── Utils.kt
    │   ├── commonTest
    │       └── kotlin
    │       │   └── com
    │       │       └── bytelegend
    │       │           └── app
    │       │               └── shared
    │       │                   └── HumanReadableCoordinateTest.kt
    │   ├── jsMain
    │       └── kotlin
    │       │   └── com
    │       │       └── bytelegend
    │       │           └── app
    │       │               └── shared
    │       │                   ├── annotations
    │       │                       └── JSAnnotationBindings.kt
    │       │                   └── util
    │       │                       └── Utils.kt
    │   └── jvmMain
    │       └── kotlin
    │           └── com
    │               └── bytelegend
    │                   └── app
    │                       └── shared
    │                           ├── annotations
    │                               ├── JVMAnnotationBindings.kt
    │                               └── ReadOnly.kt
    │                           └── util
    │                               └── JvmUtils.kt
├── utils
    ├── README.md
    ├── src
    │   ├── main
    │   │   ├── java
    │   │   │   └── com
    │   │   │   │   └── bytelegend
    │   │   │   │       └── github
    │   │   │   │           └── utils
    │   │   │   │               └── generated
    │   │   │   │                   ├── TiledMap.java
    │   │   │   │                   └── TiledTileset.java
    │   │   └── kotlin
    │   │   │   └── com
    │   │   │       └── bytelegend
    │   │   │           └── utils
    │   │   │               ├── AddLicenses.kt
    │   │   │               ├── AddTilesetToMap.kt
    │   │   │               ├── CheckLicenses.kt
    │   │   │               ├── CreateEmptyMissionYamls.kt
    │   │   │               ├── CreateNewMap.kt
    │   │   │               ├── CutLargePlayerAnimationSheet.kt
    │   │   │               ├── GameMapObjectReader.kt
    │   │   │               ├── GenerateJwtToken.kt
    │   │   │               ├── GenerateTileset.kt
    │   │   │               ├── I18nGenerator.kt
    │   │   │               ├── ImageUtils.kt
    │   │   │               ├── JacksonConstantPoolSerializer.kt
    │   │   │               ├── MapGenerator.kt
    │   │   │               ├── MarkdownRenderer.kt
    │   │   │               ├── MissionDataReader.kt
    │   │   │               ├── PlayerAnimationSetGenerator.kt
    │   │   │               ├── RoadmapJsonGenerator.kt
    │   │   │               ├── RoadmapSvgGenerator.kt
    │   │   │               └── Translators.kt
    │   └── test
    │   │   ├── kotlin
    │   │       └── com
    │   │       │   └── bytelegend
    │   │       │       └── utils
    │   │       │           └── ImageReaderTest.kt
    │   │   └── resources
    │   │       └── animation-set-0.png
    └── utils.gradle.kts
└── versions.json


/.editorconfig:
--------------------------------------------------------------------------------
 1 | # http://editorconfig.org
 2 | root = true
 3 | 
 4 | [*.{kt,kts}]
 5 | disabled_rules=import-ordering,no-wildcard-imports,indent
 6 | 
 7 | [*]
 8 | charset = utf-8
 9 | indent_size = 4
10 | indent_style = space
11 | insert_final_newline = true
12 | trim_trailing_whitespace = true
13 | end_of_line = lf
14 | 
15 | [*.md]
16 | trim_trailing_whitespace = false
17 | 
18 | [*.{yml,yaml,json,xml}]
19 | indent_style = space
20 | indent_size = 2
21 | 
22 | [*.java]
23 | align_multiline_chained_methods=true
24 | align_multiline_parameters=true
25 | align_multiline_parameters_in_calls=true
26 | align_multiline_ternary_operation=true
27 | align_subsequent_simple_methods=true
28 | 
29 | [*.{java,kt}]
30 | wildcard_import_limit = 999
31 | ij_kotlin_name_count_to_use_star_import = 999
32 | ij_kotlin_name_count_to_use_star_import_for_members = 999
33 | 


--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | #
2 | # https://help.github.com/articles/dealing-with-line-endings/
3 | #
4 | # These are explicitly windows files and should use crlf
5 | *.bat           text eol=crlf
6 | 
7 | 


--------------------------------------------------------------------------------
/.github/empty.json:
--------------------------------------------------------------------------------
1 | {
2 |   "version": "3",
3 |   "sources": [],
4 |   "names": []
5 | }
6 | 


--------------------------------------------------------------------------------
/.github/workflows/markdownlint.yml:
--------------------------------------------------------------------------------
 1 | name: Markdown Lint
 2 | 
 3 | on:
 4 |   push:
 5 |     branches-ignore:
 6 |       - release
 7 |   pull_request:
 8 |     branches-ignore:
 9 |       - release
10 | 
11 | jobs:
12 |   markdown-lint:
13 |     runs-on: ubuntu-latest
14 |     steps:
15 |       - uses: actions/checkout@v3
16 |         with:
17 |           submodules: false
18 | 
19 |       - name: Fetch game-data
20 |         run: git submodule update --init -- game-data
21 | 
22 |       - name: markdownlint
23 |         uses: nosborn/github-action-markdown-cli@v3.0.1
24 |         with:
25 |           files: "."
26 |           config_file: .markdownlint.yaml
27 | 


--------------------------------------------------------------------------------
/.github/workflows/release-code-checker.yml:
--------------------------------------------------------------------------------
 1 | name: release-code-checker
 2 | 
 3 | on:
 4 |   workflow_dispatch:
 5 | 
 6 | jobs:
 7 |   check-and-release:
 8 |     runs-on: ubuntu-latest
 9 |     steps:
10 |       - uses: actions/checkout@v3
11 |         with:
12 |           submodules: recursive
13 |           token: ${{ secrets.BYTELEGENDBOT_TOKEN }}
14 |       - name: Check and Release
15 |         uses: gradle/gradle-build-action@v2
16 |         with:
17 |           arguments: :server:github-release:uploadCodeCheckerToGitHubRelease -DgitHubToken=${{ secrets.BYTELEGENDBOT_TOKEN }} -DagreePublicBuildScanTermOfService=yes
18 | 


--------------------------------------------------------------------------------
/.github/workflows/release-code-merger.yml:
--------------------------------------------------------------------------------
 1 | name: release-code-merger
 2 | 
 3 | on: workflow_dispatch
 4 | 
 5 | jobs:
 6 |   check-and-release:
 7 |     runs-on: ubuntu-latest
 8 |     steps:
 9 |       - uses: actions/checkout@v3
10 |         with:
11 |           submodules: recursive
12 |           token: ${{ secrets.BYTELEGENDBOT_TOKEN }}
13 |       - name: Check and Release
14 |         uses: gradle/gradle-build-action@v2
15 |         with:
16 |           arguments: :server:github-release:uploadCodeMergerToGitHubRelease -DgitHubToken=${{ secrets.BYTELEGENDBOT_TOKEN }} -DagreePublicBuildScanTermOfService=yes
17 | 


--------------------------------------------------------------------------------
/.github/workflows/release-repo-cleaner.yml:
--------------------------------------------------------------------------------
 1 | name: Release repo-cleaner
 2 | on: workflow_dispatch
 3 | 
 4 | jobs:
 5 |   check-and-release:
 6 |     runs-on: ubuntu-latest
 7 |     steps:
 8 |       - uses: actions/checkout@v3
 9 |         with:
10 |           submodules: recursive
11 |           token: ${{ secrets.BYTELEGENDBOT_TOKEN }}
12 |       - name: Check and Release
13 |         uses: gradle/gradle-build-action@v2
14 |         with:
15 |           arguments: :server:github-release:uploadRepoCleanerToGitHubRelease -DgitHubToken=${{ secrets.BYTELEGENDBOT_TOKEN }} -DagreePublicBuildScanTermOfService=yes
16 | 


--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
 1 | name: release
 2 | 
 3 | on:
 4 |   push:
 5 |     branches:
 6 |       - release
 7 | 
 8 | jobs:
 9 |   release:
10 |     runs-on: ubuntu-latest
11 |     if: github.repository == 'ByteLegend/ByteLegend'
12 |     steps:
13 |       - uses: actions/checkout@v3
14 |         with:
15 |           submodules: recursive
16 |           token: ${{ secrets.BYTELEGENDBOT_TOKEN }}
17 |       - name: Set up JDK 11
18 |         uses: actions/setup-java@v3
19 |         with:
20 |           distribution: 'zulu'
21 |           java-version: 11
22 |       - name: "Release to ECR and S3"
23 |         uses: gradle/gradle-build-action@v2
24 |         with:
25 |           arguments: release -PupdateVersions -DagreePublicBuildScanTermOfService=yes
26 |         env:
27 |           ACCESS_KEY_ID_BEIJING: ${{ secrets.ACCESS_KEY_ID_BEIJING }}
28 |           SECRET_ACCESS_KEY_BEIJING: ${{ secrets.SECRET_ACCESS_KEY_BEIJING }}
29 |           ACCESS_KEY_ID_SEOUL: ${{ secrets.ACCESS_KEY_ID_SEOUL }}
30 |           SECRET_ACCESS_KEY_SEOUL: ${{ secrets.SECRET_ACCESS_KEY_SEOUL }}
31 |           GITHUB_TOKEN: ${{ secrets.BYTELEGENDBOT_TOKEN }}
32 | 


--------------------------------------------------------------------------------
/.github/workflows/update-star-distribution.yml:
--------------------------------------------------------------------------------
 1 | name: update-star-distribution
 2 | on:
 3 |   workflow_dispatch:
 4 |   schedule:
 5 |     - cron: '54 22 * * *'
 6 | 
 7 | jobs:
 8 |   deploy:
 9 |     name: Update star distribution
10 |     runs-on: ubuntu-latest
11 |     steps:
12 |       - uses: actions/checkout@v3
13 |         with:
14 |           repository: ByteLegend/ByteLegend
15 |           submodules: recursive
16 |           token: ${{ secrets.BYTELEGENDBOT_TOKEN }}
17 |       - name: Gradle build
18 |         uses: gradle/gradle-build-action@v2
19 |         with:
20 |           arguments: server:dal-dynamodb:updateStarDistribution -Ddynamodb.serverLocation=Seoul -Ddynamodb.accessKeyId=${{ secrets.DYNAMODB_ADMIN_ACCESS_KEY_ID }} -Ddynamodb.secretAccessKey=${{ secrets.DYNAMODB_ADMIN_SECRET_ACCESS_KEY }} -DagreePublicBuildScanTermOfService=yes
21 | 


--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
 1 | # Ignore Gradle project-specific cache directory
 2 | .gradle
 3 | 
 4 | # Ignore Gradle build output directory
 5 | build/
 6 | .idea/
 7 | out/
 8 | *.log
 9 | *.tiled-session
10 | *.tiled-project
11 | kotlin-js-store/
12 | 


--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
 1 | [submodule "server"]
 2 | 	path = server
 3 | 	url = https://github.com/ByteLegend/server
 4 | [submodule "game-data"]
 5 | 	path = game-data
 6 | 	url = https://github.com/ByteLegend/game-data
 7 | [submodule "github1s"]
 8 | 	path = github1s
 9 | 	url = https://github.com/ByteLegend/github1s
10 | 


--------------------------------------------------------------------------------
/.markdownlint.yaml:
--------------------------------------------------------------------------------
 1 | default: true
 2 | 
 3 | # MD013/line-length - Line length
 4 | MD013:
 5 |   # Number of characters
 6 |   line_length: 8120
 7 | 
 8 | # MD025/single-title/single-h1 - Multiple top-level headings in the same document
 9 | MD025: false
10 | 
11 | # MD033/no-inline-html - Inline HTML
12 | MD033:
13 |   # Allowed elements
14 |   allowed_elements:
15 |     - details
16 |     - summary
17 | 
18 | # MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading
19 | MD041:
20 |   # Heading level
21 |   level: 1
22 | 


--------------------------------------------------------------------------------
/Pitfalls.md:
--------------------------------------------------------------------------------
1 | # 2021-07-14
2 | 
3 | - Try to use `echarts-for-react`:
4 |   - `echarts-for-reacts` depends on `tslib`, which introduces 1M+ extra distribution size (1.7M->2.7M)
5 |   - It's difficult to construct a complex native JS object in kotlin
6 | 


--------------------------------------------------------------------------------
/buildSrc/settings.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  * 
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  * 
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  * 
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 


--------------------------------------------------------------------------------
/client/client.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | subprojects {
17 |     repositories {
18 |         maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-js-wrappers/")
19 |         maven("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven")
20 | 
21 |         mavenCentral()
22 |         jcenter()
23 |     }
24 | }
25 | 


--------------------------------------------------------------------------------
/client/common/src/main/kotlin/com/bytelegend/app/client/ui/bootstrap/BootstrapButton.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | @file:JsModule("react-bootstrap/Button")
17 | @file:JsNonModule
18 | 
19 | package com.bytelegend.app.client.ui.bootstrap
20 | 
21 | import react.ElementType
22 | 
23 | @JsName("default")
24 | external val BootstrapButton: ElementType<BootstrapButtonProps>
25 | 


--------------------------------------------------------------------------------
/client/common/src/main/kotlin/com/bytelegend/app/client/ui/bootstrap/BootstrapCardComponents.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.client.ui.bootstrap
17 | 
18 | import react.ElementType
19 | import react.Props
20 | 
21 | val BootstrapCardHeader: ElementType<Props> = BootstrapCard.asDynamic().Header
22 | val BootstrapCardBody: ElementType<Props> = BootstrapCard.asDynamic().Body
23 | 


--------------------------------------------------------------------------------
/client/common/src/main/kotlin/com/bytelegend/app/client/ui/bootstrap/ExtraClassAwareProps.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.client.ui.bootstrap
17 | 
18 | import react.Props
19 | 
20 | external interface ExtraClassAwareProps : Props {
21 |     var className: String
22 | }
23 | 


--------------------------------------------------------------------------------
/client/game-AlgorithmIsland/game-AlgorithmIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | plugins {
18 |     id("configure-kotlin-js")
19 | }
20 | 
21 | dependencies {
22 |     implementation(project(":client:game-utils"))
23 | }
24 | 


--------------------------------------------------------------------------------
/client/game-AlgorithmIsland/src/main/kotlin/AlgorithmIsland.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | import com.bytelegend.app.client.api.GameRuntime
18 | import kotlinx.browser.window
19 | 
20 | val gameRuntime = window.asDynamic().gameRuntime.unsafeCast<GameRuntime>()
21 | 
22 | fun main() {
23 |     gameRuntime.sceneContainer.getSceneById("AlgorithmIsland").apply {
24 |         objects {
25 |         }
26 |     }
27 | }
28 | 


--------------------------------------------------------------------------------
/client/game-DataStructureIsland/game-DataStructureIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | plugins {
18 |     id("configure-kotlin-js")
19 | }
20 | 
21 | dependencies {
22 |     implementation(project(":client:game-utils"))
23 | }
24 | 


--------------------------------------------------------------------------------
/client/game-DataStructureIsland/src/main/kotlin/DataStructureIsland.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | import com.bytelegend.app.client.api.GameRuntime
18 | import kotlinx.browser.window
19 | 
20 | val gameRuntime = window.asDynamic().gameRuntime.unsafeCast<GameRuntime>()
21 | 
22 | fun main() {
23 |     gameRuntime.sceneContainer.getSceneById("DataStructureIsland").apply {
24 |         objects {
25 |         }
26 |     }
27 | }
28 | 


--------------------------------------------------------------------------------
/client/game-DatabaseIsland/game-DatabaseIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | plugins {
18 |     id("configure-kotlin-js")
19 | }
20 | 
21 | dependencies {
22 |     implementation(project(":client:game-utils"))
23 | }
24 | 


--------------------------------------------------------------------------------
/client/game-DatabaseIsland/src/main/kotlin/DatabaseIsland.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | import com.bytelegend.app.client.api.GameRuntime
18 | import kotlinx.browser.window
19 | 
20 | val gameRuntime = window.asDynamic().gameRuntime.unsafeCast<GameRuntime>()
21 | 
22 | fun main() {
23 |     gameRuntime.sceneContainer.getSceneById("DatabaseIsland").apply {
24 |         objects {
25 |         }
26 |     }
27 | }
28 | 


--------------------------------------------------------------------------------
/client/game-GitIsland/game-GitIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     id("configure-kotlin-js")
18 | }
19 | 
20 | dependencies {
21 |     implementation(project(":client:game-utils"))
22 | }
23 | 


--------------------------------------------------------------------------------
/client/game-GopherIsland/game-GopherIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     id("configure-kotlin-js")
18 | }
19 | 
20 | dependencies {
21 |     implementation(project(":client:game-utils"))
22 | }
23 | 


--------------------------------------------------------------------------------
/client/game-GopherIsland/src/main/kotlin/GradleIsland.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | fun main() {}
17 | 


--------------------------------------------------------------------------------
/client/game-GradleIsland/game-GradleIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     id("configure-kotlin-js")
18 | }
19 | 
20 | dependencies {
21 |     implementation(project(":client:game-utils"))
22 | }
23 | 


--------------------------------------------------------------------------------
/client/game-GradleIsland/src/main/kotlin/GradleIsland.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | fun main() {}
17 | 


--------------------------------------------------------------------------------
/client/game-JavaIsland/game-JavaIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     id("configure-kotlin-js")
18 | }
19 | 
20 | dependencies {
21 |     "implementation"(project(":client:game-utils"))
22 | }
23 | 


--------------------------------------------------------------------------------
/client/game-JavaIslandCommentDungeon/game-JavaIslandCommentDungeon.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     id("configure-kotlin-js")
18 | }
19 | 
20 | dependencies {
21 |     implementation(project(":client:game-utils"))
22 | }
23 | 


--------------------------------------------------------------------------------
/client/game-JavaIslandConcurrencyDungeon/game-JavaIslandConcurrencyDungeon.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | plugins {
18 |     id("configure-kotlin-js")
19 | }
20 | 
21 | dependencies {
22 |     implementation(project(":client:game-utils"))
23 | }
24 | 


--------------------------------------------------------------------------------
/client/game-JavaIslandConcurrencyDungeon/src/main/kotlin/JavaIslandConcurrencyDungeon.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | import com.bytelegend.app.client.api.GameRuntime
18 | import kotlinx.browser.window
19 | 
20 | val gameRuntime = window.asDynamic().gameRuntime.unsafeCast<GameRuntime>()
21 | 
22 | fun main() {
23 |     gameRuntime.sceneContainer.getSceneById("JavaIslandConcurrencyDungeon").apply {
24 |         objects {
25 |         }
26 |     }
27 | }
28 | 


--------------------------------------------------------------------------------
/client/game-JavaIslandDebuggerDungeon/game-JavaIslandDebuggerDungeon.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     id("configure-kotlin-js")
18 | }
19 | 
20 | dependencies {
21 |     implementation(project(":client:game-utils"))
22 | }
23 | 


--------------------------------------------------------------------------------
/client/game-JavaIslandMavenDungeon/game-JavaIslandMavenDungeon.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | plugins {
18 |     id("configure-kotlin-js")
19 | }
20 | 
21 | dependencies {
22 |     implementation(project(":client:game-utils"))
23 | }
24 | 


--------------------------------------------------------------------------------
/client/game-JavaIslandMavenDungeon/src/main/kotlin/JavaIslandMavenDungeon.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | import com.bytelegend.app.client.api.GameRuntime
18 | import kotlinx.browser.window
19 | 
20 | val gameRuntime = window.asDynamic().gameRuntime.unsafeCast<GameRuntime>()
21 | 
22 | fun main() {
23 |     gameRuntime.sceneContainer.getSceneById("JavaIslandMavenDungeon").apply {
24 |         objects {
25 |         }
26 |     }
27 | }
28 | 


--------------------------------------------------------------------------------
/client/game-JavaIslandNewbieVillagePub/game-JavaIslandNewbieVillagePub.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     id("configure-kotlin-js")
18 | }
19 | dependencies {
20 |     implementation(project(":client:game-utils"))
21 | }
22 | 


--------------------------------------------------------------------------------
/client/game-JavaIslandSeniorJavaCastle/game-JavaIslandSeniorJavaCastle.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | plugins {
18 |     id("configure-kotlin-js")
19 | }
20 | 
21 | dependencies {
22 |     implementation(project(":client:game-utils"))
23 | }
24 | 


--------------------------------------------------------------------------------
/client/game-JavaIslandSpringDungeon/game-JavaIslandSpringDungeon.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | plugins {
18 |     id("configure-kotlin-js")
19 | }
20 | 
21 | dependencies {
22 |     implementation(project(":client:game-utils"))
23 | }
24 | 


--------------------------------------------------------------------------------
/client/game-JavaIslandSpringDungeon/src/main/kotlin/JavaIslandSpringDungeon.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | import com.bytelegend.app.client.api.GameRuntime
18 | import kotlinx.browser.window
19 | 
20 | val gameRuntime = window.asDynamic().gameRuntime.unsafeCast<GameRuntime>()
21 | 
22 | fun main() {
23 |     gameRuntime.sceneContainer.getSceneById("JavaIslandSpringDungeon").apply {
24 |         objects {
25 |         }
26 |     }
27 | }
28 | 


--------------------------------------------------------------------------------
/client/game-KotlinIsland/game-GradleIsland/game-GradleIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  * 
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  * 
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  * 
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     kotlin("js")
18 |     id("configure-ktlint")
19 | }
20 | 
21 | dependencies {
22 |     implementation(project(":client:game-api"))
23 | }
24 | 
25 | kotlin {
26 |     js {
27 |         browser {
28 |         }
29 |     }
30 | }
31 | 


--------------------------------------------------------------------------------
/client/game-KotlinIsland/game-GradleIsland/src/main/kotlin/GradleIsland.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | fun main() {}
17 | 


--------------------------------------------------------------------------------
/client/game-KotlinIsland/game-KotlinIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     id("configure-kotlin-js")
18 | }
19 | 
20 | dependencies {
21 |     implementation(project(":client:game-utils"))
22 | }
23 | 


--------------------------------------------------------------------------------
/client/game-PythonIsland/game-PythonIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     id("configure-kotlin-js")
18 | }
19 | 
20 | dependencies {
21 |     implementation(project(":client:game-utils"))
22 | }
23 | 


--------------------------------------------------------------------------------
/client/game-PythonIsland/src/main/kotlin/GradleIsland.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | fun main() {}
17 | 


--------------------------------------------------------------------------------
/client/game-ShellIsland/game-ShellIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | plugins {
18 |     id("configure-kotlin-js")
19 | }
20 | 
21 | dependencies {
22 |     implementation(project(":client:game-utils"))
23 | }
24 | 


--------------------------------------------------------------------------------
/client/game-ShellIsland/src/main/kotlin/ShellIsland.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | import com.bytelegend.app.client.api.GameRuntime
18 | import kotlinx.browser.window
19 | 
20 | val gameRuntime = window.asDynamic().gameRuntime.unsafeCast<GameRuntime>()
21 | 
22 | fun main() {
23 |     gameRuntime.sceneContainer.getSceneById("ShellIsland").apply {
24 |         objects {
25 |         }
26 |     }
27 | }
28 | 


--------------------------------------------------------------------------------
/client/game-WebIsland/game-WebIsland.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | plugins {
18 |     id("configure-kotlin-js")
19 | }
20 | 
21 | dependencies {
22 |     implementation(project(":client:game-utils"))
23 | }
24 | 


--------------------------------------------------------------------------------
/client/game-WebIsland/src/main/kotlin/WebIsland.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | import com.bytelegend.app.client.api.GameRuntime
18 | import kotlinx.browser.window
19 | 
20 | val gameRuntime = window.asDynamic().gameRuntime.unsafeCast<GameRuntime>()
21 | 
22 | fun main() {
23 |     gameRuntime.sceneContainer.getSceneById("WebIsland").apply {
24 |         objects {
25 |         }
26 |     }
27 | }
28 | 


--------------------------------------------------------------------------------
/client/game-api/src/main/kotlin/com/bytelegend/app/client/api/HasBouncingTitle.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | package com.bytelegend.app.client.api
18 | 
19 | import react.ChildrenBuilder
20 | 
21 | interface HasBouncingTitle {
22 |     var bouncingTitleEnabled: Boolean
23 |     fun renderBouncingTitle(builder: ChildrenBuilder)
24 | }
25 | 


--------------------------------------------------------------------------------
/client/game-page/src/main/kotlin/com/bytelegend/client/app/engine/GameIds.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.client.app.engine
17 | 
18 | fun characterObjectId() {
19 | }
20 | fun chracterSpriteId() {
21 | }
22 | 


--------------------------------------------------------------------------------
/client/game-page/src/main/kotlin/com/bytelegend/client/app/external/Confetti.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | @file:JsModule("canvas-confetti")
17 | @file:JsNonModule
18 | 
19 | package com.bytelegend.client.app.external
20 | 
21 | @JsName("default")
22 | external fun confetti(options: dynamic)
23 | 


--------------------------------------------------------------------------------
/client/game-page/webpack.config.d/assert-fallback.js:
--------------------------------------------------------------------------------
 1 | // /*
 2 | // Module not found: Error: Can't resolve 'assert' in '/Users/zhb/Projects/ByteLegend/build/js/node_modules/micromark-core-commonmark/dev/lib'
 3 | //
 4 | //   BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
 5 | //   This is no longer the case. Verify if you need this module and configure a polyfill for it.
 6 | //
 7 | //   If you want to include a polyfill, you need to:
 8 | //         - add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }'
 9 | //         - install 'assert'
10 | //   If you don't want to include a polyfill, you can use an empty module like this:
11 | //         resolve.fallback: { "assert": false }
12 | //
13 | //  */
14 | // config.resolve.fallback = {"assert": require.resolve("assert")}
15 | 


--------------------------------------------------------------------------------
/client/game-utils/game-utils.gradle.kts:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | plugins {
17 |     id("configure-kotlin-js")
18 | }
19 | 


--------------------------------------------------------------------------------
/docs/images/add-or-fix-i18n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/add-or-fix-i18n.png


--------------------------------------------------------------------------------
/docs/images/add-tutorials-to-yaml-file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/add-tutorials-to-yaml-file.png


--------------------------------------------------------------------------------
/docs/images/create-tutorials.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/create-tutorials.png


--------------------------------------------------------------------------------
/docs/images/index-page-en.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/index-page-en.png


--------------------------------------------------------------------------------
/docs/images/index-page-zh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/index-page-zh.png


--------------------------------------------------------------------------------
/docs/images/open-i18n-yaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/open-i18n-yaml.png


--------------------------------------------------------------------------------
/docs/images/qq-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/qq-group.png


--------------------------------------------------------------------------------
/docs/images/run-local-development-server.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/run-local-development-server.png


--------------------------------------------------------------------------------
/docs/images/same-name-folder-with-yaml-file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/same-name-folder-with-yaml-file.png


--------------------------------------------------------------------------------
/docs/images/search-in-game-data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/search-in-game-data.png


--------------------------------------------------------------------------------
/docs/images/switch-then-edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/docs/images/switch-then-edit.png


--------------------------------------------------------------------------------
/docs/zh_hans/create-new-game-map.md:
--------------------------------------------------------------------------------
 1 | # 创建新的游戏地图
 2 | 
 3 | 我们使用[`Tiled`](https://www.mapeditor.org/)维护游戏的地图。
 4 | 
 5 | 要创建新的游戏地图,您需要:
 6 | 
 7 | 1. 运行`./gradlew utils:createNewMap -DmapId=<mapId> -DmapGridWidth=<mapWidth> -DmapGridHeight=<mapHeight>`
 8 | 2. 编辑`game-data/hierarchy.yml`,添加新地图。
 9 | 3. 编辑`settings.gradle.kts`,include新的`client/game-<mapId>`子项目.
10 | 4. 在`game-data/i18n-common.yml`中加入:
11 | 
12 |     ```yaml
13 |     - id: «YourNewMapId»
14 |       data:
15 |         EN: «The display name of that map»
16 |     ```
17 | 
18 |     注意您必须至少提供英文版的文本。
19 | 
20 | 5. 点击IDEA的Gradle window里的"Reload All Gradle Projects"。
21 | 
22 | 现在您应该能够:
23 | 
24 | - 在本机上启动游戏并且在地图选择下拉菜单中看到新的地图。
25 | - 在`Tiled`编辑生成的地图文件`resources/raw/maps/«mapId»/«mapId».json`。请先阅读[游戏地图贡献者指南](https://github.com/ByteLegend/ByteLegend/blob/master/docs/zh_hans/game-map-contributor-guide.md)。
26 | - 编辑`client/game-«YourNewMap»`中的游戏脚本。
27 | 
28 | ## TBD
29 | 


--------------------------------------------------------------------------------
/docs/zh_hans/game-tutorials-contributor-guide.md:
--------------------------------------------------------------------------------
 1 | # 游戏教程贡献者指南
 2 | 
 3 | 进入**游戏挑战页面**,切换到**教程**选项卡,点击**贡献更好的教程**。如果提示 fork 项目,请点击 fork。
 4 | 
 5 | 在`missions`的同级目录中打开`docs`目录(如果没有请创建),在其中创建与`YAML`文件名相同的目录。
 6 | 
 7 | ![Same name folder with YAML file](https://raw.githubusercontent.com/ByteLegend/ByteLegend/master/docs/images/same-name-folder-with-yaml-file.png)
 8 | 
 9 | 在新创建的目录中创建**对应的教程文档**,教程文档后请加入**语言代码**。图片文件请放入与文件名对应的目录中,如果为各语言通用图片,可不加入**语言代码**。
10 | 
11 | ⚠️ 注意:图片 URL 建议设置为对应的`https://raw.githubusercontent.com`链接。
12 | 
13 | ![Create tutorials](https://raw.githubusercontent.com/ByteLegend/ByteLegend/master/docs/images/create-tutorials.png)
14 | 
15 | 返回`YAML`文件,在`tutorials`节点中添加新的**教程**。
16 | 
17 | ![Add tutorials to YAML file](https://raw.githubusercontent.com/ByteLegend/ByteLegend/master/docs/images/add-tutorials-to-yaml-file.png)
18 | 
19 | 下面列举几个已有的**类型**(type):
20 | 
21 | | 文本           | 对应值        |
22 | | -------------- | ------------- |
23 | | text/markdown  | Markdown 文本 |
24 | | video/youtube  | YouTube 视频  |
25 | | video/bilibili | Bilibili 视频 |
26 | 


--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/gradle/wrapper/gradle-wrapper.jar


--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | 


--------------------------------------------------------------------------------
/livestream-data.json:
--------------------------------------------------------------------------------
 1 | [
 2 |   {
 3 |     "id": "daily-20210926",
 4 |     "title": "日常开发直播",
 5 |     "url": "https://live.bilibili.com/23554645",
 6 |     "startEpochMs": 1632632400000,
 7 |     "endEpochMs": 1632650400000
 8 |   }
 9 | ]
10 | 


--------------------------------------------------------------------------------
/resources/cooked/audio/GoldSwordAudio.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/GoldSwordAudio.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/SwingWeapon.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/SwingWeapon.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/TeslaCoilExplosion.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/TeslaCoilExplosion.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/ThunderCurrentAudio.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/ThunderCurrentAudio.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/achievement.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/achievement.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/coin-loss.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/coin-loss.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/coin.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/coin.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/disappear.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/disappear.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/forest.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/forest.ogg


--------------------------------------------------------------------------------
/resources/cooked/audio/popup.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/popup.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/starfly.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/starfly.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/tada.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/tada.mp3


--------------------------------------------------------------------------------
/resources/cooked/audio/wilhelm-scream.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/audio/wilhelm-scream.wav


--------------------------------------------------------------------------------
/resources/cooked/img/achievement/first-star-medal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/achievement/first-star-medal.png


--------------------------------------------------------------------------------
/resources/cooked/img/achievement/git-amulet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/achievement/git-amulet.png


--------------------------------------------------------------------------------
/resources/cooked/img/achievement/gold-git-medal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/achievement/gold-git-medal.png


--------------------------------------------------------------------------------
/resources/cooked/img/achievement/silver-git-medal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/achievement/silver-git-medal.png


--------------------------------------------------------------------------------
/resources/cooked/img/attribution/google-translate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/attribution/google-translate.png


--------------------------------------------------------------------------------
/resources/cooked/img/icon/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/icon/favicon.ico


--------------------------------------------------------------------------------
/resources/cooked/img/icon/server.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/icon/server.png


--------------------------------------------------------------------------------
/resources/cooked/img/item/coffee-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/item/coffee-icon.png


--------------------------------------------------------------------------------
/resources/cooked/img/item/dagger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/item/dagger.png


--------------------------------------------------------------------------------
/resources/cooked/img/item/door-key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/item/door-key.png


--------------------------------------------------------------------------------
/resources/cooked/img/item/gold-sword.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/item/gold-sword.png


--------------------------------------------------------------------------------
/resources/cooked/img/item/iron-sword.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/item/iron-sword.png


--------------------------------------------------------------------------------
/resources/cooked/img/item/key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/item/key.png


--------------------------------------------------------------------------------
/resources/cooked/img/item/silver-sword.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/item/silver-sword.png


--------------------------------------------------------------------------------
/resources/cooked/img/logo/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/logo/logo.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/avatar-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/avatar-border.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/border.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/help.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/hero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/hero.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/item-btn-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/item-btn-pressed.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/item-btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/item-btn.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/login.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/menu-about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/menu-about.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/menu-credits.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/menu-credits.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/menu-github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/menu-github.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/menu-help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/menu-help.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/menu-notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/menu-notification.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/menu-ranking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/menu-ranking.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/menu-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/menu-settings.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/minimap-border.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/minimap-border.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/minimap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/minimap.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/speech-bubble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/speech-bubble.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/tutorial-locked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/tutorial-locked.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/tutorial-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/tutorial-open.png


--------------------------------------------------------------------------------
/resources/cooked/img/ui/webeditor-button-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/cooked/img/ui/webeditor-button-bg.png


--------------------------------------------------------------------------------
/resources/cooked/misc/achievement-metadata.json:
--------------------------------------------------------------------------------
 1 | [
 2 |   {
 3 |     "iconId": "bronze-git-medal",
 4 |     "iconUrl": "/img/achievement/git-amulet.png",
 5 |     "nameTextId": "git-amulet-name",
 6 |     "descTextId": "git-amulet-desc"
 7 |   },
 8 |   {
 9 |     "iconId": "silver-git-medal",
10 |     "iconUrl": "/img/achievement/silver-git-medal.png",
11 |     "nameTextId": "silver-git-medal-name",
12 |     "descTextId": "silver-git-medal-desc"
13 |   },
14 |   {
15 |     "iconId": "gold-git-medal",
16 |     "iconUrl": "/img/achievement/gold-git-medal.png",
17 |     "nameTextId": "gold-git-medal-name",
18 |     "descTextId": "gold-git-medal-desc"
19 |   },
20 |   {
21 |     "iconId": "first-star-medal",
22 |     "iconUrl": "/img/achievement/first-star-medal.png",
23 |     "nameTextId": "first-star-medal-name",
24 |     "descTextId": "first-star-medal-desc"
25 |   }
26 | ]
27 | 


--------------------------------------------------------------------------------
/resources/raw/animation-jsons/GoldSwordAttack.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "columns" : 8,
 3 |   "image" : "../animations/GoldSwordAttack.png",
 4 |   "imageheight" : 211,
 5 |   "imagewidth" : 1600,
 6 |   "margin" : 0,
 7 |   "name" : "GoldSwordAttack",
 8 |   "tilecount" : 8,
 9 |   "tiledversion" : "1.7.2",
10 |   "tileheight" : 211,
11 |   "objectalignment" : "topleft",
12 |   "tiles" : [ {
13 |     "animation" : [ {
14 |       "duration" : 500,
15 |       "tileid" : 0
16 |     }, {
17 |       "duration" : 500,
18 |       "tileid" : 1
19 |     }, {
20 |       "duration" : 500,
21 |       "tileid" : 2
22 |     }, {
23 |       "duration" : 500,
24 |       "tileid" : 3
25 |     }, {
26 |       "duration" : 500,
27 |       "tileid" : 4
28 |     }, {
29 |       "duration" : 500,
30 |       "tileid" : 5
31 |     }, {
32 |       "duration" : 500,
33 |       "tileid" : 6
34 |     }, {
35 |       "duration" : 500,
36 |       "tileid" : 7
37 |     } ],
38 |     "id" : 0
39 |   } ],
40 |   "tilewidth" : 200,
41 |   "type" : "tileset",
42 |   "version" : "1.6"
43 | }


--------------------------------------------------------------------------------
/resources/raw/animation-jsons/KillEvil.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "columns" : 7,
 3 |   "image" : "../animations/KillEvil.png",
 4 |   "imageheight" : 73,
 5 |   "imagewidth" : 700,
 6 |   "margin" : 0,
 7 |   "name" : "KillEvil",
 8 |   "tilecount" : 7,
 9 |   "tiledversion" : "1.7.2",
10 |   "tileheight" : 73,
11 |   "objectalignment" : "topleft",
12 |   "tiles" : [ {
13 |     "animation" : [ {
14 |       "duration" : 500,
15 |       "tileid" : 0
16 |     }, {
17 |       "duration" : 500,
18 |       "tileid" : 1
19 |     }, {
20 |       "duration" : 500,
21 |       "tileid" : 2
22 |     }, {
23 |       "duration" : 500,
24 |       "tileid" : 3
25 |     }, {
26 |       "duration" : 500,
27 |       "tileid" : 4
28 |     }, {
29 |       "duration" : 500,
30 |       "tileid" : 5
31 |     }, {
32 |       "duration" : 500,
33 |       "tileid" : 6
34 |     } ],
35 |     "id" : 0
36 |   } ],
37 |   "tilewidth" : 100,
38 |   "type" : "tileset",
39 |   "version" : "1.6"
40 | }


--------------------------------------------------------------------------------
/resources/raw/animation-jsons/SilverSwordAttack.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "columns" : 8,
 3 |   "image" : "../animations/SilverSwordAttack.png",
 4 |   "imageheight" : 247,
 5 |   "imagewidth" : 1600,
 6 |   "margin" : 0,
 7 |   "name" : "SilverSwordAttack",
 8 |   "tilecount" : 8,
 9 |   "tiledversion" : "1.7.2",
10 |   "tileheight" : 247,
11 |   "objectalignment" : "topleft",
12 |   "tiles" : [ {
13 |     "animation" : [ {
14 |       "duration" : 500,
15 |       "tileid" : 0
16 |     }, {
17 |       "duration" : 500,
18 |       "tileid" : 1
19 |     }, {
20 |       "duration" : 500,
21 |       "tileid" : 2
22 |     }, {
23 |       "duration" : 500,
24 |       "tileid" : 3
25 |     }, {
26 |       "duration" : 500,
27 |       "tileid" : 4
28 |     }, {
29 |       "duration" : 500,
30 |       "tileid" : 5
31 |     }, {
32 |       "duration" : 500,
33 |       "tileid" : 6
34 |     }, {
35 |       "duration" : 500,
36 |       "tileid" : 7
37 |     } ],
38 |     "id" : 0
39 |   } ],
40 |   "tilewidth" : 200,
41 |   "type" : "tileset",
42 |   "version" : "1.6"
43 | }


--------------------------------------------------------------------------------
/resources/raw/animation-jsons/ThunderCurrent.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "columns" : 6,
 3 |   "image" : "../animations/ThunderCurrent.png",
 4 |   "imageheight" : 197,
 5 |   "imagewidth" : 600,
 6 |   "margin" : 0,
 7 |   "name" : "ThunderCurrent",
 8 |   "tilecount" : 6,
 9 |   "tiledversion" : "1.7.2",
10 |   "tileheight" : 197,
11 |   "objectalignment" : "topleft",
12 |   "tiles" : [ {
13 |     "animation" : [ {
14 |       "duration" : 500,
15 |       "tileid" : 0
16 |     }, {
17 |       "duration" : 500,
18 |       "tileid" : 1
19 |     }, {
20 |       "duration" : 500,
21 |       "tileid" : 2
22 |     }, {
23 |       "duration" : 500,
24 |       "tileid" : 3
25 |     }, {
26 |       "duration" : 500,
27 |       "tileid" : 4
28 |     }, {
29 |       "duration" : 500,
30 |       "tileid" : 5
31 |     } ],
32 |     "id" : 0
33 |   } ],
34 |   "tilewidth" : 100,
35 |   "type" : "tileset",
36 |   "version" : "1.6"
37 | }
38 | 


--------------------------------------------------------------------------------
/resources/raw/animation-jsons/e-shock.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "columns" : 8,
 3 |   "image" : "../animations/e-shock.png",
 4 |   "imageheight" : 62,
 5 |   "imagewidth" : 496,
 6 |   "margin" : 0,
 7 |   "name" : "e-shock",
 8 |   "tilecount" : 8,
 9 |   "tiledversion" : "1.7.2",
10 |   "tileheight" : 62,
11 |   "objectalignment" : "topleft",
12 |   "tiles" : [ {
13 |     "animation" : [ {
14 |       "duration" : 500,
15 |       "tileid" : 0
16 |     }, {
17 |       "duration" : 500,
18 |       "tileid" : 1
19 |     }, {
20 |       "duration" : 500,
21 |       "tileid" : 2
22 |     }, {
23 |       "duration" : 500,
24 |       "tileid" : 3
25 |     }, {
26 |       "duration" : 500,
27 |       "tileid" : 4
28 |     }, {
29 |       "duration" : 500,
30 |       "tileid" : 5
31 |     }, {
32 |       "duration" : 500,
33 |       "tileid" : 6
34 |     }, {
35 |       "duration" : 500,
36 |       "tileid" : 7
37 |     } ],
38 |     "id" : 0
39 |   } ],
40 |   "tilewidth" : 62,
41 |   "type" : "tileset",
42 |   "version" : "1.6"
43 | }
44 | 


--------------------------------------------------------------------------------
/resources/raw/animations/GoldSwordAttack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/animations/GoldSwordAttack.png


--------------------------------------------------------------------------------
/resources/raw/animations/IronSwordAttack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/animations/IronSwordAttack.png


--------------------------------------------------------------------------------
/resources/raw/animations/KillEvil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/animations/KillEvil.png


--------------------------------------------------------------------------------
/resources/raw/animations/SilverSwordAttack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/animations/SilverSwordAttack.png


--------------------------------------------------------------------------------
/resources/raw/animations/TeslaCoilDestroyed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/animations/TeslaCoilDestroyed.png


--------------------------------------------------------------------------------
/resources/raw/animations/ThunderCurrent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/animations/ThunderCurrent.png


--------------------------------------------------------------------------------
/resources/raw/animations/e-shock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/animations/e-shock.png


--------------------------------------------------------------------------------
/resources/raw/credits/credits.txt:
--------------------------------------------------------------------------------
1 | http://downloads.rpg-palace.com/details.php?id=103


--------------------------------------------------------------------------------
/resources/raw/design/bytelegend-logo (1).psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/bytelegend-logo (1).psd


--------------------------------------------------------------------------------
/resources/raw/design/bytelegend-logo-ico.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/bytelegend-logo-ico.psd


--------------------------------------------------------------------------------
/resources/raw/design/bytelegend-logo-small.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/bytelegend-logo-small.psd


--------------------------------------------------------------------------------
/resources/raw/design/bytelegend-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/bytelegend-logo.png


--------------------------------------------------------------------------------
/resources/raw/design/bytelegend-logo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/bytelegend-logo.psd


--------------------------------------------------------------------------------
/resources/raw/design/bytelegend-logo_128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/bytelegend-logo_128x128.png


--------------------------------------------------------------------------------
/resources/raw/design/bytelegend-logo_512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/bytelegend-logo_512x512.png


--------------------------------------------------------------------------------
/resources/raw/design/menu-github.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/menu-github.psd


--------------------------------------------------------------------------------
/resources/raw/design/menu.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/menu.psd


--------------------------------------------------------------------------------
/resources/raw/design/sea-animation.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/sea-animation.psd


--------------------------------------------------------------------------------
/resources/raw/design/sea_animation_32x32.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/sea_animation_32x32.psd


--------------------------------------------------------------------------------
/resources/raw/design/star.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/star.psd


--------------------------------------------------------------------------------
/resources/raw/design/ui.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/design/ui.psd


--------------------------------------------------------------------------------
/resources/raw/maps/README.md:
--------------------------------------------------------------------------------
 1 | # Conventions regarding maps
 2 | 
 3 | ```text
 4 | rootProject/tiled/maps
 5 |   |
 6 |   |---- JavaIsland
 7 |   |      |---- JavaIsland.json
 8 |   |      |---- JavaIslandNewbieVillagePub.json
 9 |   |      |---- JavaIslandDungeon.json
10 |   |
11 |   |---- GitIsland
12 |   |      |---- GitIsland.json
13 | ```
14 | 
15 | This means there are two "main" island: `JavaIsland` and `GitIsland`, on which there might be sub maps.
16 | 
17 | This convention is used by:
18 | 
19 | ## Resource processing in build
20 | 
21 | There's one frontend subproject for each map(submap). For example, in the example above, there will be:
22 | 
23 | ```text
24 | rootProject/client/
25 |    |----- game-JavaIsland
26 |    |----- game-JavaIslandNewbieVillagePub
27 |    |----- game-GitIsland
28 | ```
29 | 
30 | ## Backend server
31 | 
32 | The hierarchy
33 | 
34 | Backend server uses this information to render a tree-like dropdown box in the game.
35 | 


--------------------------------------------------------------------------------
/resources/raw/player-animations/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/1.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/10.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/100.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/101.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/101.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/102.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/102.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/103.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/103.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/104.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/104.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/105.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/105.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/106.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/106.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/107.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/107.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/108.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/108.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/109.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/109.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/11.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/110.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/110.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/111.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/111.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/112.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/112.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/113.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/113.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/114.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/115.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/115.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/116.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/116.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/117.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/117.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/118.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/118.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/119.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/119.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/12.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/120.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/121.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/121.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/122.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/122.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/123.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/123.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/124.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/124.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/125.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/126.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/126.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/127.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/127.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/128.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/129.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/129.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/13.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/130.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/130.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/131.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/131.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/132.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/132.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/133.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/133.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/134.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/134.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/135.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/135.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/136.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/136.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/137.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/137.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/138.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/138.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/139.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/139.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/14.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/140.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/140.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/141.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/141.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/142.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/142.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/143.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/143.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/144.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/145.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/145.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/146.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/146.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/147.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/147.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/148.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/148.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/149.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/149.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/15.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/150.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/151.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/151.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/152.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/153.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/153.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/154.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/154.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/155.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/155.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/156.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/156.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/157.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/157.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/158.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/158.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/159.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/159.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/16.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/160.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/160.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/161.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/161.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/162.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/162.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/163.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/163.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/164.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/164.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/165.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/165.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/166.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/166.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/167.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/168.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/168.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/169.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/169.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/17.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/170.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/170.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/171.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/171.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/172.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/173.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/173.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/174.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/174.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/175.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/175.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/176.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/176.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/177.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/177.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/178.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/178.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/179.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/179.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/18.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/180.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/181.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/181.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/182.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/182.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/183.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/183.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/184.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/184.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/185.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/185.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/186.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/186.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/187.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/187.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/188.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/188.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/189.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/189.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/19.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/190.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/190.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/191.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/191.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/192.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/193.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/193.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/194.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/194.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/195.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/195.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/196.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/197.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/197.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/198.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/198.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/199.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/199.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/2.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/20.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/21.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/22.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/23.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/24.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/25.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/26.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/27.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/28.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/29.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/3.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/30.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/31.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/32.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/33.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/34.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/34.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/35.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/36.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/37.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/37.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/38.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/39.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/39.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/4.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/40.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/41.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/41.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/42.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/42.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/43.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/43.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/44.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/44.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/45.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/45.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/46.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/47.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/48.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/49.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/49.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/5.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/50.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/51.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/51.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/52.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/52.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/53.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/53.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/54.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/54.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/55.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/56.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/56.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/57.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/58.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/59.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/59.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/6.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/60.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/61.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/61.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/62.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/62.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/63.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/63.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/64.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/65.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/65.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/66.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/66.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/67.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/67.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/68.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/68.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/69.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/69.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/7.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/70.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/71.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/71.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/72.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/73.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/73.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/74.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/74.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/75.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/76.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/77.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/77.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/78.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/78.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/79.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/79.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/8.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/80.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/81.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/81.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/82.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/82.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/83.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/83.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/84.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/84.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/85.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/85.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/86.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/86.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/87.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/88.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/89.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/89.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/9.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/90.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/90.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/91.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/91.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/92.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/92.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/93.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/93.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/94.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/94.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/95.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/95.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/96.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/97.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/97.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/98.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/98.png


--------------------------------------------------------------------------------
/resources/raw/player-animations/99.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/player-animations/99.png


--------------------------------------------------------------------------------
/resources/raw/references/BoAs6CQ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/BoAs6CQ.png


--------------------------------------------------------------------------------
/resources/raw/references/QQ20201118-234336@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/QQ20201118-234336@2x.png


--------------------------------------------------------------------------------
/resources/raw/references/big-village.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/big-village.jpg


--------------------------------------------------------------------------------
/resources/raw/references/castle-ground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/castle-ground.png


--------------------------------------------------------------------------------
/resources/raw/references/castle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/castle.png


--------------------------------------------------------------------------------
/resources/raw/references/castle2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/castle2.png


--------------------------------------------------------------------------------
/resources/raw/references/center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/center.png


--------------------------------------------------------------------------------
/resources/raw/references/great-wood-village.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/great-wood-village.jpg


--------------------------------------------------------------------------------
/resources/raw/references/indoor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/indoor.png


--------------------------------------------------------------------------------
/resources/raw/references/large-village.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/large-village.jpg


--------------------------------------------------------------------------------
/resources/raw/references/midtownfarmsmap1_by_champgaming_d80ts23-fullview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/midtownfarmsmap1_by_champgaming_d80ts23-fullview.jpg


--------------------------------------------------------------------------------
/resources/raw/references/moutain.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/moutain.jpg


--------------------------------------------------------------------------------
/resources/raw/references/palace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/palace.png


--------------------------------------------------------------------------------
/resources/raw/references/smallvillage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/smallvillage.png


--------------------------------------------------------------------------------
/resources/raw/references/town.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/town.jpg


--------------------------------------------------------------------------------
/resources/raw/references/village.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/village.png


--------------------------------------------------------------------------------
/resources/raw/references/worldmap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/references/worldmap.png


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/BrowserQuest_32x32.json:
--------------------------------------------------------------------------------
 1 | { "columns":20,
 2 |  "image":"..\/tilesets\/BrowserQuest_32x32.png",
 3 |  "imageheight":3232,
 4 |  "imagewidth":640,
 5 |  "margin":0,
 6 |  "name":"BrowserQuest_32x32",
 7 |  "spacing":0,
 8 |  "tilecount":2020,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/Misc_WallInteriorIcon_32x32.json:
--------------------------------------------------------------------------------
 1 | { "columns":8,
 2 |  "image":"..\/tilesets\/Misc_WallInteriorIcon_32x32.png",
 3 |  "imageheight":4256,
 4 |  "imagewidth":256,
 5 |  "margin":0,
 6 |  "name":"Misc_WallInteriorIcon_32x32",
 7 |  "objectalignment":"topleft",
 8 |  "spacing":0,
 9 |  "tilecount":1064,
10 |  "tiledversion":"1.7.2",
11 |  "tileheight":32,
12 |  "tiles":[
13 |         {
14 |          "animation":[
15 |                 {
16 |                  "duration":500,
17 |                  "tileid":862
18 |                 }, 
19 |                 {
20 |                  "duration":500,
21 |                  "tileid":870
22 |                 }],
23 |          "id":862
24 |         }],
25 |  "tilewidth":32,
26 |  "type":"tileset",
27 |  "version":"1.6"
28 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/Outside_CBlue.json:
--------------------------------------------------------------------------------
 1 | { "columns":24,
 2 |  "image":"..\/tilesets\/Outside_CBlue.png",
 3 |  "imageheight":768,
 4 |  "imagewidth":768,
 5 |  "margin":0,
 6 |  "name":"Outside_CBlue",
 7 |  "spacing":0,
 8 |  "tilecount":576,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/RoyalAddOn.json:
--------------------------------------------------------------------------------
 1 | { "columns":16,
 2 |  "image":"..\/tilesets\/RoyalAddOn.png",
 3 |  "imageheight":1280,
 4 |  "imagewidth":512,
 5 |  "margin":0,
 6 |  "name":"RoyalAddOn",
 7 |  "objectalignment":"topleft",
 8 |  "spacing":0,
 9 |  "tilecount":640,
10 |  "tiledversion":"1.7.2",
11 |  "tileheight":32,
12 |  "tilewidth":32,
13 |  "type":"tileset",
14 |  "version":"1.6"
15 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/TileB_32x32.json:
--------------------------------------------------------------------------------
 1 | { "columns":16,
 2 |  "image":"..\/tilesets\/TileB_32x32.png",
 3 |  "imageheight":512,
 4 |  "imagewidth":512,
 5 |  "margin":0,
 6 |  "name":"TileB_32x32",
 7 |  "spacing":0,
 8 |  "tilecount":256,
 9 |  "tiledversion":"1.7.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":"1.6"
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/Tileset.json:
--------------------------------------------------------------------------------
 1 | { "columns":32,
 2 |  "image":"..\/tilesets\/Tileset.png",
 3 |  "imageheight":2016,
 4 |  "imagewidth":1024,
 5 |  "margin":0,
 6 |  "name":"Tileset",
 7 |  "spacing":0,
 8 |  "tilecount":2016,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/autumn.json:
--------------------------------------------------------------------------------
 1 | { "columns":16,
 2 |  "image":"..\/tilesets\/autumn.png",
 3 |  "imageheight":512,
 4 |  "imagewidth":512,
 5 |  "margin":0,
 6 |  "name":"autumn",
 7 |  "spacing":0,
 8 |  "tilecount":256,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/big-village.json:
--------------------------------------------------------------------------------
 1 | { "columns":40,
 2 |  "image":"..\/tilesets\/big-village.jpg",
 3 |  "imageheight":5120,
 4 |  "imagewidth":1280,
 5 |  "margin":0,
 6 |  "name":"big-village",
 7 |  "spacing":0,
 8 |  "tilecount":6400,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/blood-letter-number.json:
--------------------------------------------------------------------------------
 1 | { "columns":12,
 2 |  "image":"..\/tilesets\/blood-letter-number.png",
 3 |  "imageheight":256,
 4 |  "imagewidth":384,
 5 |  "margin":0,
 6 |  "name":"blood-letter-number",
 7 |  "spacing":0,
 8 |  "tilecount":96,
 9 |  "tiledversion":"1.7.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":"1.6"
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/castle.json:
--------------------------------------------------------------------------------
 1 | { "columns":16,
 2 |  "image":"..\/tilesets\/castle.png",
 3 |  "imageheight":512,
 4 |  "imagewidth":512,
 5 |  "margin":0,
 6 |  "name":"castle",
 7 |  "spacing":0,
 8 |  "tilecount":256,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/castle2.json:
--------------------------------------------------------------------------------
 1 | { "columns":15,
 2 |  "image":"..\/tilesets\/castle2.png",
 3 |  "imageheight":256,
 4 |  "imagewidth":480,
 5 |  "margin":0,
 6 |  "name":"castle2",
 7 |  "spacing":0,
 8 |  "tilecount":120,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/castle5.json:
--------------------------------------------------------------------------------
 1 | { "columns":15,
 2 |  "image":"..\/tilesets\/castle5.png",
 3 |  "imageheight":256,
 4 |  "imagewidth":480,
 5 |  "margin":0,
 6 |  "name":"castle5",
 7 |  "spacing":0,
 8 |  "tilecount":120,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/colorful-tree-flowers.json:
--------------------------------------------------------------------------------
 1 | { "columns":16,
 2 |  "image":"..\/tilesets\/colorful-tree-flowers.png",
 3 |  "imageheight":512,
 4 |  "imagewidth":512,
 5 |  "margin":0,
 6 |  "name":"colorful-tree-flowers",
 7 |  "spacing":0,
 8 |  "tilecount":256,
 9 |  "tiledversion":"1.5.0",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.5
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/dungeon-furniture-skeleton.json:
--------------------------------------------------------------------------------
 1 | { "columns":8,
 2 |  "image":"..\/tilesets\/dungeon-furniture-skeleton.png",
 3 |  "imageheight":11000,
 4 |  "imagewidth":256,
 5 |  "margin":0,
 6 |  "name":"dungeon-furniture-skeleton",
 7 |  "spacing":0,
 8 |  "tilecount":2744,
 9 |  "tiledversion":"1.7.1",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":"1.6"
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/gems.json:
--------------------------------------------------------------------------------
 1 | { "columns":19,
 2 |  "image":"..\/tilesets\/gems.png",
 3 |  "imageheight":288,
 4 |  "imagewidth":624,
 5 |  "margin":0,
 6 |  "name":"gems",
 7 |  "spacing":0,
 8 |  "tilecount":171,
 9 |  "tiledversion":"1.7.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":"1.6"
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/golang-logo.json:
--------------------------------------------------------------------------------
 1 | { "columns":50,
 2 |  "image":"..\/tilesets\/golang-logo.png",
 3 |  "imageheight":1600,
 4 |  "imagewidth":1600,
 5 |  "margin":0,
 6 |  "name":"golang-logo",
 7 |  "spacing":0,
 8 |  "tilecount":2500,
 9 |  "tiledversion":"1.5.0",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.5
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/gradle-logo.json:
--------------------------------------------------------------------------------
 1 | { "columns":50,
 2 |  "image":"..\/tilesets\/gradle-logo.png",
 3 |  "imageheight":1600,
 4 |  "imagewidth":1600,
 5 |  "margin":0,
 6 |  "name":"gradle-logo",
 7 |  "spacing":0,
 8 |  "tilecount":2500,
 9 |  "tiledversion":"1.5.0",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.5
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/huge-tileset.json:
--------------------------------------------------------------------------------
 1 | { "columns":63,
 2 |  "image":"..\/tilesets\/huge-tileset.png",
 3 |  "imageheight":1088,
 4 |  "imagewidth":2016,
 5 |  "margin":0,
 6 |  "name":"huge-tileset",
 7 |  "spacing":0,
 8 |  "tilecount":2142,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/kotlin-island.json:
--------------------------------------------------------------------------------
 1 | { "columns":50,
 2 |  "image":"..\/tilesets\/kotlin-island.png",
 3 |  "imageheight":1600,
 4 |  "imagewidth":1600,
 5 |  "margin":0,
 6 |  "name":"kotlin-island",
 7 |  "spacing":0,
 8 |  "tilecount":2500,
 9 |  "tiledversion":"1.5.0",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.5
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/misc1.json:
--------------------------------------------------------------------------------
 1 | { "columns":8,
 2 |  "image":"..\/tilesets\/misc1.png",
 3 |  "imageheight":6176,
 4 |  "imagewidth":256,
 5 |  "margin":0,
 6 |  "name":"misc1",
 7 |  "spacing":0,
 8 |  "tilecount":1544,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/misc3.json:
--------------------------------------------------------------------------------
 1 | { "columns":8,
 2 |  "image":"..\/tilesets\/misc3.png",
 3 |  "imageheight":4992,
 4 |  "imagewidth":256,
 5 |  "margin":0,
 6 |  "name":"misc3",
 7 |  "spacing":0,
 8 |  "tilecount":1248,
 9 |  "tiledversion":"1.5.0",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.5
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/misc5.json:
--------------------------------------------------------------------------------
 1 | { "columns":8,
 2 |  "image":"..\/tilesets\/misc5.png",
 3 |  "imageheight":4832,
 4 |  "imagewidth":256,
 5 |  "margin":0,
 6 |  "name":"misc5",
 7 |  "spacing":0,
 8 |  "tilecount":1208,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/misc7.json:
--------------------------------------------------------------------------------
 1 | { "columns":8,
 2 |  "image":"..\/tilesets\/misc7.png",
 3 |  "imageheight":1952,
 4 |  "imagewidth":256,
 5 |  "margin":0,
 6 |  "name":"misc7",
 7 |  "spacing":0,
 8 |  "tilecount":488,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/mountain_landscape.json:
--------------------------------------------------------------------------------
 1 | { "columns":16,
 2 |  "image":"..\/tilesets\/mountain_landscape.png",
 3 |  "imageheight":512,
 4 |  "imagewidth":512,
 5 |  "margin":0,
 6 |  "name":"mountain_landscape",
 7 |  "spacing":0,
 8 |  "tilecount":256,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/oasis-body.json:
--------------------------------------------------------------------------------
 1 | { "columns":6,
 2 |  "image":"..\/tilesets\/oasis-body.png",
 3 |  "imageheight":256,
 4 |  "imagewidth":192,
 5 |  "margin":0,
 6 |  "name":"oasis-body",
 7 |  "spacing":0,
 8 |  "tilecount":48,
 9 |  "tiledversion":"1.7.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":"1.6"
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/pub-interior.json:
--------------------------------------------------------------------------------
 1 | { "columns":16,
 2 |  "image":"..\/tilesets\/pub-interior.png",
 3 |  "imageheight":512,
 4 |  "imagewidth":512,
 5 |  "margin":0,
 6 |  "name":"pub-interior",
 7 |  "spacing":0,
 8 |  "tilecount":256,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/pub-long-table.json:
--------------------------------------------------------------------------------
 1 | { "columns":16,
 2 |  "image":"..\/tilesets\/pub-long-table.png",
 3 |  "imageheight":512,
 4 |  "imagewidth":512,
 5 |  "margin":0,
 6 |  "name":"pub-long-table",
 7 |  "spacing":0,
 8 |  "tilecount":256,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/python-logo.json:
--------------------------------------------------------------------------------
 1 | { "columns":50,
 2 |  "image":"..\/tilesets\/python-logo.png",
 3 |  "imageheight":1600,
 4 |  "imagewidth":1600,
 5 |  "margin":0,
 6 |  "name":"python-logo",
 7 |  "spacing":0,
 8 |  "tilecount":2500,
 9 |  "tiledversion":"1.5.0",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.5
14 | }


--------------------------------------------------------------------------------
/resources/raw/tileset-jsons/restaurant-crate.json:
--------------------------------------------------------------------------------
 1 | { "columns":16,
 2 |  "image":"..\/tilesets\/restaurant-crate.png",
 3 |  "imageheight":512,
 4 |  "imagewidth":512,
 5 |  "margin":0,
 6 |  "name":"restaurant-crate",
 7 |  "spacing":0,
 8 |  "tilecount":576,
 9 |  "tiledversion":"1.4.2",
10 |  "tileheight":32,
11 |  "tilewidth":32,
12 |  "type":"tileset",
13 |  "version":1.4
14 | }


--------------------------------------------------------------------------------
/resources/raw/tilesets/BrowserQuest_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/BrowserQuest_32x32.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Crystal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Crystal.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Flame.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Flame.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Furniture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Furniture.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Hexagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Hexagram.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/JavaIslandNewbieVillageOldMan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/JavaIslandNewbieVillageOldMan.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/JavaIslandNewbieVillagePubBartender.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/JavaIslandNewbieVillagePubBartender.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/JavaIslandNewbieVillagePubGirl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/JavaIslandNewbieVillagePubGirl.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/JavaIslandNewbieVillagePubGuard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/JavaIslandNewbieVillagePubGuard.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/JavaIslandNewbieVillagePubTestEngineer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/JavaIslandNewbieVillagePubTestEngineer.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Misc_WallInteriorIcon_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Misc_WallInteriorIcon_32x32.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Outside_CAqua.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Outside_CAqua.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Outside_CBlue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Outside_CBlue.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Outside_CGold.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Outside_CGold.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Outside_CGreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Outside_CGreen.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Outside_CLime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Outside_CLime.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Outside_CPink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Outside_CPink.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Outside_CPurple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Outside_CPurple.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Outside_CTurq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Outside_CTurq.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/RoyalAddOn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/RoyalAddOn.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/TeslaCoil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/TeslaCoil.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/TeslaCoilAttack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/TeslaCoilAttack.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/TileB_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/TileB_32x32.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Tileset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Tileset.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/WaterFall_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/WaterFall_32x32.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/Water_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/Water_32x32.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/arab-palace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/arab-palace.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/autumn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/autumn.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/beds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/beds.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/big-village.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/big-village.jpg


--------------------------------------------------------------------------------
/resources/raw/tilesets/blood-letter-number.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/blood-letter-number.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/book-bottle-coffee.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/book-bottle-coffee.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/bulletin-wanted.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/bulletin-wanted.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/castle-exterior.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/castle-exterior.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/castle-exterior2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/castle-exterior2.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/castle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/castle.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/castle2-s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/castle2-s.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/castle2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/castle2.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/castle3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/castle3.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/castle4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/castle4.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/castle5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/castle5.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/castle6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/castle6.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/castle7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/castle7.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/christmas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/christmas.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/colorful-tree-flowers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/colorful-tree-flowers.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/doors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/doors.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/doors2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/doors2.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/dungeon-furniture-skeleton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/dungeon-furniture-skeleton.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/floating island.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/floating island.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/floating-box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/floating-box.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/forest-castle-flower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/forest-castle-flower.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/forest-plant-flower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/forest-plant-flower.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/forest-plant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/forest-plant.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furniture12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furniture12.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furniture13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furniture13.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furniture2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furniture2.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furniture3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furniture3.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furniture4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furniture4.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furniture5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furniture5.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furniture6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furniture6.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furniture7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furniture7.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furniture8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furniture8.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furniture9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furniture9.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/furnitures11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/furnitures11.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/gems.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/gems.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/golang-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/golang-logo.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/gradle-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/gradle-logo.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/ground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/ground.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/ground2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/ground2.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/huge-tileset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/huge-tileset.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/indoor-altar-furniture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/indoor-altar-furniture.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/indoor-bench-pumpkin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/indoor-bench-pumpkin.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/java-flag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/java-flag.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/kotlin-island.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/kotlin-island.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/matalbars.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/matalbars.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc-ground-interior.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc-ground-interior.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc1.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc10.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc11.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc12.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc2.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc3.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc4.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc5.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc6.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc7.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc8.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/misc9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/misc9.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/mountain_landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/mountain_landscape.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/oasis-body.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/oasis-body.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/outdoor-park-tree-flower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/outdoor-park-tree-flower.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/player14.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/player14.gif


--------------------------------------------------------------------------------
/resources/raw/tilesets/playground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/playground.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/portal-door.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/portal-door.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/prensent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/prensent.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/pub-interior.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/pub-interior.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/pub-long-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/pub-long-table.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/python-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/python-logo.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/restaurant-crate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/restaurant-crate.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/sea_animation_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/sea_animation_32x32.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/storefront-animation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/storefront-animation.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/swimming-pool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/swimming-pool.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/texture1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/texture1.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/texture2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/texture2.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/textures3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/textures3.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/textures4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/textures4.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/traffic-sign-street-lamp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/traffic-sign-street-lamp.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/vehicle-animation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/vehicle-animation.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/window2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/window2.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/windows.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/windows.png


--------------------------------------------------------------------------------
/resources/raw/tilesets/wooden-floor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/resources/raw/tilesets/wooden-floor.png


--------------------------------------------------------------------------------
/server-shared/common/src/main/kotlin/com/bytelegend/app/servershared/codechecker/Constants.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | package com.bytelegend.app.servershared.codechecker
18 | 
19 | const val INTERNAL_API_SECRET_HEADER_NAME = "Internal-Api-Secret"
20 | 


--------------------------------------------------------------------------------
/server-shared/common/src/main/kotlin/com/bytelegend/app/servershared/dal/Mvcc.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.servershared.dal
17 | 
18 | interface Mvcc {
19 |     /**
20 |      * VersionedRecordExtension recognizes `null` as initial value.
21 |      */
22 |     val version: Int?
23 | }
24 | 


--------------------------------------------------------------------------------
/server-shared/common/src/main/kotlin/com/bytelegend/app/servershared/utils/RandomUtils.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.servershared.utils
17 | 
18 | import java.util.UUID
19 | 
20 | fun randomString() = UUID.randomUUID().toString().replace("-", "")
21 | 


--------------------------------------------------------------------------------
/server-shared/json-model/src/main/resources/json/query/ApiGithubComUserEmail.json:
--------------------------------------------------------------------------------
1 | {
2 |   "email": "bo@gradle.com",
3 |   "primary": true,
4 |   "verified": true,
5 |   "visibility": "public"
6 | }
7 | 


--------------------------------------------------------------------------------
/server-shared/json-model/src/main/resources/json/query/GitHubAppAccessToken.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "token": "",
 3 |   "expires_at": "2020-11-03T06:52:47Z",
 4 |   "permissions": {
 5 |     "actions": "write",
 6 |     "checks": "write",
 7 |     "contents": "write",
 8 |     "deployments": "write",
 9 |     "metadata": "read",
10 |     "pull_requests": "write",
11 |     "statuses": "write"
12 |   },
13 |   "repository_selection": "all"
14 | }
15 | 


--------------------------------------------------------------------------------
/server-shared/json-model/src/main/resources/json/query/MergePullRequestErrorResponse.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": {
 3 |     "mergePullRequest": null
 4 |   },
 5 |   "errors": [
 6 |     {
 7 |       "type": "UNPROCESSABLE",
 8 |       "path": [
 9 |         "mergePullRequest"
10 |       ],
11 |       "locations": [
12 |         {
13 |           "line": 2,
14 |           "column": 7
15 |         }
16 |       ],
17 |       "message": "Head branch was modified. Review and try the merge again."
18 |     }
19 |   ]
20 | }


--------------------------------------------------------------------------------
/server-shared/json-model/src/main/resources/json/query/MergePullRequestSuccessResponse.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "data": {
 3 |     "mergePullRequest": {
 4 |       "pullRequest": {
 5 |         "commits": {
 6 |           "nodes": [
 7 |             {
 8 |               "commit": {
 9 |                 "oid": "a28b9ec31acac0fc5f49153524264d061f9fc76b"
10 |               }
11 |             }
12 |           ]
13 |         }
14 |       }
15 |     }
16 |   }
17 | }


--------------------------------------------------------------------------------
/server-shared/json-model/src/main/resources/json/query/PullRequestMergeResponse.json:
--------------------------------------------------------------------------------
1 | {
2 |   "sha": "6dcb09b5b57875f334f61aebed695e2e4193db5e",
3 |   "merged": true,
4 |   "message": "Pull Request successfully merged"
5 | }


--------------------------------------------------------------------------------
/server-shared/json-model/src/main/resources/json/stream/GitHubActionsOutputStreamEvent.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "type": 1,
 3 |   "target": "logConsoleLines",
 4 |   "arguments": [
 5 |     {
 6 |       "runId": 64,
 7 |       "timelineId": "c34a1c53-51e0-4807-8242-2adb20ba9aaa",
 8 |       "timelineRecordId": "be919a0f-c709-5b1d-488a-d5e7ec449945",
 9 |       "stepRecordId": "c1bbce7a-e250-5fdf-d71d-17e75f6db718",
10 |       "startLine": 248,
11 |       "lines": [
12 |         "Fetched data from 0 at 2015-03-30 00:00:00-23:59:59",
13 |         "Fetched data from 100 at 2015-03-30 00:00:00-23:59:59",
14 |         "Saved 117 changesets to /home/runner/work/aosp-changesets-statistics/aosp-changesets-statistics/build/2015-03-30.json"
15 |       ]
16 |     }
17 |   ]
18 | }
19 | 


--------------------------------------------------------------------------------
/server-shared/json-model/src/main/resources/json/stream/LiveLogsResponse.json:
--------------------------------------------------------------------------------
1 | {
2 |   "success": true,
3 |   "errors": [],
4 |   "data": {
5 |     "authenticated_url": "https://pipelines.actions.githubusercontent.com/a5FwH1ZtG1Cq9G7KvUHx22MVjPT4RNUsSCY5Q109mgk8aKNZf7/_apis/pipelines/1/runs/66/live?api-version=5.2-preview.1&urlExpires=2021-06-24T00%3A12%3A34.2524038Z&urlSigningMethod=HMACV1&urlSignature=KFFO81xiuRigMYB383g1nvSa2URy3KZUCBa2XFmRTMQ%3D"
6 |   }
7 | }
8 | 


--------------------------------------------------------------------------------
/server-shared/json-model/src/main/resources/json/stream/PipelinesAuthenticatedUrlResponse.json:
--------------------------------------------------------------------------------
1 | {
2 |   "logStreamWebSocketUrl": "wss://pipelines.actions.githubusercontent.com/a5FwH1ZtG1Cq9G7KvUHx22MVjPT4RNUsSCY5Q109mgk8aKNZf7/ActionsHub?runId=66&tenantId=8915c40f-7420-4adc-a07d-204965709a18&urlExpires=2021-06-24T00%3A31%3A39.8189163Z&urlSigningMethod=HMACV1&urlSignature=Vx5Y81JaFo1QYzKpnt2YZezu%2Bops5iCmwGAuL9H5hwY%3D"
3 | }
4 | 


--------------------------------------------------------------------------------
/server-shared/json-model/src/main/resources/json/stream/StreamWebSocketSentArguments.json:
--------------------------------------------------------------------------------
1 | {
2 |   "arguments": [
3 |     "8915c40f-7420-4adc-a07d-204965709a18",
4 |     66
5 |   ],
6 |   "target": "WatchRunAsync",
7 |   "type": 1
8 | }
9 | 


--------------------------------------------------------------------------------
/server-shared/json-model/src/main/resources/json/stream/StreamWebSocketSentProtocolVersion.json:
--------------------------------------------------------------------------------
1 | {
2 |   "protocol": "json",
3 |   "version": 1
4 | }
5 | 


--------------------------------------------------------------------------------
/shared/src/commonMain/kotlin/com/bytelegend/app/shared/Layers.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.shared
17 | 
18 | const val PLAYER_LAYER = 0
19 | const val INVISIBLE_OBJECT_LAYER = 0
20 | const val LOG_STREAM_EFFECT_LAYER = 100
21 | 


--------------------------------------------------------------------------------
/shared/src/commonMain/kotlin/com/bytelegend/app/shared/Missions.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.shared
17 | 
18 | const val FIRST_PULL_REQUEST_MISSION_ID = "remember-brave-people"
19 | 


--------------------------------------------------------------------------------
/shared/src/commonMain/kotlin/com/bytelegend/app/shared/StaticGameMap.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.shared
17 | 


--------------------------------------------------------------------------------
/shared/src/commonMain/kotlin/com/bytelegend/app/shared/codegen/CommonDefinitions.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.shared.codegen
17 | 
18 | interface ToKotlinCode {
19 |     fun toKotlinCode(): String
20 | }
21 | 
22 | fun List<ToKotlinCode>.toKotlinCode() = joinToString(",\n") { it.toKotlinCode() }
23 | 


--------------------------------------------------------------------------------
/shared/src/commonMain/kotlin/com/bytelegend/app/shared/entities/LivestreamData.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | 
17 | package com.bytelegend.app.shared.entities
18 | 
19 | data class LivestreamData(
20 |     val id: String,
21 |     val title: String,
22 |     val url: String,
23 |     val startEpochMs: Long,
24 |     val endEpochMs: Long
25 | )
26 | 


--------------------------------------------------------------------------------
/shared/src/commonMain/kotlin/com/bytelegend/app/shared/entities/mission/DiscussionsSpec.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.shared.entities.mission
17 | 
18 | data class DiscussionsSpec(
19 |     val url: String
20 | )
21 | 
22 | val DEFAULT_DISCUSSIONS_SPEC = DiscussionsSpec("https://github.com/ByteLegend/ByteLegend/discussions")
23 | 


--------------------------------------------------------------------------------
/shared/src/commonMain/kotlin/com/bytelegend/app/shared/entities/mission/Pagination.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.shared.entities.mission
17 | 
18 | data class Pagination<T>(
19 |     val items: List<T>,
20 |     val totalPages: Int,
21 |     val pageNumber: Int,
22 |     val pageSize: Int
23 | )
24 | 


--------------------------------------------------------------------------------
/shared/src/commonMain/kotlin/com/bytelegend/app/shared/protocol/PlayerSpeechEventData.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.shared.protocol
17 | 
18 | import com.bytelegend.app.shared.annotations.JsonIgnore
19 | 
20 | data class PlayerSpeechEventData(
21 |     val playerId: String,
22 |     val sentenceId: String
23 | ) {
24 |     @JsonIgnore
25 |     fun isOnymous(): Boolean = !playerId.startsWith("anon#")
26 | }
27 | 


--------------------------------------------------------------------------------
/shared/src/commonMain/kotlin/com/bytelegend/app/shared/protocol/Sentences.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.shared.protocol
17 | 
18 | val sentences = linkedSetOf(
19 |     "HelloWorld",
20 |     "NiceDayHuh",
21 |     "GamesAreTheLadder"
22 | )
23 | 


--------------------------------------------------------------------------------
/shared/src/jsMain/kotlin/com/bytelegend/app/shared/util/Utils.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.app.shared.util
17 | 
18 | import kotlin.js.Date
19 | 
20 | actual fun currentTimeMillis(): Long = Date().getTime().toLong()
21 | actual fun currentTimeIso8601(): String = Date().toISOString()
22 | actual fun Long.toIso8601(): String = Date(this).toISOString()
23 | actual fun String.iso8601ToEpochMs(): Long = Date(this).getTime().toLong()
24 | 


--------------------------------------------------------------------------------
/utils/README.md:
--------------------------------------------------------------------------------
 1 | # ByteLegend map conventions
 2 | 
 3 | - Tiles are placed in layers. All visible tile layers will be displayed on the game map as they are, with the following exceptions:
 4 |   - Layer `Blockers` are used to place blocker signs. They are not displayed on the game map.
 5 |   - Layer `Player` is a special marker layer. Layers above this layer are displayed above the players in the game,
 6 |     layers below this layer are displayed under the players in the map.
 7 |   - Layers in `DynamicSprites` are not directly displayed. They're usually dynamically added by game scripts.
 8 |     - Each such layer should only contain a single sprite. The layer name is used as `GameMapDynamicSprite.id`.
 9 | - Object layers are used to store `GameMapObject`s. See class `TiledObjectType`.
10 | 


--------------------------------------------------------------------------------
/utils/src/main/kotlin/com/bytelegend/utils/ImageUtils.kt:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2021 ByteLegend Technologies and the original author or authors.
 3 |  *
 4 |  * Licensed under the GNU Affero General Public License v3.0 (the "License");
 5 |  * you may not use this file except in compliance with the License.
 6 |  * You may obtain a copy of the License at
 7 |  *
 8 |  *      https://github.com/ByteLegend/ByteLegend/blob/master/LICENSE
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS,
12 |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  * See the License for the specific language governing permissions and
14 |  * limitations under the License.
15 |  */
16 | package com.bytelegend.utils
17 | 
18 | import com.bytelegend.app.shared.RGBA
19 | import java.awt.Color
20 | import java.awt.image.BufferedImage
21 | 
22 | fun BufferedImage.getRGBA(x: Int, y: Int): RGBA {
23 |     return getRGB(x, y).let {
24 |         val color = Color(it, true)
25 |         RGBA(color.red, color.green, color.blue, color.alpha)
26 |     }
27 | }
28 | 


--------------------------------------------------------------------------------
/utils/src/test/resources/animation-set-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ByteLegend/ByteLegend/b1e831a83b4d3d43182014e2bf8064973d1ccf00/utils/src/test/resources/animation-set-0.png


--------------------------------------------------------------------------------