Skip to content

Feat/version/1.21.11 paper#8

Open
TheBjoRedCraft wants to merge 43 commits intoversion/1.21.11from
feat/version/1.21.11-paper
Open

Feat/version/1.21.11 paper#8
TheBjoRedCraft wants to merge 43 commits intoversion/1.21.11from
feat/version/1.21.11-paper

Conversation

@TheBjoRedCraft
Copy link
Copy Markdown
Member

This pull request primarily removes various IDE-specific configuration files and makes several updates to the project structure and build configuration. The changes focus on cleaning up project metadata, updating the module setup, and incrementing the project version for a new release cycle.

Project structure and build configuration updates:

  • Updated the included modules in settings.gradle.kts, replacing surf-friends-velocity and surf-friends-fallback with surf-friends-backend and surf-friends-paper to reflect a new project structure.
  • Changed the applied Gradle plugin in surf-friends-api/build.gradle.kts to dev.slne.surf.surfapi.gradle.paper-raw and added a surfRawPaperApi block with withCorePaper() to adjust the build for the new module setup.
  • Removed the surf-database library version and dependency from gradle/libs.versions.toml, indicating it is no longer needed.
  • Incremented the project version in gradle.properties from 1.21.11-2.0.2-SNAPSHOT to 1.21.11-3.0.0-SNAPSHOT for the next development cycle.

IDE and metadata cleanup:

…es with caching and player management functions
@TheBjoRedCraft TheBjoRedCraft self-assigned this Mar 6, 2026
Copilot AI review requested due to automatic review settings March 6, 2026 18:38
@github-project-automation github-project-automation bot moved this to Backlog in surf-friends Mar 6, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures the project for a new 1.21.11-3.0.0-SNAPSHOT development cycle by removing the Velocity/fallback implementation, introducing a Paper plugin + backend persistence layer, and cleaning IDE-specific metadata from the repository.

Changes:

  • Replace surf-friends-velocity + surf-friends-fallback modules with surf-friends-paper (plugin) + surf-friends-backend (DB/repositories/services).
  • Refactor the shared API/core around FriendPlayer caching via Redis and persistence via R2DBC Exposed tables/repositories.
  • Remove .idea/* files from version control and ignore the .idea directory.

Reviewed changes

Copilot reviewed 84 out of 101 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/util/uuid-util.kt Removed Velocity UUID/time/message utility code.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/util/friend-util.kt Removed Velocity friend online utility extensions.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/util/FriendPermissionRegistry.kt Removed Velocity permission constants.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/redis/listener/FriendshipRedisListener.kt Removed Velocity Redis listener implementation.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/redis/listener/FriendRequestRedisListener.kt Removed Velocity Redis listener implementation.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/redis/event/FriendRequestSendRedisEvent.kt Removed Velocity Redis event type.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/redis/event/FriendRequestRevokeRedisEvent.kt Removed Velocity Redis event type.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/redis/event/FriendRequestDenyRedisEvent.kt Removed Velocity Redis event type.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/redis/event/FriendRequestAcceptRedisEvent.kt Removed Velocity Redis event type.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/redis/event/FriendRemoveRedisEvent.kt Removed Velocity Redis event type.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/listener/ConnectionListener.kt Removed Velocity connection/disconnect handling.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/toggle/FriendSettingsSoundsCommand.kt Removed Velocity toggle sounds subcommand.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/toggle/FriendSettingsCommand.kt Removed Velocity settings subcommand group.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/toggle/FriendSettingsAnnouncementsCommand.kt Removed Velocity toggle announcements subcommand.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/request/FriendRequestSendCommand.kt Removed Velocity friend request send command.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/request/FriendRequestRevokeCommand.kt Removed Velocity friend request revoke command.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/request/FriendRequestListCommand.kt Removed Velocity friend request list command.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/request/FriendRequestDeclineCommand.kt Removed Velocity friend request decline command.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/request/FriendRequestAcceptCommand.kt Removed Velocity friend request accept command.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/friend/FriendRemoveCommand.kt Removed Velocity friend remove command.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/friend/FriendListCommand.kt Removed Velocity friend list command.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/friend/FriendJumpCommand.kt Removed Velocity friend jump command.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/subcommand/friend/FriendInfoCommand.kt Removed Velocity friend info command.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/argument/PlayerStringArgument.kt Removed Velocity player argument helper.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/command/FriendCommand.kt Removed Velocity root friend command registration.
surf-friends-velocity/src/main/kotlin/dev/slne/surf/friends/velocity/SurfFriendsPlugin.kt Removed Velocity plugin entrypoint.
surf-friends-velocity/build.gradle.kts Removed Velocity module build config.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/util/friend-util.kt Adds Paper Player.friendPlayer accessor.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/redis/event/FriendRequestNotifyRedisEvent.kt Adds Paper-side Redis event carrying a serialized Adventure component.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/redis/event/FriendNotifyRedisEvent.kt Adds Paper-side Redis event carrying a serialized Adventure component.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/redis/FriendRedisListener.kt Adds Paper Redis listeners gated by settings.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/permission/PermissionRegistry.kt Adds Paper permissions registry wrapper.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/listener/SurfPlayerListener.kt Adds network connect/disconnect notifications for friends.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/listener/PlayerConnectionListener.kt Adds player cache lifecycle (configure/join/quit) for Paper.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/hook/SettingsHook.kt Adds optional integration with surf-settings-paper.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/command/friend-command-util.kt Adds Paper friend request + friendship command helpers and pagination.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/command/argument/request/SentFriendRequestArgument.kt Adds CommandAPI argument for sent friend requests.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/command/argument/request/ReceivedFriendRequestArgument.kt Adds CommandAPI argument for received friend requests.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/command/argument/friend/OfflineFriendArgument.kt Adds CommandAPI argument to resolve friend players (async).
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/command/argument/friend/NonFriendOfflinePlayerArgument.kt Adds CommandAPI argument to resolve non-friends (async).
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/command/argument/friend/FriendPlayerArgument.kt Adds CommandAPI argument for cached friend players.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/command/FriendCommand.kt Adds Paper command tree for friend, plus fa/fl aliases.
surf-friends-paper/src/main/kotlin/dev/slne/surf/friends/paper/PaperMain.kt Adds Paper plugin entrypoint and loader wiring.
surf-friends-paper/build.gradle.kts Adds Paper plugin Gradle configuration and dependencies.
surf-friends-fallback/src/main/kotlin/dev/slne/surf/friends/fallback/table/FriendShipTable.kt Removed fallback DB table.
surf-friends-fallback/src/main/kotlin/dev/slne/surf/friends/fallback/table/FriendSettingsTable.kt Removed fallback DB table.
surf-friends-fallback/src/main/kotlin/dev/slne/surf/friends/fallback/table/FriendRequestTable.kt Removed fallback DB table.
surf-friends-fallback/src/main/kotlin/dev/slne/surf/friends/fallback/service/FallbackFriendService.kt Removed fallback service implementation.
surf-friends-fallback/src/main/kotlin/dev/slne/surf/friends/fallback/service/FallbackDatabaseService.kt Removed fallback database implementation.
surf-friends-fallback/src/main/kotlin/dev/slne/surf/friends/fallback/api/FallbackFriendApi.kt Removed fallback API implementation.
surf-friends-fallback/build.gradle.kts Removed fallback module build config.
surf-friends-core/src/main/kotlin/dev/slne/surf/friends/core/service/FriendShipService.kt Adds service abstraction for persisting friendships.
surf-friends-core/src/main/kotlin/dev/slne/surf/friends/core/service/FriendRequestService.kt Adds service abstraction for persisting friend requests.
surf-friends-core/src/main/kotlin/dev/slne/surf/friends/core/service/FriendPlayerService.kt Adds service abstraction for caching/loading friend players.
surf-friends-core/src/main/kotlin/dev/slne/surf/friends/core/loader/RedisLoader.kt Adds shared Redis loader + sync map cache.
surf-friends-core/src/main/kotlin/dev/slne/surf/friends/core/loader/DatabaseLoader.kt Adds shared database loader abstraction.
surf-friends-core/build.gradle.kts Switches core module to paper-raw plugin and enables Redis/Core Paper deps.
surf-friends-core/src/main/kotlin/dev/slne/surf/friends/core/service/FriendService.kt Removed old monolithic friend service interface.
surf-friends-core/src/main/kotlin/dev/slne/surf/friends/core/service/DatabaseService.kt Removed old monolithic database service interface.
surf-friends-core/src/main/kotlin/dev/slne/surf/friends/core/pair/CoreFriendSettings.kt Removed old settings model.
surf-friends-core/src/main/kotlin/dev/slne/surf/friends/core/model/CoreFriendship.kt Removed old friendship model.
surf-friends-core/src/main/kotlin/dev/slne/surf/friends/core/model/CoreFriendRequest.kt Removed old friend request model.
surf-friends-backend/src/main/kotlin/dev/slne/surf/friends/backend/table/FriendShipsTable.kt Adds R2DBC Exposed table for friendships.
surf-friends-backend/src/main/kotlin/dev/slne/surf/friends/backend/table/FriendRequestsTable.kt Adds R2DBC Exposed table for friend requests.
surf-friends-backend/src/main/kotlin/dev/slne/surf/friends/backend/table/FriendPlayerTable.kt Adds R2DBC Exposed table for friend players.
surf-friends-backend/src/main/kotlin/dev/slne/surf/friends/backend/service/FriendShipServiceImpl.kt Implements friendship persistence + cache updates.
surf-friends-backend/src/main/kotlin/dev/slne/surf/friends/backend/service/FriendRequestServiceImpl.kt Implements friend request persistence + cache updates.
surf-friends-backend/src/main/kotlin/dev/slne/surf/friends/backend/service/FriendPlayerServiceImpl.kt Implements player caching via Redis sync map and DB loading.
surf-friends-backend/src/main/kotlin/dev/slne/surf/friends/backend/repository/FriendShipRepository.kt Adds friendship repository (load/save/delete).
surf-friends-backend/src/main/kotlin/dev/slne/surf/friends/backend/repository/FriendRequestRepository.kt Adds request repository (load/save/delete).
surf-friends-backend/src/main/kotlin/dev/slne/surf/friends/backend/repository/FriendPlayerRepository.kt Adds player repository (load/create/save).
surf-friends-backend/src/main/kotlin/dev/slne/surf/friends/backend/DatabaseLoaderImpl.kt Implements schema setup + DB lifecycle.
surf-friends-backend/build.gradle.kts Adds backend module Gradle config incl. surf-database R2DBC.
surf-friends-api/src/main/kotlin/dev/slne/surf/friends/api/util/FriendSettings.kt Removed old FriendSettings interface.
surf-friends-api/src/main/kotlin/dev/slne/surf/friends/api/player/FriendPlayer.kt Adds new serializable FriendPlayer data model.
surf-friends-api/src/main/kotlin/dev/slne/surf/friends/api/model/Friendship.kt Removed old friendship interface model.
surf-friends-api/src/main/kotlin/dev/slne/surf/friends/api/model/FriendRequest.kt Removed old friend request interface model.
surf-friends-api/src/main/kotlin/dev/slne/surf/friends/api/friend/Friendship.kt Adds new serializable friendship model + factory.
surf-friends-api/src/main/kotlin/dev/slne/surf/friends/api/friend/FriendRequest.kt Adds new serializable friend request model + factory.
surf-friends-api/src/main/kotlin/dev/slne/surf/friends/api/SurfFriendsApi.kt Collapses SurfFriendsApi to a marker + requiredService accessor.
surf-friends-api/build.gradle.kts Switches API module to paper-raw plugin and Core Paper deps.
settings.gradle.kts Updates included modules to backend + paper.
gradle/wrapper/gradle-wrapper.properties Normalizes wrapper properties formatting.
gradle/libs.versions.toml Removes version catalog file (surf-database entry).
gradle.properties Bumps project version to 1.21.11-3.0.0-SNAPSHOT.
.idea/vcs.xml Removed IDE metadata.
.idea/modules/surf-friends-velocity/surf-friends.surf-friends-velocity.main.iml Removed IDE module metadata.
.idea/modules/surf-friends-fallback/surf-friends.surf-friends-fallback.main.iml Removed IDE module metadata.
.idea/modules/surf-friends-core/surf-friends.surf-friends-core.main.iml Removed IDE module metadata.
.idea/modules/surf-friends-api/surf-friends.surf-friends-api.main.iml Removed IDE module metadata.
.idea/misc.xml Removed IDE metadata.
.idea/material_theme_project_new.xml Removed IDE metadata.
.idea/kotlinc.xml Removed IDE metadata.
.idea/gradle.xml Removed IDE metadata.
.idea/discord.xml Removed IDE metadata.
.idea/copilot.data.migration.edit.xml Removed IDE metadata.
.idea/copilot.data.migration.ask2agent.xml Removed IDE metadata.
.idea/copilot.data.migration.agent.xml Removed IDE metadata.
.idea/compiler.xml Removed IDE metadata.
.idea/.gitignore Removed IDE metadata.
.gitignore Ignores .idea directory.
Files not reviewed (15)
  • .idea/.gitignore: Language not supported
  • .idea/compiler.xml: Language not supported
  • .idea/copilot.data.migration.agent.xml: Language not supported
  • .idea/copilot.data.migration.ask2agent.xml: Language not supported
  • .idea/copilot.data.migration.edit.xml: Language not supported
  • .idea/discord.xml: Language not supported
  • .idea/gradle.xml: Language not supported
  • .idea/kotlinc.xml: Language not supported
  • .idea/material_theme_project_new.xml: Language not supported
  • .idea/misc.xml: Language not supported
  • .idea/modules/surf-friends-api/surf-friends.surf-friends-api.main.iml: Language not supported
  • .idea/modules/surf-friends-core/surf-friends.surf-friends-core.main.iml: Language not supported
  • .idea/modules/surf-friends-fallback/surf-friends.surf-friends-fallback.main.iml: Language not supported
  • .idea/modules/surf-friends-velocity/surf-friends.surf-friends-velocity.main.iml: Language not supported
  • .idea/vcs.xml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 84 out of 101 changed files in this pull request and generated 5 comments.

Files not reviewed (15)
  • .idea/.gitignore: Language not supported
  • .idea/compiler.xml: Language not supported
  • .idea/copilot.data.migration.agent.xml: Language not supported
  • .idea/copilot.data.migration.ask2agent.xml: Language not supported
  • .idea/copilot.data.migration.edit.xml: Language not supported
  • .idea/discord.xml: Language not supported
  • .idea/gradle.xml: Language not supported
  • .idea/kotlinc.xml: Language not supported
  • .idea/material_theme_project_new.xml: Language not supported
  • .idea/misc.xml: Language not supported
  • .idea/modules/surf-friends-api/surf-friends.surf-friends-api.main.iml: Language not supported
  • .idea/modules/surf-friends-core/surf-friends.surf-friends-core.main.iml: Language not supported
  • .idea/modules/surf-friends-fallback/surf-friends.surf-friends-fallback.main.iml: Language not supported
  • .idea/modules/surf-friends-velocity/surf-friends.surf-friends-velocity.main.iml: Language not supported
  • .idea/vcs.xml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

3 participants