-
-
Notifications
You must be signed in to change notification settings - Fork 0
feat/Enchantment/VeinMine #316
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
Conversation
Signed-off-by: Illyrius <FitimQ@live.nl>
Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com>
Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com>
Signed-off-by: Illyrius <fitimq@live.nl>
…Enchantment Signed-off-by: Illyrius <fitimq@live.nl>
Signed-off-by: Illyrius <fitimq@live.nl>
Signed-off-by: Illyrius <fitimq@live.nl>
Signed-off-by: Illyrius <fitimq@live.nl>
…m handling Signed-off-by: Illyrius <fitimq@live.nl>
Signed-off-by: Illyrius <fitimq@live.nl>
… valid ores Signed-off-by: Illyrius <fitimq@live.nl>
…adjust cost parameters Signed-off-by: Illyrius <fitimq@live.nl>
…e validation in VeinMineEnchantment Signed-off-by: Illyrius <fitimq@live.nl>
There was a problem hiding this 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 introduces a new VeinMine enchantment that allows players to mine connected ore blocks of the same type in a single action. The implementation includes refactoring of enchantment description display logic across all enchantments and code extraction in PickupEnchantment for better reusability.
Key changes:
- New VeinMine enchantment with BFS-based connected block detection for ore veining
- Refactored enchantment display names using new utility functions
snakeToProperCase()anddisplayName() - Extracted item transfer logic in PickupEnchantment to
transferItemEntitiesToInventory()for potential reuse
Reviewed Changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/kotlin/org/xodium/vanillaplus/enchantments/VeinMineEnchantment.kt | Implements new vein mining enchantment with BFS algorithm for finding connected ore blocks, durability handling, and integration with PickupEnchantment |
| src/main/kotlin/org/xodium/vanillaplus/utils/ExtUtils.kt | Adds utility functions for converting snake_case to title case and creating enchantment display names |
| src/main/kotlin/org/xodium/vanillaplus/enchantments/PickupEnchantment.kt | Refactors item transfer logic into reusable function and updates to use new display name utility |
| src/main/kotlin/org/xodium/vanillaplus/enchantments/ReplantEnchantment.kt | Updates to use new displayName() utility instead of manual string formatting |
| src/main/kotlin/org/xodium/vanillaplus/enchantments/NimbusEnchantment.kt | Refactors speed multiplier calculation to use map lookup and updates to new display name utility |
| src/main/kotlin/org/xodium/vanillaplus/enchantments/NightVisionEnchantment.kt | Updates to use new displayName() utility |
| src/main/kotlin/org/xodium/vanillaplus/modules/PlayerModule.kt | Integrates VeinMine enchantment handler into BlockBreakEvent |
| src/main/kotlin/org/xodium/vanillaplus/VanillaPlusBootstrap.kt | Registers VeinMine enchantment and adds to tradeable enchantments tag |
| .idea/libraries/Gradle__io_papermc_paper_paper_api_1_21_10_R0_1_SNAPSHOT.xml | Removes duplicate sources entry from IDE library configuration |
Files not reviewed (1)
- .idea/libraries/Gradle__io_papermc_paper_paper_api_1_21_10_R0_1_SNAPSHOT.xml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } else { | ||
| connectedBlock.breakNaturally(itemInHand) | ||
| } | ||
|
|
Copilot
AI
Nov 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The vein mining functionality doesn't account for the player's hunger/exhaustion. When blocks are broken in survival mode, the player should get exhausted based on the number of blocks mined. Currently, only the first block (from the event) will apply exhaustion naturally, but the additional blocks broken by vein mining won't trigger the normal exhaustion mechanics. Consider adding exhaustion for each additional block mined using player.exhaustion.
| // Apply exhaustion for each additional block broken | |
| player.exhaustion += 0.005F |
| attribute?.baseValue = DEFAULT_FLY_SPEED * speedMultiplier | ||
| val enchantLevel = harness.itemMeta.getEnchantLevel(get()) | ||
|
|
||
| attribute?.baseValue = DEFAULT_FLY_SPEED * (SPEED_MODIFIER[enchantLevel] ?: return) |
Copilot
AI
Nov 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If SPEED_MODIFIER[enchantLevel] returns null (for invalid enchant levels), the function returns early without resetting the speed. This means an entity with an invalid enchant level would retain whatever speed it previously had. Consider providing a default value: SPEED_MODIFIER[enchantLevel] ?: 1.0 to ensure the speed is always set to a valid value.
| attribute?.baseValue = DEFAULT_FLY_SPEED * (SPEED_MODIFIER[enchantLevel] ?: return) | |
| attribute?.baseValue = DEFAULT_FLY_SPEED * (SPEED_MODIFIER[enchantLevel] ?: 1.0) |
| /** Extension function to convert snake_case to Proper Case with spaces. */ | ||
| fun String.snakeToProperCase(): String = split('_').joinToString(" ") { word -> word.replaceFirstChar { it.uppercase() } } | ||
|
|
||
| /** Extension function specifically for enchantment keys */ |
Copilot
AI
Nov 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The displayName() extension function lacks documentation. Consider adding KDoc to explain its purpose, parameters, and return value. For example:
/**
* Converts the enchantment key to a human-readable display name Component.
* The key value is converted from snake_case to Title Case.
* @return A Component containing the formatted display name.
*/| /** Extension function specifically for enchantment keys */ | |
| /** | |
| * Converts the enchantment key to a human-readable display name Component. | |
| * The key value is converted from snake_case to Proper Case with spaces. | |
| * @receiver TypedKey<Enchantment> The enchantment key to convert. | |
| * @return A Component containing the formatted display name. | |
| */ |
| } | ||
|
|
||
| if (currentDamage > damageableMeta.damage) { | ||
| damageableMeta.damage = currentDamage |
Copilot
AI
Nov 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When the tool breaks (currentDamage >= maxDurability), the loop breaks but the damage is still applied to the item in lines 93-96. This could result in the item having damage equal to or exceeding its max durability but not being destroyed. The item should be properly destroyed when it reaches max durability, or the damage application should be capped at maxDurability - 1.
| damageableMeta.damage = currentDamage | |
| val maxDurability = itemInHand.type.maxDurability.toInt() | |
| damageableMeta.damage = minOf(currentDamage, maxDurability - 1) |
| if (drops.isNotEmpty()) { | ||
| val inventory = player.inventory | ||
|
|
||
| for (drop in drops) { | ||
| val remaining = inventory.addItem(drop) | ||
|
|
||
| for (remainingItem in remaining.values) { | ||
| connectedBlock.world.dropItem(connectedBlock.location, remainingItem) | ||
| } | ||
| } | ||
| } |
Copilot
AI
Nov 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code handling item pickup in VeinMineEnchantment duplicates the logic from PickupEnchantment. Consider using PickupEnchantment.transferItemEntitiesToInventory() which was refactored for reuse. However, since this code works with drops directly from getDrops() rather than Item entities, you would need to either:
- Create a separate utility for transferring ItemStacks to inventory
- Keep the current implementation but extract it to a shared utility function
The current implementation is functionally correct but creates maintenance overhead by duplicating the transfer logic.
* fixed (#264) Signed-off-by: illyrius666 <fitimq@live.nl> * fixed /guide cmd Signed-off-by: illyrius666 <fitimq@live.nl> * refactor/TreesModule (#265) * Update actions/checkout action to v5 (#197) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * module manager refactor (#198) * Add `run-paper` plugin, update exclusions, and remove obsolete remote debug config Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] Simplify CI/CD deployment path by removing conditional logic for target directory. Signed-off-by: illyrius666 <fitimq@live.nl> * Remove all `.idea/libraries` entries as they are no longer required Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * Make `relocation` and `minimize` conditional for development builds; update module file to include `ADVENTURE` platform type. Signed-off-by: illyrius666 <fitimq@live.nl> * Remove `isDev` flag; always apply `relocation` and `minimize` in `shadowJar`. Signed-off-by: illyrius666 <fitimq@live.nl> * init Signed-off-by: illyrius666 <fitimq@live.nl> * Integrate FancyHolograms support with `SignModule` and add utility for creating player-based holograms. Signed-off-by: illyrius666 <fitimq@live.nl> * Add `PlayerOpenSignEvent` handling in `SignModule` to create holograms and cancel event Signed-off-by: illyrius666 <fitimq@live.nl> * Replace FancyHolograms integration with DecentHolograms in `SignModule` and dependencies; update repository and libraries Signed-off-by: illyrius666 <fitimq@live.nl> * removing holograms Signed-off-by: illyrius666 <fitimq@live.nl> * Add `BroadcastModule` and tips command; remove unused `fireFmt` dependencies and `PlayerOpenSignEvent` handling Signed-off-by: illyrius666 <fitimq@live.nl> * broadcast rc1 Signed-off-by: illyrius666 <fitimq@live.nl> * cleanup Signed-off-by: illyrius666 <fitimq@live.nl> * added randomness Signed-off-by: illyrius666 <fitimq@live.nl> * opted out of broadcast to scoreboards Signed-off-by: illyrius666 <fitimq@live.nl> * opt out for scoreboard, since scores dont accept minimessage format Signed-off-by: illyrius666 <fitimq@live.nl> * up Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * fmt Signed-off-by: illyrius666 <fitimq@live.nl> * refactored the config reload cmd Signed-off-by: illyrius666 <fitimq@live.nl> * oops Signed-off-by: illyrius666 <fitimq@live.nl> * error msg update Signed-off-by: illyrius666 <fitimq@live.nl> * no pre-releases in deploy Signed-off-by: illyrius666 <fitimq@live.nl> * refactoring modulemanager to make the reload cmd work Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] docs Signed-off-by: illyrius666 <fitimq@live.nl> * added checks to see if cmd executer is player Signed-off-by: illyrius666 <fitimq@live.nl> * converted a method to a fun extension Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * more refactoring Signed-off-by: illyrius666 <fitimq@live.nl> * more rf Signed-off-by: illyrius666 <fitimq@live.nl> * some refactoring Signed-off-by: illyrius666 <fitimq@live.nl> * Update plugin org.jetbrains.kotlin.jvm to v2.2.10 (#199) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update plugin com.gradleup.shadow to v9.0.2 (#200) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update softprops/action-gh-release digest to 126b1e7 (#201) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to 70964b4 (#202) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update actions/setup-java action to v5 (#203) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to 44b6df6 (#204) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update softprops/action-gh-release digest to fbadcc9 (#205) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency com.sk89q.worldedit:worldedit-bukkit to v7.3.16 (#206) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Migrate config .github/renovate.json (#207) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to 83c124b (#210) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.20.0 (#212) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update plugin com.gradleup.shadow to v9.1.0 (#213) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency com.fasterxml.jackson.datatype:jackson-datatype-jsr310 to v2.20.0 (#211) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update appleboy/scp-action digest to eb443bd (#209) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to 0a4f8b4 (#214) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update softprops/action-gh-release digest to 6cbd405 (#215) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update plugin xyz.jpenilla.run-paper to v3.0.0 (#216) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to 76d3b99 (#217) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update softprops/action-gh-release digest to 5d1b0b1 (#218) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * + Signed-off-by: illyrius666 <fitimq@live.nl> * Update gradle/actions digest to ed40850 (#219) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat/ChatModule/DeletableMessages (#220) * init Signed-off-by: illyrius666 <fitimq@live.nl> * refactor quitevent impl Signed-off-by: illyrius666 <fitimq@live.nl> * uses mc default joinmessage if not defined in plugin config Signed-off-by: illyrius666 <fitimq@live.nl> * added the check also for quitmessage Signed-off-by: illyrius666 <fitimq@live.nl> * woops Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> * Update plugin org.jetbrains.kotlin.jvm to v2.2.20 (#222) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to c04286a (#221) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update softprops/action-gh-release digest to 19cd0bc (#223) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat/SilkTouchModule (#224) * init Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * woops Signed-off-by: illyrius666 <fitimq@live.nl> * added player == survival check Signed-off-by: illyrius666 <fitimq@live.nl> * finish Signed-off-by: illyrius666 <fitimq@live.nl> * cancel xp drop when mining with silk touch, to prevent infinite xp Signed-off-by: illyrius666 <fitimq@live.nl> * damnit Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * fix placing spawner losing type * fixed Signed-off-by: illyrius666 <fitimq@live.nl> * finish Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> * feat/WanderingTraderModule (#225) * init Signed-off-by: illyrius666 <fitimq@live.nl> * added sound and changed the message a little bit Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> * Update gradle/actions digest to 3ee0ca9 (#226) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat/CauldronModule (#227) * init Signed-off-by: illyrius666 <fitimq@live.nl> * first attempt Signed-off-by: illyrius666 <fitimq@live.nl> * refactor and add dirt -> mud via cauldron Signed-off-by: illyrius666 <fitimq@live.nl> * v2 Signed-off-by: illyrius666 <fitimq@live.nl> * take 2 Signed-off-by: illyrius666 <fitimq@live.nl> * take 3 Signed-off-by: illyrius666 <fitimq@live.nl> * take 4 Signed-off-by: illyrius666 <fitimq@live.nl> * added kdocs Signed-off-by: illyrius666 <fitimq@live.nl> * fix cauldron error on water level 0 Signed-off-by: illyrius666 <fitimq@live.nl> * added coarse dirt and rooted dirt Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> * Update gradle/actions digest to abc608c (#228) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to 891d472 (#230) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update appleboy/scp-action digest to 7179e72 (#229) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to f814022 (#231) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix/InvModule/UnloadBug (#234) * + Signed-off-by: illyrius666 <fitimq@live.nl> * fix bug, plus laser in search now is based on proximity Signed-off-by: illyrius666 <fitimq@live.nl> * added so that if the item is in multiple chests it creates multiple lasers, double chests behave like a single chest when it comes to the laser, and fixed Block.center() to work with the new logic. Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> * feat/PlayerModule (#233) * init Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * added customname to skull Signed-off-by: illyrius666 <fitimq@live.nl> * added skull lore Signed-off-by: illyrius666 <fitimq@live.nl> * missing kdocs Signed-off-by: illyrius666 <fitimq@live.nl> * update gitignore Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] adjust search command to use a strong beam for the nearest chest and a faded beam for other matching item chests. Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] take 2 Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] take 3 Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] take 4 Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] take 5 Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] take 6 Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] take 7 Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] take 8 Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] take 9 Signed-off-by: illyrius666 <fitimq@live.nl> * Update gradle/actions digest to ef9c8ec (#237) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update Gradle to v9.1.0 (#238) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] take 10 Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] update renovate to skip ci when updating dependencies Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] take 11 Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] take 12 Signed-off-by: illyrius666 <fitimq@live.nl> * Update softprops/action-gh-release digest to 97d42c1 (#239) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to 0e05276 (#240) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix particles Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * renaming Signed-off-by: illyrius666 <fitimq@live.nl> * added todos Signed-off-by: illyrius666 <fitimq@live.nl> * fix block centre() Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] naming fix Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] ig looks better? Signed-off-by: illyrius666 <fitimq@live.nl> * Update gradle/actions digest to 182e4d3 (#241) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update plugin com.gradleup.shadow to v9.2.1 (#242) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to 748248d (#243) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * merged nickname module into playermodule Signed-off-by: illyrius666 <fitimq@live.nl> * refactor PlayerModule.kt Signed-off-by: illyrius666 <fitimq@live.nl> * swapped to using datacomponents instead of itemmeta Signed-off-by: illyrius666 <fitimq@live.nl> * l18n support Signed-off-by: illyrius666 <fitimq@live.nl> * removed WanderingTraderModule.kt Signed-off-by: illyrius666 <fitimq@live.nl> * Update plugin com.gradleup.shadow to v9.2.2 (#244) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor/PlayerData (#245) * init Signed-off-by: illyrius666 <fitimq@live.nl> * fix kotlinx Signed-off-by: illyrius666 <fitimq@live.nl> * revert Signed-off-by: illyrius666 <fitimq@live.nl> * making use of data interface Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * fix Signed-off-by: illyrius666 <fitimq@live.nl> * fix json structure Signed-off-by: illyrius666 <fitimq@live.nl> * lazy loading Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * fix preserving typeref Signed-off-by: illyrius666 <fitimq@live.nl> * fix conversion Signed-off-by: illyrius666 <fitimq@live.nl> * avoided unchecked cast Signed-off-by: illyrius666 <fitimq@live.nl> * creating custom UUIDModule() for jackson Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> * feat/ChatModule/ChatPlaceholders (#246) * init Signed-off-by: illyrius666 <fitimq@live.nl> * woops Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> * Update gradle/actions digest to e60655a (#247) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * updated to mc 1.21.9-rc1, refactor main class and build script Signed-off-by: illyrius666 <fitimq@live.nl> * woops Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] replaced .replace() with Placeholder.component() Signed-off-by: illyrius666 <fitimq@live.nl> * Update gradle/actions digest to 4d9f0ba (#250) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * renamed l18n to i18n (oopsie), renamed WorldEditHook.kt to FAWEHook.kt Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] refactored so we dont need to suppress, also cleanup the plugin.yml Signed-off-by: illyrius666 <fitimq@live.nl> * moved prefix to extutils Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * using lateinit var instead of by lazy Signed-off-by: illyrius666 <fitimq@live.nl> * v+ Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] make hooks automatically detect the class name based on where its called. Signed-off-by: illyrius666 <fitimq@live.nl> * cleanup + refactor getRandomRotation to allow for custom angle input Signed-off-by: illyrius666 <fitimq@live.nl> * refactor getRandomRotation Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * Update plugin xyz.jpenilla.run-paper to v3.0.1 (#251) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * custom advancementdone message Signed-off-by: illyrius666 <fitimq@live.nl> * more logic Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * Update softprops/action-gh-release digest to 62c96d0 (#253) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update gradle/actions digest to cd4b95f (#252) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * + Signed-off-by: illyrius666 <fitimq@live.nl> * feat/PlayerModule/XpInSkull (#249) * init Signed-off-by: illyrius666 <fitimq@live.nl> * using parsed Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * fix merge Signed-off-by: illyrius666 <fitimq@live.nl> * feat/ScoreBoardModule (#254) * init Signed-off-by: illyrius666 <fitimq@live.nl> * v- Signed-off-by: illyrius666 <fitimq@live.nl> * clearing scoreboard Signed-off-by: illyrius666 <fitimq@live.nl> * adjusted aliasses Signed-off-by: illyrius666 <fitimq@live.nl> * added toggle function Signed-off-by: illyrius666 <fitimq@live.nl> * logging improvements Signed-off-by: illyrius666 <fitimq@live.nl> * fixup some formatting Signed-off-by: illyrius666 <fitimq@live.nl> * take 2 Signed-off-by: illyrius666 <fitimq@live.nl> * take 3 Signed-off-by: illyrius666 <fitimq@live.nl> * made it consistent across restarts Signed-off-by: illyrius666 <fitimq@live.nl> * fix boolean Signed-off-by: illyrius666 <fitimq@live.nl> * fix boolean Signed-off-by: illyrius666 <fitimq@live.nl> * v+ Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> * updated to use pdc from data instead of legacy itemmeta, and added that the spawner item has the type in the lore if applicable. Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] added validation on the sleepPercentage Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] switched to jackson builder, and cleanedup some unused config values Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] refactored inRange check to take any kind of numbered type Signed-off-by: illyrius666 <fitimq@live.nl> * Update softprops/action-gh-release digest to f38efde (#255) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * [ci-skip] refactor PlayerData.kt where we add helper methods to make things simpler in the implementation files Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * cleanup Signed-off-by: illyrius666 <fitimq@live.nl> * more cleanup Signed-off-by: illyrius666 <fitimq@live.nl> * more cleanup Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix missing perms Signed-off-by: illyrius666 <fitimq@live.nl> * remove ignoreStructureVoidBlocks for now till its fixed. Signed-off-by: illyrius666 <fitimq@live.nl> * feat/NPCModule (#266) * + Signed-off-by: illyrius666 <fitimq@live.nl> * use jpenillas resource factory so the manual yml is unneeded. Signed-off-by: illyrius666 <fitimq@live.nl> * stdlib instead of stdlib-jdk8 Signed-off-by: illyrius666 <fitimq@live.nl> * tweaking Signed-off-by: illyrius666 <fitimq@live.nl> * fix version and using JsonMapper instead Signed-off-by: illyrius666 <fitimq@live.nl> * making configmanager use datainterface and refactoring datainterface to be more generic Signed-off-by: illyrius666 <fitimq@live.nl> * woops Signed-off-by: illyrius666 <fitimq@live.nl> * added module.key() util Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] Update gradle/actions digest to 6a96db5 (#259) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] Update plugin xyz.jpenilla.run-paper to v3.0.2 (#260) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fmt Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] Update softprops/action-gh-release digest to 6da8fa9 (#261) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * playerskull not displayname but name instead Signed-off-by: illyrius666 <fitimq@live.nl> * init Signed-off-by: Illyrius <FitimQ@live.nl> * + Signed-off-by: Illyrius <FitimQ@live.nl> * + Signed-off-by: Illyrius <FitimQ@live.nl> * + * + * edit var name Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * some check Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * fix config Signed-off-by: illyrius666 <fitimq@live.nl> * added head before name in chat Signed-off-by: illyrius666 <fitimq@live.nl> * rename Signed-off-by: illyrius666 <fitimq@live.nl> * fix sprite Signed-off-by: illyrius666 <fitimq@live.nl> * fix order Signed-off-by: illyrius666 <fitimq@live.nl> * fmt Signed-off-by: illyrius666 <fitimq@live.nl> * expressions and handling in config Signed-off-by: illyrius666 <fitimq@live.nl> * fmt Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * added sounds to the trade Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> Signed-off-by: Illyrius <FitimQ@live.nl> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] Update dependency org.mariuszgromada.math:MathParser.org-mXparser to v6 (#267) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * + Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] Update actions/checkout digest to ff7abcd (#268) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix Signed-off-by: illyrius666 <fitimq@live.nl> * fmt Signed-off-by: illyrius666 <fitimq@live.nl> * moving of npcmodule to mobsmodule and rename of mobsmodule to entitymodule Signed-off-by: illyrius666 <fitimq@live.nl> * refactor and fix ConfigManager.kt Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] fix config take 1 Signed-off-by: illyrius666 <fitimq@live.nl> * finally fixed Signed-off-by: illyrius666 <fitimq@live.nl> * removed SleepModule as there is a built in gamerule Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] Update softprops/action-gh-release digest to 5434409 (#278) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix/#280 (#281) * Update ci_cd.yml Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * Update ci_cd.yml Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * Update feature.yml Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * Update feature.yml Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * Update bug.yml Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * Update config.yml Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * Update renovate.json Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * Update bug.yml Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * Update bug.yml Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * Update feature.yml Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * swapped from checking if air to isCollidable Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> Signed-off-by: illyrius666 <fitimq@live.nl> * fix enderchest open duplication Signed-off-by: Illyrius <FitimQ@live.nl> * [ci-skip] Update gradle/actions digest to f106089 (#282) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * attempt to fix the enderchest mouse glitch Signed-off-by: illyrius666 <fitimq@live.nl> * removing sign module, keeping formatting vanilla. Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * config refactor Signed-off-by: illyrius666 <fitimq@live.nl> * added msg tell tellraw to aliases so their formatting gets fixed. we can now also remove the permissions blocking those for it. Signed-off-by: illyrius666 <fitimq@live.nl> * switch back to worldedit Signed-off-by: Illyrius <FitimQ@live.nl> * [ci-skip] Update gradle/actions digest to a009669 (#284) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] Update plugin org.jetbrains.kotlin.jvm to v2.2.21 (#285) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] Update softprops/action-gh-release digest to aa05f9d (#286) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] Update GitHub Artifact Actions (#287) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat/SignModule (#288) * init Signed-off-by: Illyrius <FitimQ@live.nl> * fixed "" needed for normal text (still needed for MM) suggestion for line now shows 1..4 as suggestion Signed-off-by: Illyrius <FitimQ@live.nl> --------- Signed-off-by: Illyrius <FitimQ@live.nl> * [ci-skip] Update dependency com.sk89q.worldedit:worldedit-bukkit to v7.3.17 (#289) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * added customizing respawn point setting message Signed-off-by: Illyrius <FitimQ@live.nl> * cleanup ExtUtils.kt Signed-off-by: Illyrius <FitimQ@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * removal of unnecessary suppress Signed-off-by: Illyrius <FitimQ@live.nl> * + Signed-off-by: Illyrius <FitimQ@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * feat/ArmorStandModule (#290) * + Signed-off-by: illyrius666 <fitimq@live.nl> * init Signed-off-by: illyrius666 <fitimq@live.nl> * mainhand armorstand functionality setting and getting Signed-off-by: illyrius666 <fitimq@live.nl> * v+ Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * added gui deps Signed-off-by: illyrius666 <fitimq@live.nl> * added init gui Signed-off-by: illyrius666 <fitimq@live.nl> * oops Signed-off-by: illyrius666 <fitimq@live.nl> * oppa Signed-off-by: illyrius666 <fitimq@live.nl> * added armorstand arms toggling Signed-off-by: illyrius666 <fitimq@live.nl> * blub Signed-off-by: illyrius666 <fitimq@live.nl> * cleanup Signed-off-by: illyrius666 <fitimq@live.nl> * equipment swap handling Signed-off-by: illyrius666 <fitimq@live.nl> * cleanup Signed-off-by: illyrius666 <fitimq@live.nl> * todo Signed-off-by: illyrius666 <fitimq@live.nl> * from stateless to rendered component due to itemstack updates needed. Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * some refactorign Signed-off-by: illyrius666 <fitimq@live.nl> * locs Signed-off-by: illyrius666 <fitimq@live.nl> * ref Signed-off-by: illyrius666 <fitimq@live.nl> * attempt 1 into fixing the click handling Signed-off-by: illyrius666 <fitimq@live.nl> * todo Signed-off-by: illyrius666 <fitimq@live.nl> * take 2 Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * i think iam doing something wrong Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * use jpenillas resource factory so the manual yml is unneeded. Signed-off-by: illyrius666 <fitimq@live.nl> * stdlib instead of stdlib-jdk8 Signed-off-by: illyrius666 <fitimq@live.nl> * tweaking Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * different gui library Signed-off-by: illyrius666 <fitimq@live.nl> * buba Signed-off-by: illyrius666 <fitimq@live.nl> * baseplate toggling Signed-off-by: illyrius666 <fitimq@live.nl> * added size toggling Signed-off-by: illyrius666 <fitimq@live.nl> * added more options slot Signed-off-by: illyrius666 <fitimq@live.nl> * refactor Signed-off-by: illyrius666 <fitimq@live.nl> * take 1 Signed-off-by: illyrius666 <fitimq@live.nl> * take 2 Signed-off-by: illyrius666 <fitimq@live.nl> * take 3 Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * fix version and using JsonMapper instead Signed-off-by: illyrius666 <fitimq@live.nl> * making configmanager use datainterface and refactoring datainterface to be more generic Signed-off-by: illyrius666 <fitimq@live.nl> * woops Signed-off-by: illyrius666 <fitimq@live.nl> * added module.key() util Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] Update gradle/actions digest to 6a96db5 (#259) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] Update plugin xyz.jpenilla.run-paper to v3.0.2 (#260) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fmt Signed-off-by: illyrius666 <fitimq@live.nl> * [ci-skip] Update softprops/action-gh-release digest to 6da8fa9 (#261) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * playerskull not displayname but name instead Signed-off-by: illyrius666 <fitimq@live.nl> * setting item in armostand works now kinda, still need to nullify the player holding the item (now duplicates) Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * setting/getting part 1 Signed-off-by: illyrius666 <fitimq@live.nl> * fix merge conflicts Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * using built in inventory handling instead of third party library Signed-off-by: Illyrius <FitimQ@live.nl> * bloop Signed-off-by: Illyrius <FitimQ@live.nl> * bumbum Signed-off-by: Illyrius <FitimQ@live.nl> * + Signed-off-by: Illyrius <FitimQ@live.nl> * fix lang stuff Signed-off-by: illyrius666 <fitimq@live.nl> * refactor ExtUtils.kt Signed-off-by: illyrius666 <fitimq@live.nl> * some fmt Signed-off-by: illyrius666 <fitimq@live.nl> * slot fix for extra options button Signed-off-by: illyrius666 <fitimq@live.nl> * added kdocs Signed-off-by: illyrius666 <fitimq@live.nl> * fix equipment slot filter Signed-off-by: illyrius666 <fitimq@live.nl> * blub Signed-off-by: illyrius666 <fitimq@live.nl> * + Signed-off-by: illyrius666 <fitimq@live.nl> * forgot enabled check in event Signed-off-by: illyrius666 <fitimq@live.nl> * fix shifting Signed-off-by: illyrius666 <fitimq@live.nl> * some refactor Signed-off-by: illyrius666 <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> Signed-off-by: Illyrius <FitimQ@live.nl> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] Update plugin xyz.jpenilla.run-paper to v3.0.2 (#293) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * remove unused keys Signed-off-by: illyrius666 <fitimq@live.nl> * init (#297) Signed-off-by: illyrius666 <fitimq@live.nl> * moving to circleci Signed-off-by: illyrius666 <fitimq@live.nl> * beeb boob Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * [ci-skip] Update Gradle to v9.2.0 (#300) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat/ArmorStandModule/V2 (#299) * init Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * move to MenuType API Signed-off-by: Illyrius <f.qerimi@xodium.org> * tracking inv - armorstand Signed-off-by: Illyrius <f.qerimi@xodium.org> * refactor Signed-off-by: Illyrius <f.qerimi@xodium.org> * more refactor Signed-off-by: Illyrius <f.qerimi@xodium.org> * more ref Signed-off-by: Illyrius <f.qerimi@xodium.org> * added todo Signed-off-by: Illyrius <f.qerimi@xodium.org> * refactor Signed-off-by: Illyrius <FitimQ@live.nl> * seperating view from inventory and adding poseGUi init Signed-off-by: Illyrius <FitimQ@live.nl> * lub Signed-off-by: Illyrius <FitimQ@live.nl> * + Signed-off-by: Illyrius <FitimQ@live.nl> * implement rotations Signed-off-by: Illyrius <f.qerimi@xodium.org> * init using mod for easier gui Signed-off-by: Illyrius <f.qerimi@xodium.org> * init Signed-off-by: Illyrius <f.qerimi@xodium.org> * fix all issues Signed-off-by: Illyrius <f.qerimi@xodium.org> * oops Signed-off-by: Illyrius <f.qerimi@xodium.org> * kdocs Signed-off-by: Illyrius <f.qerimi@xodium.org> --------- Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> Signed-off-by: Illyrius <f.qerimi@xodium.org> Signed-off-by: Illyrius <FitimQ@live.nl> * rename Signed-off-by: Illyrius <f.qerimi@xodium.org> * remove skull xp stuff Signed-off-by: Illyrius <f.qerimi@xodium.org> * added drop chance to player skull Signed-off-by: Illyrius <f.qerimi@xodium.org> * [ci-skip] Update dependency com.fasterxml.jackson.datatype:jackson-datatype-jsr310 to v2.20.1 (#302) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] Update dependency com.fasterxml.jackson.module:jackson-module-kotlin to v2.20.1 (#303) Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * feat/PlayerModule/xpToBottle (#301) * init Signed-off-by: Illyrius <f.qerimi@xodium.org> * + Signed-off-by: Illyrius <f.qerimi@xodium.org> * finish Signed-off-by: Illyrius <f.qerimi@xodium.org> --------- Signed-off-by: Illyrius <f.qerimi@xodium.org> * + Signed-off-by: Illyrius <fitimq@live.nl> * small fix Signed-off-by: Illyrius <fitimq@live.nl> * oopsie Signed-off-by: Illyrius <fitimq@live.nl> * cleanup Signed-off-by: Illyrius <fitimq@live.nl> * remove wandering trading horse Signed-off-by: Illyrius <FitimQ@live.nl> * feat/EntityModule/MobEggDrop (#308) * init Signed-off-by: Illyrius <FitimQ@live.nl> * docs(pr): update pull request template Signed-off-by: Illyrius <FitimQ@live.nl> --------- Signed-off-by: Illyrius <FitimQ@live.nl> * dismount sitting on entity attack. Signed-off-by: Illyrius <FitimQ@live.nl> * fix/InvModule/SearchCmd (#309) * init Signed-off-by: Illyrius <FitimQ@live.nl> * init Signed-off-by: Illyrius <FitimQ@live.nl> * use utils in module Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: update particle effects and clean up unused code in InvModule Signed-off-by: Illyrius <fitimq@live.nl> * refactor: simplify block utility functions and improve property access Signed-off-by: Illyrius <fitimq@live.nl> * refactor: convert nickname and scoreboard visibility functions to properties for improved access Signed-off-by: Illyrius <fitimq@live.nl> * refactor: add extension property to check container block accessibility Signed-off-by: Illyrius <fitimq@live.nl> * added todo Signed-off-by: Illyrius <fitimq@live.nl> * refactor: simplify BookData initialization by setting default values for title and author Signed-off-by: Illyrius <fitimq@live.nl> * refactor: enhance command utility functions for improved hover text and command execution Signed-off-by: Illyrius <fitimq@live.nl> * refactor: update delete cross-component to use SignedMessage for improved message handling Signed-off-by: Illyrius <fitimq@live.nl> * refactor: remove isContainerAccessible check from inventory module for cleaner code Signed-off-by: Illyrius <fitimq@live.nl> * refactor: move hasMatchingEnchantments logic to ItemStackUtils for better modularity Signed-off-by: Illyrius <fitimq@live.nl> * refactor: remove lastUnloads map and simplify player quit handling Signed-off-by: Illyrius <fitimq@live.nl> * woops Signed-off-by: Illyrius <fitimq@live.nl> * cleanup Signed-off-by: Illyrius <fitimq@live.nl> * refactor: simplify item transfer logic and remove unused performUnload method Signed-off-by: Illyrius <fitimq@live.nl> * refactor: improve container handling in inventory transfer logic Signed-off-by: Illyrius <fitimq@live.nl> * add todo Signed-off-by: Illyrius <fitimq@live.nl> * fix legacy material usage Signed-off-by: Illyrius <fitimq@live.nl> * confused Signed-off-by: Illyrius <fitimq@live.nl> * feat: add agent migration state configuration and optimize item stack comparison logic Signed-off-by: Illyrius <fitimq@live.nl> * Update src/main/kotlin/org/xodium/vanillaplus/utils/ItemStackUtils.kt Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> * Update src/main/kotlin/org/xodium/vanillaplus/modules/ChatModule.kt Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> --------- Signed-off-by: Illyrius <FitimQ@live.nl> Signed-off-by: Illyrius <fitimq@live.nl> Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * refactor: optimize chunk processing and clean up action bar message Signed-off-by: Illyrius <fitimq@live.nl> * + Signed-off-by: Illyrius <fitimq@live.nl> * Refactor/armor stand module (#311) * removed RenameHandler.kt as you can rename easily with nametag Signed-off-by: Illyrius <fitimq@live.nl> * refactor SwapHandler to use DataInputStream for packet processing and improve error handling Signed-off-by: Illyrius <fitimq@live.nl> * refactor SwapHandler to simplify item swapping logic for ArmorStand Signed-off-by: Illyrius <fitimq@live.nl> --------- Signed-off-by: Illyrius <fitimq@live.nl> * oops Signed-off-by: Illyrius <fitimq@live.nl> * oops Signed-off-by: Illyrius <fitimq@live.nl> * Remove MathParser dependency and update project configuration for Paper API Signed-off-by: Illyrius <fitimq@live.nl> * Remove redundant 'enabled' property from module configurations Signed-off-by: Illyrius <fitimq@live.nl> * Refactor module classes to use a unified configuration interface Signed-off-by: Illyrius <fitimq@live.nl> * Update treeMask to include additional materials for enhanced tree generation Signed-off-by: Illyrius <fitimq@live.nl> * Refactor SAPLING_LINKS to use a single string for directory paths Signed-off-by: Illyrius <fitimq@live.nl> * Refactor SilkTouchModule to simplify spawner handling and remove unused code Signed-off-by: Illyrius <fitimq@live.nl> * feat/PlayerModule/ReplantEnchantment (#312) * init Signed-off-by: Illyrius <fitimq@live.nl> * setup Signed-off-by: Illyrius <fitimq@live.nl> * Add automatic crop replanting on block break in PlayerModule Signed-off-by: Illyrius <fitimq@live.nl> * Implement replanting functionality with ReplantEnchantment in PlayerModule Signed-off-by: Illyrius <fitimq@live.nl> --------- Signed-off-by: Illyrius <fitimq@live.nl> * Feat/player module/pickup enchant (#313) * init Signed-off-by: Illyrius <FitimQ@live.nl> * feat: implement pickup functionality and refactor replant logic Signed-off-by: Illyrius <FitimQ@live.nl> * feat: implement pickup functionality in PickupEnchantment and update replant logic Signed-off-by: Illyrius <FitimQ@live.nl> * feat: update PickupEnchantment to use PICKUP constant and register tools tag Signed-off-by: Illyrius <FitimQ@live.nl> --------- Signed-off-by: Illyrius <FitimQ@live.nl> * feat: add support for additional source roots in Gradle configuration and update item type keys Signed-off-by: Illyrius <fitimq@live.nl> * feat: add support for brush item type in VanillaPlusBootstrap Signed-off-by: Illyrius <fitimq@live.nl> * feat: add support for fishing rod item type in VanillaPlusBootstrap Signed-off-by: Illyrius <fitimq@live.nl> * feat: update description handling in PickupEnchantment and ReplantEnchantment Signed-off-by: Illyrius <fitimq@live.nl> * feat: streamline event handler for Replant and Pickup enchantments Signed-off-by: Illyrius <fitimq@live.nl> * feat/Enchantment/NightVision (#314) * init Signed-off-by: Illyrius <fitimq@live.nl> * feat: refactor enchantment key generation in EnchantmentInterface and related classes Signed-off-by: Illyrius <fitimq@live.nl> * feat: implement night vision effect handling for helmet enchantment Signed-off-by: Illyrius <fitimq@live.nl> * feat: add event handler for night vision enchantment equipment changes Signed-off-by: Illyrius <fitimq@live.nl> * feat: update enchantment costs and levels for Night Vision, Pickup, and Replant enchantments Signed-off-by: Illyrius <FitimQ@live.nl> * feat: improve night vision enchantment handling and null safety Signed-off-by: Illyrius <FitimQ@live.nl> --------- Signed-off-by: Illyrius <fitimq@live.nl> Signed-off-by: Illyrius <FitimQ@live.nl> * feat: add weapons and tools_weapons tags in VanillaPlusBootstrap Signed-off-by: Illyrius <FitimQ@live.nl> * feat: add mace item type support in VanillaPlusBootstrap Signed-off-by: Illyrius <FitimQ@live.nl> * feat: rename builder method to invoke in enchantment implementations Signed-off-by: Illyrius <FitimQ@live.nl> * feat: refactor enchantment registration to use direct keys instead of constants Signed-off-by: Illyrius <FitimQ@live.nl> * feat: update pickup enchantment to use block location for item drops Signed-off-by: Illyrius <FitimQ@live.nl> * feat: update Pickup enchantment to handle block drop events for item pickups Signed-off-by: Illyrius <FitimQ@live.nl> * feat: enhance Pickup enchantment to track preferred tool usage during block breaks Signed-off-by: Illyrius <FitimQ@live.nl> * feat: simplify Pickup enchantment by removing preferred tool check and unused location tracking Signed-off-by: Illyrius <FitimQ@live.nl> * feat/Enchantment/NimbusEnchantment? (#315) * init Signed-off-by: Illyrius <FitimQ@live.nl> * impl Signed-off-by: Illyrius <FitimQ@live.nl> * feat: adjust Nimbus enchantment flying speed and add TODO for maxLevel implementation Signed-off-by: Illyrius <FitimQ@live.nl> * feat: remove unused DEFAULTS object and streamline Nimbus enchantment flying speed logic Signed-off-by: Illyrius <FitimQ@live.nl> * feat: enhance Nimbus enchantment flying speed logic with level-based multipliers Signed-off-by: Illyrius <FitimQ@live.nl> * feat: update Nimbus enchantment speed multipliers for improved level scaling Signed-off-by: Illyrius <FitimQ@live.nl> --------- Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: remove unused KClass references in ConfigManager and DataInterface Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: replace KClass.simpleName with Class.simpleName for consistency Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: update argument type retrieval to use String().javaClass for consistency Signed-off-by: Illyrius <FitimQ@live.nl> * [ci-skip] Update Gradle to v9.2.1 (#318) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat: implement Silk Touch enchantment with block handling and configuration (moving away from a module) Signed-off-by: Illyrius <fitimq@live.nl> * feat: implement Feather Falling enchantment handling in the system Signed-off-by: Illyrius <fitimq@live.nl> * feat: add handling for PlayerInteractEvent to prevent farmland trampling with Feather Falling boots Signed-off-by: Illyrius <fitimq@live.nl> * feat: refactor ender chest handling in InventoryClickEvent for improved readability and maintainability Signed-off-by: Illyrius <fitimq@live.nl> * feat: refactor PlayerModule to remove dependency on TabListModule and improve encapsulation Signed-off-by: Illyrius <fitimq@live.nl> * feat: remove RecipiesModule from ModuleManager and add recipe discovery handling in PlayerModule Signed-off-by: Illyrius <fitimq@live.nl> * should stay vanilla Signed-off-by: Illyrius <fitimq@live.nl> * cleanup Signed-off-by: Illyrius <fitimq@live.nl> * fmt Signed-off-by: Illyrius <fitimq@live.nl> * fmt 2 Signed-off-by: Illyrius <fitimq@live.nl> * feat/Enchantment/VeinMine (#316) * init Signed-off-by: Illyrius <FitimQ@live.nl> * feat: implement VeinMine enchantment functionality Signed-off-by: Illyrius <FitimQ@live.nl> * Implement Vein Mine enchantment functionality and clean up imports Signed-off-by: Illyrius <fitimq@live.nl> * Implement vein mining logic and connected block detection in VeinMineEnchantment Signed-off-by: Illyrius <fitimq@live.nl> * Prevent vein mining in creative mode Signed-off-by: Illyrius <fitimq@live.nl> * Refactor enchantment description handling to use proper display names Signed-off-by: Illyrius <fitimq@live.nl> * Enhance vein mining to support item pickup and drop handling Signed-off-by: Illyrius <fitimq@live.nl> * Add item transfer functionality to PickupEnchantment for improved item handling Signed-off-by: Illyrius <fitimq@live.nl> * added todo Signed-off-by: Illyrius <fitimq@live.nl> * Implement ore validation for vein mining to restrict functionality to valid ores Signed-off-by: Illyrius <fitimq@live.nl> * Refactor vein mining enchantment to use level-based block limits and adjust cost parameters Signed-off-by: Illyrius <fitimq@live.nl> * Refactor NimbusEnchantment to use a speed modifier map and enhance ore validation in VeinMineEnchantment Signed-off-by: Illyrius <fitimq@live.nl> --------- Signed-off-by: Illyrius <FitimQ@live.nl> Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> Signed-off-by: Illyrius <fitimq@live.nl> * Feat/rotten flesh recipe (#319) * init Signed-off-by: Illyrius <FitimQ@live.nl> * feat: add RecipeModule to handle recipe mechanics and register RottenFleshRecipe Signed-off-by: Illyrius <FitimQ@live.nl> --------- Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: rename getRecipes to recipes in RecipeInterface and RottenFleshRecipe Signed-off-by: Illyrius <FitimQ@live.nl> * init (#320) Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: correct spelling of 'recipes' in package names Signed-off-by: Illyrius <fitimq@live.nl> * Add CI/CD workflow for building the application Signed-off-by: Illyrius <fitimq@live.nl> * [ci-skip] Update gradle/actions digest to 261794a (#321) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix/InvModule/SearchCmd (#323) * init Signed-off-by: Illyrius <fitimq@live.nl> * Refactor chat formatting and introduce custom MiniMessage tag resolvers Signed-off-by: Illyrius <fitimq@live.nl> * Update BookData to use inline fire formatting for title Signed-off-by: Illyrius <fitimq@live.nl> * Add scheduling functionality for particle effects in InvModule Signed-off-by: Illyrius <fitimq@live.nl> * Refactor scheduling logic by introducing ScheduleUtils for particle tasks Signed-off-by: Illyrius <fitimq@live.nl> * Introduce FmtUtils for custom MiniMessage tag resolvers Signed-off-by: Illyrius <fitimq@live.nl> * Refactor FmtUtils to use Component for placeholder styling Signed-off-by: Illyrius <fitimq@live.nl> * Add closing gradient placeholders to FmtUtils for enhanced formatting Signed-off-by: Illyrius <fitimq@live.nl> * Enhance chat and action bar formatting with gradients for improved visual appeal Signed-off-by: Illyrius <fitimq@live.nl> * Update chat and tab list formatting with gradient transitions for enhanced visual consistency Signed-off-by: Illyrius <fitimq@live.nl> * Enhance action bar message with gradient formatting for improved visual appeal Signed-off-by: Illyrius <fitimq@live.nl> * Enhance search command feedback with gradient action bar messages and particle effects for found chests Signed-off-by: Illyrius <fitimq@live.nl> * + Signed-off-by: Illyrius <fitimq@live.nl> * some todos Signed-off-by: Illyrius <fitimq@live.nl> --------- Signed-off-by: Illyrius <fitimq@live.nl> * fix/InvModule/UnloadCmd (#324) * inti Signed-off-by: Illyrius <fitimq@live.nl> * Refactor unload function to improve item transfer logic and particle effects Signed-off-by: Illyrius <fitimq@live.nl> * Update particle effect location and color in unload function Signed-off-by: Illyrius <fitimq@live.nl> * Reduce unload delay duration in inventory unload function Signed-off-by: Illyrius <fitimq@live.nl> --------- Signed-off-by: Illyrius <fitimq@live.nl> * [ci-skip] Update actions/checkout action to v6 (#325) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Restrict pull request target event types to 'opened' Signed-off-by: Illyrius <fitimq@live.nl> * refactor/ModulesToFeatures (#327) * init Signed-off-by: Illyrius <fitimq@live.nl> * Implement cauldron mechanics feature and event listener Signed-off-by: Illyrius <fitimq@live.nl> * Add cauldron interaction event handling and register feature as listener Signed-off-by: Illyrius <fitimq@live.nl> * Refactor cauldron interaction handling and improve event registration logging Signed-off-by: Illyrius <fitimq@live.nl> * Enhance recipe registration logging with execution time measurement Signed-off-by: Illyrius <fitimq@live.nl> * Refactor module management and add MOTD feature implementation Signed-off-by: Illyrius <fitimq@live.nl> * Add BooksFeature implementation for handling book mechanics and commands Signed-off-by: Illyrius <fitimq@live.nl> * Add ChatFeature implementation for handling chat mechanics and whisper command Signed-off-by: Illyrius <fitimq@live.nl> * Refactor feature imports to use companion instance and add DimensionsFeature implementation Signed-off-by: Illyrius <fitimq@live.nl> * Refactor modules to features and update package structure for entity, inventory, locator, openable, pet, player, scoreboard, sign, sit, tab list, and trees mechanics Signed-off-by: Illyrius <fitimq@live.nl> * cleanup Signed-off-by: Illyrius <fitimq@live.nl> * Refactor SitFeature event handling for improved readability Signed-off-by: Illyrius <fitimq@live.nl> * Enhance TreesFeature to log a warning when WorldEdit is not found Signed-off-by: Illyrius <fitimq@live.nl> * cleanup Signed-off-by: Illyrius <fitimq@live.nl> * Refactor SoundData to prepare for kotlinx.serialization and update project configuration Signed-off-by: Illyrius <fitimq@live.nl> * Refactor FeatureInterface to simplify command alias handling Signed-off-by: Illyrius <fitimq@live.nl> * Add kotlinx.serialization plugin and dependencies to build configuration Signed-off-by: Illyrius <fitimq@live.nl> * Implement kotlinx.serialization for BookData and SoundData, and add SoundTypeSerializer Signed-off-by: Illyrius <fitimq@live.nl> * Add @Serializable annotation to Config data classes across multiple features Signed-off-by: Illyrius <fitimq@live.nl> * init DataInterface.kt Signed-off-by: Illyrius <fitimq@live.nl> * Expose config properties in feature objects and add CentralConfigData for centralized configuration management Signed-off-by: Illyrius <fitimq@live.nl> * Refactor configuration handling to use mutable properties and centralize config data loading and saving Signed-off-by: Illyrius <fitimq@live.nl> * Refactor CentralConfigData to use non-default constructor parameters for feature configurations Signed-off-by: Illyrius <fitimq@live.nl> * Refactor DataInterface to support dynamic feature configuration loading and saving Signed-off-by: Illyrius <fitimq@live.nl> * Refactor TreesFeature to conditionally register based on WorldEdit availability Signed-off-by: Illyrius <fitimq@live.nl> * Refactor WorldEditHook to improve logging for missing WorldEdit dependency Signed-off-by: Illyrius <fitimq@live.nl> * Refactor DataInterface to improve JSON serialization handling for feature configurations Signed-off-by: Illyrius <fitimq@live.nl> * sadge Signed-off-by: Illyrius <fitimq@live.nl> * Refactor features to remove kotlinx.serialization dependency and improve config encapsulation Signed-off-by: Illyrius <fitimq@live.nl> * Refactor features to integrate kotlinx.serialization for improved data handling and configuration management Signed-off-by: Illyrius <fitimq@live.nl> * Refactor SilkTouchEnchantment to integrate configuration from ConfigData and improve encapsulation Signed-off-by: Illyrius <fitimq@live.nl> * Refactor EnchantmentInterface and FeatureInterface to use shared configData for improved configuration management Signed-off-by: Illyrius <fitimq@live.nl> * Refactor configuration management by introducing ConfigManager for loading and saving config data Signed-off-by: Illyrius <fitimq@live.nl> * Refactor ConfigManager to improve configuration loading and error handling Signed-off-by: Illyrius <fitimq@live.nl> * Refactor ConfigManager to streamline configuration loading and improve logging Signed-off-by: Illyrius <fitimq@live.nl> * Refactor ConfigManager to return loaded configuration data and improve file handling Signed-off-by: Illyrius <fitimq@live.nl> * Refactor ConfigManager to optimize configuration loading with timing metrics and improve logging Signed-off-by: Illyrius <fitimq@live.nl> * Refactor ConfigManager to load configuration asynchronously and add kotlinx.coroutines dependency Signed-off-by: Illyrius <fitimq@live.nl> * Refactor ConfigManager to remove asynchronous loading and update configuration file handling Signed-off-by: Illyrius <fitimq@live.nl> --------- Signed-off-by: Illyrius <fitimq@live.nl> * Refactor configuration loading logic for clarity and efficiency Signed-off-by: Illyrius <fitimq@live.nl> * Refactor data classes for improved property accessibility and clarity Signed-off-by: Illyrius <fitimq@live.nl> * Refactor SoundData to use string names for sound types and update related configurations Signed-off-by: Illyrius <fitimq@live.nl> * added todo Signed-off-by: Illyrius <fitimq@live.nl> * Add reload command and permission for VanillaPlus plugin Signed-off-by: Illyrius <fitimq@live.nl> * Refactor feature commands and permissions to use properties for improved readability Signed-off-by: Illyrius <fitimq@live.nl> * Refactor SitFeature to improve event handling and readability Signed-off-by: Illyrius <fitimq@live.nl> * Refactor TreesFeature to improve event handling and readability Signed-off-by: Illyrius <fitimq@live.nl> * Refactor ScoreBoardFeature to improve event handling and readability Signed-off-by: Illyrius <fitimq@live.nl> * Refactor PetFeature to improve event handling and readability Signed-off-by: Illyrius <fitimq@live.nl> * Refactor OpenableFeature to improve event handling and readability Signed-off-by: Illyrius <fitimq@live.nl> * Refactor MotdFeature to improve event handling and readability Signed-off-by: Illyrius <fitimq@live.nl> * fix Signed-off-by: Illyrius <fitimq@live.nl> * Fix double execution of load() in VanillaPlus.kt Signed-off-by: Illyrius <fitimq@live.nl> * Refactor RecipeInterface to use property for recipes Signed-off-by: Illyrius <fitimq@live.nl> * [ci-skip] Update actions/checkout action to v6 (#329) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] Update actions/checkout action to v6.0.1 (#330) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Remove CauldronFeature registration from VanillaPlus.kt Signed-off-by: Illyrius <fitimq@live.nl> * feat/TorchArrowRecipe (#332) * init Signed-off-by: Illyrius <fitimq@live.nl> * Enhance TorchArrowRecipe to utilize persistent data for arrow crafting Signed-off-by: Illyrius <fitimq@live.nl> * Add custom name to Torch Arrow in recipe implementation Signed-off-by: Illyrius <fitimq@live.nl> * Implement TorchArrowFeature to handle mechanics for torch arrows on impact Signed-off-by: Illyrius <fitimq@live.nl> * Refactor TorchArrowFeature to improve torch placement logic on impact Signed-off-by: Illyrius <fitimq@live.nl> * Refactor TorchArrowFeature to separate launch and hit logic for torch arrows Signed-off-by: Illyrius <fitimq@live.nl> * Refactor TorchArrowFeature to improve torch arrow identification logic Signed-off-by: Illyrius <fitimq@live.nl> * Refactor TorchArrowFeature to unify launch and hit event handling for torch arrows Signed-off-by: Illyrius <fitimq@live.nl> * Refactor TorchArrowFeature to streamline torch arrow item handling and improve drop logic Signed-off-by: Illyrius <fitimq@live.nl> * Refactor TorchArrowFeature to add entity damage handling for torch arrows Signed-off-by: Illyrius <fitimq@live.nl> * Refactor TorchArrowFeature to remove redundant arrow drop logic and enhance entity damage handling Signed-off-by: Illyrius <fitimq@live.nl> * Refactor TorchArrowFeature to remove projectile launch handling for torch arrows Signed-off-by: Illyrius <fitimq@live.nl> * Refactor features to modules for improved organization and consistency Signed-off-by: Illyrius <fitimq@live.nl> --------- Signed-off-by: Illyrius <fitimq@live.nl> * refactor: streamline configuration and command retrieval in interfaces Signed-off-by: Illyrius <fitimq@live.nl> * refactor: change command data return type from List to Collection in ModuleInterface Signed-off-by: Illyrius <fitimq@live.nl> * refactor: change config data initialization to nullable in ConfigManager Signed-off-by: Illyrius <fitimq@live.nl> * refactor: update config data handling in ConfigManager and VanillaPlus Signed-off-by: Illyrius <fitimq@live.nl> * refactor: update getOrCreateConfig to return existing configData if file does not exist Signed-off-by: Illyrius <fitimq@live.nl> * refactor: modify getOrCreateConfig to return a new instance of ConfigData when the file does not exist Signed-off-by: Illyrius <fitimq@live.nl> * refactor: replace tryCatch with executesCatching for standardized command error handling Signed-off-by: Illyrius <fitimq@live.nl> * refactor: rename feature to module in configuration data and update related references Signed-off-by: Illyrius <fitimq@live.nl> * refactor: add @SerialName annotations to modules in ConfigData for improved serialization Signed-off-by: Illyrius <fitimq@live.nl> * refactor: remove unused CONTAINER_TYPES from MaterialRegistry and change WorldEditHook to internal Signed-off-by: Illyrius <fitimq@live.nl> * refactor: add projectile launch event handler to apply visual effects for torch arrows Signed-off-by: Illyrius <fitimq@live.nl> * + Signed-off-by: Illyrius <fitimq@live.nl> * refactor: rename TorchArrowModule to ArrowModule for clarity and consistency Signed-off-by: Illyrius <fitimq@live.nl> * refactor: add @Serializable annotations to module configurations for improved serialization Signed-off-by: Illyrius <fitimq@live.nl> * refactor: implement CapitalizedStrategy for JSON property naming in configuration Signed-off-by: Illyrius <fitimq@live.nl> * refactor: apply OptIn annotation for ExperimentalSerializationApi in CapitalizedStrategy and ConfigManager Signed-off-by: Illyrius <fitimq@live.nl> * [ci-skip] Update plugin com.gradleup.shadow to v9.3.0 (#333) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * [ci-skip] Update gradle/actions digest to 9bc3ffb (#334) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * refactor: enhance message formatting in VanillaPlus.prefix with gradient colors Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: move executesCatching function to CommandUtils for better organization Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: relocate executesCatching import to CommandUtils for improved structure Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: set default value for aliases in CommandData to improve usability Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: replace executesCatching with playerExecuted for improved command handling Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: extract portal event handling into separate functions for improved readability Signed-off-by: Illyrius <FitimQ@live.nl> * refactor: remove unused suppressions and update source paths for improved clarity Signed-off-by: Illyrius <fitimq@live.nl> * cleanup Signed-off-by: Illyrius <fitimq@live.nl> * oops Signed-off-by: Illyrius <fitimq@live.nl> * chore: add .editorconfig for consistent coding styles and update .gitignore Signed-off-by: Illyrius <fitimq@live.nl> * chore: update .gitignore to include modules.xml for better file management Signed-off-by: Illyrius <fitimq@live.nl> * refactor: remove wildcard import suppression for cleaner code Signed-off-by: Illyrius <fitimq@live.nl> * feat: add AdventureWebUiEditorAPI for session management and interaction Signed-off-by: Illyrius <fitimq@live.nl> * oops Signed-off-by: Illyrius <fitimq@live.nl> * [ci-skip] Update gradle/actions digest to 63b23c4 (#336) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Feat/1.21.11 (#328) * init Signed-off-by: Illyrius <fitimq@live.nl> * v+ pre4 Signed-off-by: Illyrius <fitimq@live.nl> * v+ pre5 Signed-off-by: Illyrius <fitimq@live.nl> * v+ rc1 Signed-off-by: Illyrius <fitimq@live.nl> * v+ rc3 Signed-off-by: Illyrius <fitimq@live.nl> * v+ Signed-off-by: Illyrius <fitimq@live.nl> * Remove unused suppressions and format function signatures for better readability Signed-off-by: Illyrius <fitimq@live.nl> * + Signed-off-by: Illyrius <fitimq@live.nl> --------- Signed-off-by: Illyrius <fitimq@live.nl> * feat: enhance torch arrow mechanics with dynamic properties and improved handling Signed-off-by: Illyrius <fitimq@live.nl> --------- Signed-off-by: illyrius666 <fitimq@live.nl> Signed-off-by: Illyrius <28700752+illyrius666@users.noreply.github.com> Signed-off-by: Illyrius <FitimQ@live.nl> Signed-off-by: Illyrius <f.qerimi@xodium.org> Signed-off-by: Illyrius <fitimq@live.nl> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Description
How Has This Been Tested?
Checklist:
Additional context: