Skip to content
This repository was archived by the owner on Dec 24, 2025. It is now read-only.

Conversation

@thnhmai06
Copy link
Member

Conflicts:

src/main/java/com/github/codestorm/bounceverse/components/_old/ball/BallComponent.java

ManhTanTran and others added 30 commits September 29, 2025 17:13
- Deleted the 'ratchetFrom' line from the spotless configuration (to simplify the build.gradle file).
* feat: implement abstract class Ball

* refactor: update Ball class package and documentation

- Renamed package from `com.github.codestorm.ball` to `com.github.codestorm.bounceverse.ball` (to reflect project structure)
- Enhanced class documentation to clarify the purpose and functionality of the Ball class

---------

Co-authored-by: Mai Thành <62001770+thnhmai06@users.noreply.github.com>
* feat: Brick

* feat(brick): add PowerBrick and update Brick, ExoplodeBrick, ProtectedBrick

* docs(brick): add Javadoc for Brick, ExoplodeBrick, PowerBrick, ProtectedBrick

* refactor(brick): remove NormalBrick and StrongBrick

* refactor(brick): rename packages and update formatting settings

- Renamed package from `com.github.codestorm.brick` to `com.github.codestorm.bounceverse.brick` for consistency.
- Updated Google Java Format settings to use AOSP style.

---------

Co-authored-by: Mai Thành <62001770+thnhmai06@users.noreply.github.com>
* feat: add PowerUp class

- Introduced PowerUp class to manage special effects and abilities for game objects (provides lazy-update functionality).
- Updated build.gradle to include JavaFX plugin and specified version.
- Modified project configuration files for compatibility with new features.

* docs: update PowerUp class documentation

- Corrected the description of PowerUps to use plural form for consistency.
- Improved clarity in the apply and unapply method descriptions (automatically used when power up becomes active/ends).
- Added 'target/' to .gitignore to exclude build artifacts.
- Updated .gitignore to simplify IntelliJ IDEA configuration exclusions.
- Created git-commit-instructions.md for standardized commit message guidelines.
* feat: Brick

* feat(brick): add PowerBrick and update Brick, ExoplodeBrick, Protecte…

* docs(brick): add Javadoc for Brick, ExoplodeBrick, PowerBrick, Protec…

* refactor(brick): remove NormalBrick and StrongBrick

* feat(paddle): add ExpendPaddle, LaserPaddle, ShrinkPaddle and update …

* feat(paddle): add ExpendPaddle, LaserPaddle, ShrinkPaddle and update …

* feat(paddle): add ExpendPaddle, LaserPaddle, ShrinkPaddle and update …

* refactor: remove brick and gameManager packages

* refactor(paddle): enhance documentation for Paddle and its variants
- Changed method references in PowerUp class documentation to use {@link} instead of {@code} for better clarity.
- Updated JDK version in guide.md from 25 to 24.
- Improved formatting in Ball class for consistency.
* feat: Brick

* feat(brick): add PowerBrick and update Brick, ExoplodeBrick, ProtectedBrick

* docs(brick): add Javadoc for Brick, ExoplodeBrick, PowerBrick, ProtectedBrick

* refactor(brick): remove NormalBrick and StrongBrick

* feat(paddle): add ExpendPaddle, LaserPaddle, ShrinkPaddle and update Paddle

* feat(paddle): add ExpendPaddle, LaserPaddle, ShrinkPaddle and update Paddle

* refactor: remove brick and gameManager packages

* feat(brick): refactor and document brick module (Factory, Component, Protected, Explode)

* feat(brick): Introduce brick components and behaviors

- Added Brick, BrickHealth, BrickDrop, BrickExplode, and BrickFactory classes to manage brick entities and their behaviors (enhances gameplay mechanics).
- Refactored existing classes to align with new component structure.

* docs(brick): Corrected spelling of 'nheritance' to 'inheritance'

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor(brick): remove multiple Spawns annotation from newBrick methods

Removed the @spawns annotation from the newBrick methods in BrickFactory to streamline the code and eliminate unnecessary complexity (no functional changes).

---------

Co-authored-by: Mai Thành <62001770+thnhmai06@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat: Brick

* feat(brick): add PowerBrick and update Brick, ExoplodeBrick, ProtectedBrick

* docs(brick): add Javadoc for Brick, ExoplodeBrick, PowerBrick, ProtectedBrick

* refactor(brick): remove NormalBrick and StrongBrick

