Skip to content

Conversation

@Jakubk15
Copy link
Member

@Jakubk15 Jakubk15 commented Feb 8, 2025

resolves #201

@Jakubk15 Jakubk15 requested review from a team, CitralFlo, Rollczi, igoyek and vLuckyyy February 8, 2025 21:21
@Jakubk15 Jakubk15 added the 🐛 bug Something isn't working label Feb 8, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 8, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@Jakubk15 Jakubk15 changed the title v2.0/angelchest-compat GH-201 Disable drop feature entirely if dropType is unchanged Feb 8, 2025
Copy link
Contributor

@igoyek igoyek left a comment

Choose a reason for hiding this comment

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

god

Copy link
Member

@CitralFlo CitralFlo left a comment

Choose a reason for hiding this comment

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

All Gucci

Copy link
Member

@Rollczi Rollczi left a comment

Choose a reason for hiding this comment

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

No trochę słabo bo my mamy API i tam to nadal będzie dostępne

@Jakubk15
Copy link
Member Author

No trochę słabo bo my mamy API i tam to nadal będzie dostępne

We'll discuss this today if I feel well (I kinda feel sick rn)

@Jakubk15 Jakubk15 linked an issue Feb 15, 2025 that may be closed by this pull request
@Jakubk15
Copy link
Member Author

will fix later dw

Rollczi and others added 22 commits April 22, 2025 20:54
* Ignore thorns damage
* Simply if else statement
…st reasons for kick ex. "Server restart" and untagall command (#221)

* - Added Event priority to config.

* - Some modifications

* Update eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/logout/LogoutController.java

Co-authored-by: Michał Wojtas <[email protected]>

* Update eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/logout/LogoutController.java

Co-authored-by: Michał Wojtas <[email protected]>

* Update eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/logout/LogoutController.java

Co-authored-by: Michał Wojtas <[email protected]>

* Update eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/logout/LogoutController.java

Co-authored-by: Michał Wojtas <[email protected]>

* Update eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/logout/LogoutController.java

Co-authored-by: Michał Wojtas <[email protected]>

* Update eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/logout/LogoutController.java

Co-authored-by: Michał Wojtas <[email protected]>

* - Added whitelist reasons for punishments

* - Added whitelist reasons for punishments

* - Fixed description in CombatSettings

* - Made untag command also executeable via console
- Added untagall command to untag all tagged players at once. useful in cases when you want to do something related to events.

* - Better way of untagging all players.

* - Needs testing - head drops #214
  #214

* - Added bypass checks for combat

* - Changed the way how bypass is being detected. Using function FightTagController#cannotBeTagged

* - Disabling elytra when get tagged when you are moving. Currently there is a bug where you can still can fly if you are already flying when getting tagged.

* Remove event declaration duplications by DynamicListener and EventManager

---------

Co-authored-by: Michał Wojtas <[email protected]>
Co-authored-by: Rollczi <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…y checked root commands (#225)

* Add better way to check restricted command - previous idea only checked root commands

Took 2 minutes

* Code review

---------

Co-authored-by: Rollczi <[email protected]>
…ions in knockback feature (#227)

* Sort combat regions by priority which supports overlapping regions in knockback feature

* Sort combat regions by priority which supports overlapping regions in knockback feature

* Resolve DMK and jakubek review's

* Correct priority
* Add Lands support.

* Fix.

* Fix support.

* Remove useless code. Fix lands implementation. Fix a force knockback system. Fix configuration reloads for border features. Improve default border particle configuration for a better client experience (more fps)

* Fix triggers indexing. Update border on tag event

* Cleanup

* Resolve conflicts

---------

Co-authored-by: Rollczi <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
… v4.23.0 (#230)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Fix head drop

Signed-off-by: vLuckyyy <[email protected]>

* Add minimessages coloring to head drops.

---------

Signed-off-by: vLuckyyy <[email protected]>
* Fix pearl cooldown

Signed-off-by: vLuckyyy <[email protected]>

* Fix cooldown.

---------

Signed-off-by: vLuckyyy <[email protected]>
…15.20 (#234)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…to v3.2.1 (#235)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
….gradle.plugin to v8.3.8 (#236)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Init

* Add anchor support

* Add anchor to api

* Add meta data contants create static methods to retrive uuid. Follow @imDMK and @coderabbitai reviews

* Use coderabbit suggestion to version compatibility

* Follow coderabbit review

* Update eternalcombat-plugin/src/main/java/com/eternalcode/combat/crystalpvp/CrystalPvpConstants.java

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Resolve review. Add documentation comment, add ignored worlds check and event.cancelled check. Fix method name to use `UniqueId` instead of `UUID`

* Remove isCancelled() check -> follow coderabbit <3

* follow coderabbit - add one check for hasDamagerBlockState method declaration check

* Resolve vLuckyyy review

* e -> exception rename

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# Conflicts:
#	eternalcombat-plugin/src/main/java/com/eternalcode/combat/CombatPlugin.java
@Jakubk15 Jakubk15 closed this Aug 12, 2025
@Jakubk15 Jakubk15 deleted the v2.0/angelchest-compat branch August 12, 2025 05:44
@Jakubk15
Copy link
Member Author

/gemini summary

@gemini-code-assist
Copy link
Contributor

Summary of Changes

This pull request delivers a comprehensive update to the EternalCombat plugin, significantly expanding its combat features and modernizing its underlying architecture. It introduces new Crystal PvP mechanics, refines existing combat interactions like pearl usage and item drops, and enhances combat logging with more granular control. The codebase benefits from a refactored event and region management system, alongside extensive dependency updates and improved build configurations, ensuring a more robust and configurable experience for server administrators and players alike.

Highlights

  • Core Combat Logic & Features: Introduced Crystal PvP mechanics, allowing players to be tagged in combat when damaged by end crystals or respawn anchors. Refactored pearl throwing logic to use ProjectileLaunchEvent, added configurable pearl cooldowns, and implemented Bukkit cooldowns. Enhanced combat logging to ignore 'THORNS' damage and improved admin bypass logic. Implemented head drop functionality with configurable chance, display name, and lore. Added logic to prevent combat log punishment for whitelisted kick reasons.
  • Codebase Modernization & Refactoring: Significant refactoring of the event system, replacing EventCaller with a more flexible EventManager and DynamicListener interface. The region handling system was overhauled, introducing Point and ChunkRegion records, a CompositeRegionProvider, and dedicated providers for WorldGuard and Lands plugins. The plugin's configuration loading now uses YamlSnakeYamlConfigurer for improved YAML parsing.
  • Dependency & Build System Updates: Updated numerous dependencies, including Kotlin, Gradle Shadow plugin, JUnit, EternalCode Commons, Multification, PacketEvents, Adventure, LiteCommands, Okaeri Configs, Caffeine, and BStats. The Gradle wrapper was updated to version 8.14, and the Renovate configuration was enhanced for better dependency management, including automerge rules and separate PRs for different update types. The .whitesource configuration file was removed.
  • Configuration & Messages: Added new configuration options for Crystal PvP, quit punishment event priority, and whitelisted kick reasons. Messages were updated to support an optional withoutMillis format for combat notifications, and a new adminUntagAll message was added for the /combatlog untagall command.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .whitesource
    • Removed the Whitesource configuration file.
  • README.md
    • Updated badges and version to EternalCombat 2.0.
    • Added new sections: 'How Does EternalCombat Work?', 'Permissions for EternalCombat', 'PlaceholderAPI'.
    • Detailed feature descriptions and examples (Combat Logging, Spawn Protection, Customizable Combat).
    • Updated PlaceholderAPI and Developer API dependency versions.
  • buildSrc/build.gradle.kts
    • Updated Kotlin to '2.1.20'.
    • Updated Gradle Shadow plugin to '8.3.8'.
    • Updated 'xyz.jpenilla:run-task' to '2.3.1'.
  • buildSrc/src/main/kotlin/Versions.kt
    • Updated numerous dependency versions (JUnit, JetBrains Annotations, EternalCode Commons, Multification, PacketEvents, Adventure, LiteCommands, Okaeri Configs, Caffeine, BStats).
    • Removed 'PANDA_UTILITIES' and 'APACHE_COMMONS' versions.
  • buildSrc/src/main/kotlin/eternalcombat-java.gradle.kts
    • Updated plugin version to '2.1.1'.
    • Removed explicit 'sourceCompatibility' and 'targetCompatibility' for Java 17.
  • buildSrc/src/main/kotlin/eternalcombat-publish.gradle.kts
    • Updated plugin version to '2.1.1'.
  • buildSrc/src/main/kotlin/eternalcombat-repositories.gradle.kts
    • Added 'jitpack.io' Maven repository.
  • eternalcombat-api/src/main/java/com/eternalcode/combat/fight/event/CauseOfTag.java
    • Added 'CRYSTAL' as a new cause of combat tagging.
  • eternalcombat-api/src/main/java/com/eternalcode/combat/region/Point.java
    • Added new record 'Point' for 2D coordinates with world context.
  • eternalcombat-api/src/main/java/com/eternalcode/combat/region/Region.java
    • Changed 'getCenter()' method return type from 'Location' to 'Point'.
  • eternalcombat-plugin/build.gradle.kts
    • Updated Gradle Shadow plugin ID.
    • Removed 'okaeri-configs-yaml-bukkit', 'panda-utilities', 'commons-io' dependencies.
    • Changed 'packetevents-spigot' to 'compileOnly'.
    • Added 'LandsAPI' as 'compileOnly' dependency.
    • Updated 'bukkit' plugin description to include 'load = POSTWORLD', 'softDepend = ["Lands"]', and 'depend = ["packetevents"]'.
    • Added 'downloadPlugins.url' for 'packetevents-spigot' in 'runServer' task.
    • Updated 'shadowJar' exclusions to include 'org/checkerframework/', 'com/google/errorprone/', and 'io.papermc'.
    • Removed 'panda.std', 'panda.utilities', 'org.panda-lang', 'org.apache.commons', 'javassist' from relocation list.
    • Added 'org.yaml' and 'io.papermc' to relocation list.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/CombatPlugin.java
    • Removed 'PacketEvents.setAPI' and 'PacketEvents.getAPI().load()' from 'onLoad()' and 'terminate()' from 'onDisable()'.
    • Replaced 'EventCaller' with 'EventManager'.
    • Refactored 'BridgeService' initialization.
    • Updated 'BorderServiceImpl' and 'KnockbackService' constructors to use 'Supplier' and 'RegionProvider' respectively.
    • Updated 'LiteCommands' messages to use 'pluginConfig'.
    • Refactored event registration to use 'eventManager.subscribe()'.
    • Added 'EndCrystalListener' and 'RespawnAnchorListener' registration.
    • Implemented conditional initialization of 'DropService' and 'DropKeepInventoryService' based on 'dropType'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/EternalCombatReloadCommand.java
    • Renamed 'announcer' to 'noticeService'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/BorderServiceImpl.java
    • Replaced 'EventCaller' with 'EventManager'.
    • Changed 'BorderSettings' parameter to 'Supplier'.
    • Updated 'scheduler.async()' to 'scheduler.runAsync()'.
    • Updated 'settings.distanceRounded()' to 'settings.get().distanceRounded()'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/BorderSettings.java
    • Added '@ApiStatus.Internal' to 'indexRefreshDelay()'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/BorderTriggerController.java
    • Changed 'BorderSettings' parameter to 'Supplier'.
    • Added 'onFightStart' event handler.
    • Updated 'border.isEnabled()' to 'border.get().isEnabled()'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/BorderTriggerIndex.java
    • Changed 'BorderSettings' parameter to 'Supplier'.
    • Updated 'scheduler.async()' to 'scheduler.runAsync()'.
    • Updated 'settings.distanceRounded()' to 'distanceRounded' variable.
    • Updated 'scheduler.timerSync()' to 'scheduler.timerAsync()' and 'settings.indexRefreshDelay()' to 'settings.get().indexRefreshDelay()'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/BorderTriggerIndexBucket.java
    • Updated 'trigger.min().x()' to 'trigger.triggerMin().x()'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/animation/block/BlockSettings.java
    • Added comments indicating restart requirement for 'updateDelay' and 'chunkCacheUpdateDelay'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/animation/block/BorderBlockController.java
    • Changed 'BlockSettings' parameter to 'Supplier'.
    • Updated 'chunkCache' initialization to use 'settings.get()'.
    • Updated 'settings.updateDelay' to 'settings.get().updateDelay'.
    • Updated 'settings.enabled' to 'settings.get().enabled'.
    • Updated 'settings.type.getStateType(point)' to 'settings.get().type.getStateType(point)'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/animation/particle/ParticleController.java
    • Changed 'ParticleSettings' parameter to 'Supplier'.
    • Updated 'particleSettings.enabled' to 'particleSettings.get().enabled'.
    • Added null/offline player check in 'updatePlayers()'.
    • Updated 'particleSettings.getParticle(point)' to 'particleSettings.get().getParticle(point)'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/animation/particle/ParticleSettings.java
    • Updated default 'count' to '1' and 'scale' to '1.7F'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/bridge/BridgeService.java
    • Refactored constructor and 'init' method to support multiple region providers (Lands, WorldGuard, Default).
    • Changed 'pluginConfig' to 'config'.
    • Added 'fightManager' to constructor.
    • Improved logging for bridge initialization.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/config/ConfigService.java
    • Switched from 'YamlBukkitConfigurer' to 'YamlSnakeYamlConfigurer'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/config/implementation/CombatSettings.java
    • Added 'quitPunishmentEventPriority' and 'whitelistedKickReasons'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/config/implementation/MessagesSettings.java
    • Added 'withoutMillis' boolean for combat notification formatting.
    • Removed '' tag from 'playerUntagged' notice.
    • Added 'adminUntagAll' message.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/config/implementation/PluginConfig.java
    • Added 'crystalPvp' settings.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/crystalpvp/CrystalMetadata.java
    • Added new class for storing crystal damager metadata.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/crystalpvp/CrystalPvpConstants.java
    • Added new class with constants and utility methods for Crystal PvP.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/crystalpvp/CrystalPvpSettings.java
    • Added new class for Crystal PvP configuration.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/crystalpvp/EndCrystalListener.java
    • Added new listener for End Crystal interactions and damage.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/crystalpvp/RespawnAnchorListener.java
    • Added new listener for Respawn Anchor interactions and damage.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/event/DynamicListener.java
    • Added new interface for dynamic event listeners.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/event/EventCaller.java
    • Removed file.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/event/EventManager.java
    • Added new class for managing event subscriptions.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/FightManagerImpl.java
    • Replaced 'EventCaller' with 'EventManager'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/FightTagCommand.java
    • Renamed 'announcer' to 'noticeService'.
    • Added 'untagall' command.
    • Improved 'untag' command messages.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/FightTask.java
    • Renamed 'announcer' to 'noticeService'.
    • Updated 'DurationUtil.format()' call to include 'withoutMillis' option.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/controller/FightActionBlockerController.java
    • Renamed 'announcer' to 'noticeService'.
    • Added 'onMoveWhileGliding' event handler.
    • Improved command restriction logic using 'StringUtil.startsWithIgnoreCase'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/controller/FightMessageController.java
    • Renamed 'announcer' to 'noticeService'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/controller/FightTagController.java
    • Added ignore for 'THORNS' damage cause.
    • Improved 'cannotBeTagged' logic to check 'eternalcombat.bypass' permission and 'isOp()'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/controller/FightUnTagController.java
    • Enhanced 'getDeathCause' to consider crystal/anchor damage for killer identification.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/drop/DropController.java
    • Changed to implement 'DynamicListener'.
    • Implemented head drop logic with configurable chance, display name, and lore.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/drop/DropSettings.java
    • Added 'dropEventPriority', 'headDropEnabled', 'headDropChance', 'headDropOnlyInCombat', 'headDropDisplayName', 'headDropLore' settings.
    • Added comment about restart requirement for 'dropType'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/knockback/KnockbackOutsideRegionGenerator.java
    • Removed 'Point2D' record definition (moved to its own file).
    • Updated 'generate' method signature to use 'Point2D'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/knockback/KnockbackRegionController.java
    • Renamed 'announcer' to 'noticeService'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/knockback/KnockbackService.java
    • Added 'RegionProvider' to constructor.
    • Updated 'knockbackLater' to use 'scheduler.runLater()'.
    • Modified 'forceKnockbackLater' to check 'regionProvider.isInRegion(playerLocation)' and use a new 'generate' helper method.
    • Updated 'knockback' to use 'Point' for region center.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/knockback/Point2D.java
    • Added new record for 2D points, including 'min' and 'max' methods.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/logout/LogoutController.java
    • Changed to implement 'DynamicListener'.
    • Added 'onKick' event handler to prevent punishment for whitelisted kick reasons.
    • Used 'shouldNotPunishOnQuit' set to track players.
    • Renamed 'announcer' to 'noticeService'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/pearl/FightPearlController.java
    • Refactored pearl throwing logic to use 'ProjectileLaunchEvent'.
    • Added 'pearlCooldownEnabled' setting.
    • Implemented Bukkit cooldown for Ender Pearls.
    • Renamed 'announcer' to 'noticeService'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/pearl/FightPearlServiceImpl.java
    • Renamed 'pearlDelays' to 'pearlStartTimes'.
    • Updated logic for 'markDelay', 'hasDelay', 'getRemainingDelay', and 'getDelay' to track start times instead of end times.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/pearl/FightPearlSettings.java
    • Renamed 'pearlThrowBlocked' to 'pearlThrowDisabledDuringCombat'.
    • Added 'pearlCooldownEnabled'.
    • Removed 'Set to 0 to disable' comment for 'pearlThrowDelay'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/fight/tagout/FightTagOutCommand.java
    • Renamed 'announcer' to 'noticeService'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/handler/InvalidUsageHandlerImpl.java
    • Renamed 'announcer' to 'noticeService'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/handler/MissingPermissionHandlerImpl.java
    • Renamed 'announcer' to 'noticeService'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/region/ChunkRegion.java
    • Added new record for chunk-based regions.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/region/CompositeRegionProvider.java
    • Added new class for combining multiple region providers.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/region/DefaultRegionProvider.java
    • Renamed to 'eternalcombat-plugin/src/main/java/com/eternalcode/combat/region/bukkit/DefaultRegionProvider.java'.
    • Updated 'DefaultSpawnRegion' to use 'Point' for center.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/region/WorldGuardRegionProvider.java
    • Renamed to 'eternalcombat-plugin/src/main/java/com/eternalcode/combat/region/worldguard/WorldGuardRegionProvider.java'.
    • Updated constructor to take 'PluginConfig' directly.
    • Refactored 'getRegion' to use 'highestPriorityRegion' and 'WorldGuardRegion'.
    • Added 'highestPriorityRegion' helper method.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/region/lands/LandsRegionProvider.java
    • Added new class for Lands plugin integration.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/region/worldguard/WorldGuardRegion.java
    • Added new record for WorldGuard regions.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/util/DurationUtil.java
    • Enhanced 'format' method with 'removeMillis' option and 'RoundingMode.UP'.
  • eternalcombat-plugin/src/main/java/com/eternalcode/combat/util/ReflectUtil.java
    • Added new utility class for reflection.
  • gradle.properties
    • Added Gradle configuration properties ('configuration-cache', 'caching', 'parallel', 'vfs.watch').
  • gradle/wrapper/gradle-wrapper.properties
    • Updated Gradle version to '8.14'.
  • gradlew
    • Updated 'APP_HOME' assignment.
    • Updated 'CLASSPATH' and 'set --' for Gradle wrapper execution.
  • gradlew.bat
    • Updated 'CLASSPATH' and Gradle wrapper execution command.
  • renovate.json
    • Updated Renovate configuration for better dependency management, including 'dependencyDashboard', 'separateMinorPatch', 'separateMultipleMajor', and specific 'packageRules' for automerge and Spigot dependencies.
Activity
  • coderabbitai[bot] skipped review due to non-default branch settings.
  • Jakubk15 commented on 2025-02-15, mentioning an API issue and feeling unwell.
  • Jakubk15 commented on 2025-03-16, stating 'will fix later dw'.
  • Jakubk15 requested a summary from Gemini on 2026-01-30.

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

Labels

🐛 bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] add angelchest compatibility

7 participants