-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2.0.0 #19
Conversation
This file contains 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
Replaced LevelView with PaperLevelView and added PluginGeneratorView. This improves the modularity and clarity of view-related components in the plugin.
Replace list() method with isDirectory() to correctly verify if the presets folder exists. This prevents potential null pointer exceptions and ensures default presets are saved only when the folder is missing.
This commit introduces the GeneratorView interface and its implementation, PluginGeneratorView. The new classes provide methods to check if a plugin has custom world generators or biome providers.
Relocate `worlds/model` package from `plugin` to `api` for better modularity. Introduce `@NotNull` annotations to enforce non-null constraints across types, fields, parameters, and methods.
Introduced the `LevelView` interface in the API module to standardize level loading and management operations. Added annotations to ensure non-null fields, methods, and parameters by default in the `view` package, and renamed `LevelView.java` to `PaperLevelView.java` in the plugin module for clarity.
This change simplifies the code by removing private methods for checking generators and instead uses the generatorView() method directly. It improves readability and maintains consistency with the existing codebase.
Ensure that the specified plugin has an associated generator before proceeding. This enhances the validation logic and prevents potential errors during the command execution.
Introduced the WorldDeleteEvent class to manage events related to the deletion of Minecraft worlds. This includes creating the event constructor and handler list required for proper event management in Bukkit.
Introduce the WorldRegenerateEvent class extending WorldDeleteEvent to handle world regeneration events. This allows for better event management and modular handling of world-related actions in the system.
Introduced `@TypesAreNotNullByDefault`, `@FieldsAreNotNullByDefault`, `@ParametersAreNotNullByDefault`, and `@MethodsReturnNotNullByDefault` annotations to ensure better null safety in the `net.thenextlvl.worlds.event` package. This change enhances code robustness by enforcing non-null standards across the package.
Moved classes and interfaces to the 'api' subpackage for better organization and clarity. This change affects event, link, model, preset, and view packages and ensures a more modular structure.
Added a new `WorldsProvider` interface and updated `WorldsPlugin` to implement it. This ensures the core services (GeneratorView, LevelView, LinkController) are registered and available through the plugin lifecycle.
Remove unnecessary whitespace in the dependencies block. This enhances readability and maintains consistent code formatting throughout the build script.
Reorganize and optimize import statements to improve code readability and maintainability. Group related imports together and ensure consistency across multiple files.
Deleted the 'command.argument' property from both German and English resource files. This property was no longer in use, simplifying the resource file content.
Reorganized and standardized the order of messages and commands for better clarity and consistency in both English and German resource files. Ensuring all properties are properly aligned.
Refactor command message keys and add missing translations. This ensures consistency and clarity in user feedback for world saving commands both in English and German resource files.
Replaced the generic spawn message with a detailed message that includes the world name using the Placeholder API. This improves user feedback by specifying the world they have been teleported to.
Replaced ServerLoadEvent with WorldLoadEvent for better specificity. Enhanced logging to provide clearer information on dimension loads and error handling.
Refactor structure override parsing logic to reduce redundancy and streamline code. Introduce additional handling for `structure_overrides` when they are provided as strings. This improves code maintainability and robustness.
This change ensures that methods in the PaperLevelView class are annotated with @OverRide, improving code readability and reducing the potential for errors during method overriding. It also enhances consistency and clarity by explicitly indicating overridden methods from the interface.
Introduce overloaded loadLevel methods with an optional NamespacedKey parameter, enhancing the flexibility and customization of world loading. Adjusted the logic in PaperLevelView to support the new parameter while maintaining backward compatibility. The changes streamline the process of setting unique keys for worlds based on their names or provided values.
This change updates the WorldImportCommand to include a new "key" argument. The key parameter is used to specify a NamespacedKey for world loading, improving command functionality and flexibility. The added support allows users to import worlds more precisely.
Refactor the linking logic in `WorldLinkController` to include linking sibling worlds when linking a new world. The method now considers the opposite dimension for sibling world associations, enhancing the cross-world referencing structure.
Upgraded Gradle wrapper distribution from version 8.8 to 8.9 to incorporate latest improvements and fixes. Added SPDX license identifiers to both the Unix and Windows wrapper scripts to comply with licensing standards. Improved script robustness by modifying the way the current working directory is handled.
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.
Changelog
Major Updates
New Features
WorldSaveAll
,WorldSave
,WorldSaveOff
, andWorldSaveOn
commands. (c757807
,236d154
,3a9382c
,6bbed42
)WorldTeleportCommand
. (5274ef6
)Enhancements
ef77594
,e650e44
)cb15257
)STARTUP
. (3ba689d
)Refactoring & Cleanup
5256a65
,f81ae32
)d5c9715
,5e7750b
)d469331
)