* feat(paddle): add ExpendPaddle, LaserPaddle, ShrinkPaddle and update Paddle

* feat(paddle): add ExpendPaddle, LaserPaddle, ShrinkPaddle and update Paddle

* refactor: remove brick and gameManager packages

* feat(brick): refactor and document brick module (Factory, Component, Protected, Explode)

* feat(game): add GameManager and BounceVerseApp for game initialization

* refactor: Refactor GameManager, build/run scripts and update ci/cd

- Renamed `BounceVerseApp` to `Bounceverse` for consistency.
- Set the game title to the new class name.
- Integrated `BrickFactory` for spawning bricks in the game.
- Updated `build.gradle` for application configuration and added release tasks.

* ci: add specific workflow permission

- Added permissions to `buildRelease.yml`, `build.yml`, and `setup.yml` (to manage content access).
- Created new log files for debugging (to assist in troubleshooting).
- Updated `Readme.txt` to clarify the purpose of the directory.

* docs: update git commit instructions to align with Conventional Commits

Expanded the guidelines for writing commit messages, detailing structure, types, and examples to ensure clarity and consistency in commit history.

---------

Co-authored-by: Mai Thành <62001770+thnhmai06@users.noreply.github.com>
Refactor the setup steps in build.yml, buildRelease.yml, and linting.yml to include a name for the setup action, improving readability and maintainability.
Cleared the `scriptParameters` option in `bytecode.run.xml` and `release.run.xml` to avoid unnecessary debug flags during execution.
)

* refactor: reorganize component structure and improve entity tagging

- Added new classes for Ball, BrickDrop, BrickExplode, and BrickHealth to enhance gameplay mechanics (introducing new behaviors and properties).
- Updated .gitignore to include additional files and directories for better project management.
- Adjusted BrickFactory to streamline brick creation process.

* refactor: enhance BrickFactory to include entity type for bricks

Added EntityType.BRICK to the newBrick method for better entity classification. Updated documentation for OptionalTag to correct a typo.
Eliminated SLF4J and Logback dependencies as they are no longer required for the project.
Changed the output directory from `release` to `out` in build.gradle and updated the artifact upload path in buildRelease.yml to reflect this change.
* feat: add configuration loading and game settings management

Implement configuration loading from properties files to manage game settings dynamically. This includes setting the game title, version, and application mode based on the loaded configurations. Additionally, update the .gitignore to include new configuration files.

* feat: implement game configuration loading and management

Add structured loading of game configurations with separate classes for default options and system settings. This enhances the game's configurability and prepares for future expansion of settings management.

* feat: add collision handling and launch options management

Implement collision handling system and launch options for game configuration. This includes a new Collision class for managing collision logic and a LaunchOption class for parsing launch arguments (e.g., debug mode).

* feat: enhance configuration loading with error handling

Improve the loadConfigs method to throw an IOException when properties files cannot be opened (replaces assertion with exception handling). This ensures better error management during configuration loading.

* feat: implement scene management and enhance collision handling

- Added SceneFactory for managing game scenes (facilitates scene transitions).
- Renamed Collision to CollisionSystem for clarity and improved structure.
- Integrated credits loading into game settings (enhances user experience).
ManhTanTran and others added 26 commits October 14, 2025 15:08
Refactored various components by renaming `BehaviorComponent` to `Behavior`, `OptionalTag` to `Optional`, and `PropertyComponent` to `Property`. Updated imports accordingly to maintain consistency across the codebase.
* [skip ci] feat(core): implement game systems and refactor initialization

- Introduced GameSystem, InputSystem, PhysicSystem, and UISystem for better organization and modularity (applies game logic, input handling, physics, and UI settings).
- Refactored Bounceverse to utilize new systems for initialization and configuration management.
- Updated credits and settings files for improved user experience.

* [skip ci] ci: update CI configuration for Spotless checks and builds

- Rename linting.yml to spotlessCheck.yml for clarity
- Add concurrency settings to optimize CI runs
- Modify job conditions to skip CI based on commit messages
- Implement automatic code formatting application on failure

* [skip ci] feat(core): initialize Video instance in UserSetting

Add a new Video instance to the UserSetting class to ensure proper initialization and avoid null references. This change enhances the reliability of video settings management.
* [skip ci] refactor: replace `For*` interface with `Suitable*` annotation (remove `Tag` system)

* [skip ci] chore: reformat code and optimize import

* [skip ci] chore: update JAVA_LANGUAGE to 24_PREVIEW

