Add game recreation flow and local-dev test game management#4698
Draft
Copilot wants to merge 64 commits into
Draft
Add game recreation flow and local-dev test game management#4698Copilot wants to merge 64 commits into
Copilot wants to merge 64 commits into
Conversation
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/444104a4-0c8e-4a40-a44f-dd1f35258ed3 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/444104a4-0c8e-4a40-a44f-dd1f35258ed3 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/444104a4-0c8e-4a40-a44f-dd1f35258ed3 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/444104a4-0c8e-4a40-a44f-dd1f35258ed3 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/444104a4-0c8e-4a40-a44f-dd1f35258ed3 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/c9203464-1fed-4a9b-ae7a-4b9efbe44c4b Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/c9203464-1fed-4a9b-ae7a-4b9efbe44c4b Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/c9203464-1fed-4a9b-ae7a-4b9efbe44c4b Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/c9203464-1fed-4a9b-ae7a-4b9efbe44c4b Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/77b67617-2780-4fe9-8d0a-f86c22440e94 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/77b67617-2780-4fe9-8d0a-f86c22440e94 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/77b67617-2780-4fe9-8d0a-f86c22440e94 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
wholton
April 15, 2026 16:42
View session
Collaborator
|
@copilot resolve the merge conflicts in this pull request |
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/938d1e34-dee1-4f9e-b895-375e5faf9b67 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Contributor
Author
Collaborator
|
@copilot resolve the merge conflicts in this pull request |
…ap-file-and-channels Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Contributor
Author
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a game “recreation” utility for restoring Discord channels/roles from saved game state, plus a local-development workflow to clone a sample game into a disposable test game and manage cleanup via a developer command and optional startup hook.
Changes:
- Introduces
RecreateGameService(and/admin recreate_game) to recreate/move channels and roles for an existing game. - Adds
LocalDevelopmentSampleGameService(and/developer local_dev) to create/cleanup local-dev “test games” cloned from a source save. - Extends persistence loading with
GameManager.loadFromPath(...)/GameLoadService.load(Path)and adds focused unit tests for the new helpers.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/java/ti4/service/game/RecreateGameService.java | Core logic to recreate roles/channels/threads and produce a summary result. |
| src/main/java/ti4/service/game/LocalDevelopmentSampleGameService.java | Local-dev clone + cleanup flow for test games (including Discord resource deletion). |
| src/main/java/ti4/discord/interactions/commands/admin/RecreateGame.java | New admin subcommand to trigger recreation for a named game. |
| src/main/java/ti4/discord/interactions/commands/admin/AdminCommand.java | Registers the new recreate_game admin subcommand. |
| src/main/java/ti4/discord/interactions/commands/developer/LocalDevelopment.java | New developer subcommand to create/clean local-dev test games. |
| src/main/java/ti4/discord/interactions/commands/developer/DeveloperCommand.java | Registers the new local_dev developer subcommand. |
| src/main/java/ti4/discord/JdaService.java | Adds optional startup hook to auto-create a local-dev test game after games load. |
| src/main/java/ti4/game/persistence/GameManager.java | Adds loadFromPath(Path) wrapper for loading a game from an arbitrary path. |
| src/main/java/ti4/game/persistence/GameLoadService.java | Adds load(Path) overload to read a game file directly from a Path. |
| src/main/java/ti4/helpers/Constants.java | Adds new command/option constants used by the new slash commands. |
| src/test/java/ti4/service/game/RecreateGameServiceTest.java | Unit tests for test-game marker parsing and channel-name sanitization. |
| src/test/java/ti4/service/game/LocalDevelopmentSampleGameServiceTest.java | Unit tests for clone preparation and local-dev startup arg handling. |
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/bbf1835e-b004-457a-9135-0146c7e36ffc Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/bbf1835e-b004-457a-9135-0146c7e36ffc Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/bbf1835e-b004-457a-9135-0146c7e36ffc Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/ccb5174b-b5e3-4290-a0cb-d842507f34a3 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/ccb5174b-b5e3-4290-a0cb-d842507f34a3 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
…ap-file-and-channels
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/a446f0af-df39-432d-bec9-ba9c47550317 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/a446f0af-df39-432d-bec9-ba9c47550317 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/a446f0af-df39-432d-bec9-ba9c47550317 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/a446f0af-df39-432d-bec9-ba9c47550317 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/a446f0af-df39-432d-bec9-ba9c47550317 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/a446f0af-df39-432d-bec9-ba9c47550317 Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
…hub.com/AsyncTI4/TI4_map_generator_bot into copilot/add-local-map-file-and-channels
…ap-file-and-channels
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/28da3320-ec80-43e9-8e94-b3022aa44fab Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/28da3320-ec80-43e9-8e94-b3022aa44fab Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/28da3320-ec80-43e9-8e94-b3022aa44fab Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/28da3320-ec80-43e9-8e94-b3022aa44fab Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
Agent-Logs-Url: https://github.com/AsyncTI4/TI4_map_generator_bot/sessions/28da3320-ec80-43e9-8e94-b3022aa44fab Co-authored-by: wholton <3317595+wholton@users.noreply.github.com>
…hub.com/AsyncTI4/TI4_map_generator_bot into copilot/add-local-map-file-and-channels
…ap-file-and-channels
🔬 Test Results✅ JSON ValidationNo JSON files changed. ✅ Formatting Checks PassedAll files pass Spotless formatting. ✅ JUnit Tests PassedAll tests passed successfully. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
/show_gamebehavior that fits FoW rendering rules