Closed
Conversation
…odification results
- Added `ClientboundSettingEntryQueryResultPacket`, `ClientboundSettingEntryQueryManyPacket`, `ClientboundSettingEntryModifyResultPacket`, and `ClientboundSettingEntryResetResultPacket`. - Updated packages and renamed existing packets to align with setting entry operations.
- Introduced `ServerboundSettingEntryQueryAllPacket`, `ServerboundSettingEntryQueryAllByPlayerPacket`, `ServerboundSettingEntryResetPacket`, and `ServerboundSettingEntryModifyPacket`. - Updated and renamed existing serverbound packets to align with setting entry operations.
…nd update related types
… for settings and setting entries - Added `SettingEntity`, `SettingEntryEntity`, `SettingsTable`, and `SettingsEntryTable`. - Implemented `SettingRepository` and `SettingEntryRepository` for data access. - Introduced `SettingService` and `SettingEntryService` for business logic.
- Implemented `SettingEntryPacketListener` for handling setting entry packets. - Updated `SettingEntryRepository` and `SettingEntryService` to use `ObjectSet` for results. - Adjusted all relevant methods to return `ObjectSet` for consistency. - Minor XML configuration update for project settings.
- Introduced clientbound packets: `ClientboundSettingCreateResultPacket`, `ClientboundSettingCreateIgnoringResultPacket`, `ClientboundSettingDeleteResultPacket`, `ClientboundSettingQueryManyPacket`, and `ClientboundSettingQueryResultPacket`. - Introduced serverbound packets: `ServerboundSettingCreatePacket`, `ServerboundSettingCreateIgnoringPacket`, `ServerboundSettingDeletePacket`, `ServerboundSettingQueryAllPacket`, and `ServerboundSettingQueryPacket`.
…ObjectSet - Implemented `SettingPacketListener` for packet handling related to settings. - Updated `SettingService` and `SettingRepository` methods to return `ObjectSet` for consistent results.
- Implemented `ClientSettingBridge` and `ClientSettingEntryBridge` for handling client-side operations. - Configured `surf-settings-core-client` module with necessary dependencies and plugins.
… setting entries - Moved `SettingEntry` and related implementations to a new `entry` package. - Introduced `CommonSettingBridge`, `CommonSettingEntryBridge`, `ServerSettingBridge`, and `ServerSettingEntryBridge` for shared implementation of server operations. - Updated imports and references across modules to reflect the new structure. - Added `surf-settings-core-client` module to the project.
- Introduced `queryByCategory` in `SettingService` and `SettingRepository` for filtering settings by category. - Added `category` field to `SettingsTable`, `SettingImpl`, and `Setting` interface. - Implemented `ServerboundSettingQueryByCategoryPacket` and updated `SettingPacketListener` to handle category-based queries. - Updated bridges and related components to support the new query method.
- Added `surf-settings-example` module with a basic implementation for demonstration. - Updated `build.gradle.kts` files to include author metadata across modules. - Introduced `settingsEntryBridge` and `settingsBridge` for easier access to settings and entries in API.
…e for category management
…ueries and creation
…egory not found scenario
…upport dynamic value modification
…te related interfaces
There was a problem hiding this comment.
Pull Request Overview
This PR implements a settings management system ("surf-settings") by replacing the template boilerplate with a complete settings API infrastructure. The version has been updated from 1.21.7 to 1.21.10.
Key changes:
- Introduced a comprehensive settings API with categories, settings, and user entries
- Replaced template code with settings-specific implementations across all modules
- Added example plugin demonstrating settings usage
- Upgraded Gradle from 8.12 to 8.14.3
Reviewed Changes
Copilot reviewed 89 out of 100 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| gradle.properties | Updated version to 1.21.10-1.0.0 |
| gradle/wrapper/gradle-wrapper.properties | Upgraded Gradle to 8.14.3 |
| settings.gradle.kts | Renamed project and restructured modules for settings system |
| surf-settings-api/* | Added API layer for settings, categories, and entries with serializers |
| surf-settings-core/* | Implemented core functionality including netty protocols and bridges |
| surf-settings-server/* | Added server-side implementation with database tables and repositories |
| surf-settings-paper/* | Created Paper plugin implementation |
| surf-settings-velocity/* | Created Velocity plugin implementation |
| surf-settings-example/* | Added example plugin with command demonstrations |
| surf-cloud-plugin-template-* | Removed template boilerplate files |
Files not reviewed (1)
- .idea/discord.xml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
surf-settings-server/src/main/kotlin/dev/slne/surf/settings/server/PluginMain.kt
Outdated
Show resolved
Hide resolved
surf-settings-paper/src/main/kotlin/dev/slne/surf/settings/paper/PaperMain.kt
Outdated
Show resolved
Hide resolved
…or PluginMain to remove unnecessary transaction wrapper
… for clarity and usability
…zer for database schema management
auto-merge was automatically disabled
January 12, 2026 18:46
Pull request was closed
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.
No description provided.