* [skip ci] refactor: Assign new `For*` annotation for components

* [skip ci] fix: fix null ref on `Utils.Time.Cooldown#current`
Introduce Attack and Attributes classes to manage damage and defense mechanics for entities. The Attack class allows entities to inflict damage based on their attributes, while the Attributes class holds general property values like defense. This enhances gameplay dynamics by enabling combat interactions.
Modified CI configuration to use startsWith instead of contains for detecting '[skip ci]' in commit messages, improving clarity and functionality.
Renamed `HeathDeath` to `HealthDeath` and fixed spelling in `CanExecute` documentation. These changes improve code readability and maintainability.
(cherry picked from commit 06f6adc)
* feat: add game context and ball entity

* feat: generate brick and ball, add simple collision

* feat: apply FXGL physic

* feat: spotlessApply

* chore: delete empty file `CollisionSystem.java`

* refactor: update branch with new project structures

Introduce AnchorPoint enum for common anchor points on Rectangle2D. Refactor BallFactory to use default values for ball properties and improve entity spawning logic. Update collision handling in PhysicSystem for better interaction between entities.

---------

Co-authored-by: Mai Thành <62001770+thnhmai06@users.noreply.github.com>
(cherry picked from commit 4b9e256)
(cherry picked from commit 56dd2a75a2d96b57fb63b52b4d794f1d765c387e)
(cherry picked from commit d1d58389900cdc8c8d1d25b572c27d1833aad9ba)
(cherry picked from commit c977f49f860f552226bfe43537042a3637b984c7)
- Changed JDK setup in build and release workflows to use Gradle's setup-java action instead of Oracle's.
- Updated project configuration to reflect the new JDK vendor in various files.

(cherry picked from commit ae14c27b0fd3c9d427ddad0d537acd091687f8e9)
Introduce a new document for writing Javadoc, detailing format and structure. Update guide.md to include a reference to the new Javadoc guide.

(cherry picked from commit 18854f8)
Revised the symbols table in the Javadoc documentation to improve readability and organization of class type representations.

(cherry picked from commit f3844b8)
@thnhmai06 thnhmai06 self-assigned this Oct 27, 2025
@thnhmai06 thnhmai06 changed the title up to date with main branch up to date with rewritten main branch Oct 27, 2025
# Conflicts:
#	build.gradle
#	src/main/java/com/github/codestorm/bounceverse/Bounceverse.java
#	src/main/java/com/github/codestorm/bounceverse/components/behaviors/Attack.java
#	src/main/java/com/github/codestorm/bounceverse/components/behaviors/Behavior.java
#	src/main/java/com/github/codestorm/bounceverse/components/behaviors/CooldownBehavior.java
#	src/main/java/com/github/codestorm/bounceverse/components/behaviors/Explosion.java
#	src/main/java/com/github/codestorm/bounceverse/components/behaviors/HealthDeath.java
#	src/main/java/com/github/codestorm/bounceverse/components/behaviors/ScaleChange.java
#	src/main/java/com/github/codestorm/bounceverse/components/behaviors/UndoableBehavior.java
#	src/main/java/com/github/codestorm/bounceverse/components/behaviors/paddle/PaddleShooting.java
#	src/main/java/com/github/codestorm/bounceverse/components/properties/Attributes.java
#	src/main/java/com/github/codestorm/bounceverse/components/properties/Shield.java
#	src/main/java/com/github/codestorm/bounceverse/core/LaunchOptions.java
#	src/main/java/com/github/codestorm/bounceverse/core/SettingsManager.java
#	src/main/java/com/github/codestorm/bounceverse/core/systems/InputSystem.java
#	src/main/java/com/github/codestorm/bounceverse/core/systems/PhysicSystem.java
#	src/main/java/com/github/codestorm/bounceverse/factory/SceneFactory.java
#	src/main/java/com/github/codestorm/bounceverse/factory/entities/BallFactory.java
#	src/main/java/com/github/codestorm/bounceverse/factory/entities/BrickFactory.java
#	src/main/java/com/github/codestorm/bounceverse/factory/entities/BulletFactory.java
#	src/main/java/com/github/codestorm/bounceverse/factory/entities/PaddleFactory.java
#	src/main/java/com/github/codestorm/bounceverse/factory/entities/WallFactory.java
#	src/main/resources/settings.properties
@thnhmai06 thnhmai06 merged commit dee636a into dev Oct 27, 2025
7 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants