Skip to content

Master#414

Merged
tastybento merged 21 commits intodevelopfrom
master
Apr 12, 2026
Merged

Master#414
tastybento merged 21 commits intodevelopfrom
master

Conversation

@tastybento
Copy link
Copy Markdown
Member

No description provided.

tastybento and others added 21 commits April 2, 2025 09:25
…n plugins

Require BentoBox API 3.14.0 (addon.yml) and align the pom dependency with
the bentobox.version property so both stay in sync. All 17 locale files are
converted from legacy & color codes to MiniMessage tags now that the User
API supports them natively. Maven plugins are bumped to their latest stable
releases; the compiler plugin is forked to work around a plexus-compiler
in-process bug ("this.hashes is null") that otherwise breaks test-compile.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Players can permanently donate blocks to raise island level.

- /island donate: opens chest-style GUI to drag blocks in
- /island donate hand [amount]: quick donate from held item
- ISLAND_BLOCK_DONATION flag (default: owner, configurable to member)
- Donated points added to level calculation, persist across recalcs
- DONATED tab in island detail panel
- Donation audit log with timestamps and donor tracking
- Admin level report extended with donated blocks section
- Destructive action warnings on confirm button and GUI info
- Backwards compatible: null-safe fields for legacy island data
Adds the new donation feature strings (island.donate, ISLAND_BLOCK_DONATION
flag, donated tab button) to all non-English locales using English text as
placeholder for translators. Notes in CLAUDE.md that on-disk panel templates
are not overwritten on upgrade so release notes must call out panel changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The donation panel built items via Bukkit's deprecated setDisplayName/
setLore APIs and split the translated text on '|'. Two adjacent
MiniMessage spans of the same color collapse to a single legacy run
(e.g. "§cWarning…|destroyed…"), so splitting dropped the §c from the
second line and it rendered in default purple italic. Lore also got
Minecraft's default italic because the legacy String API does not
suppress it the way Adventure Components do.

Switch to displayName(Component)/lore(List<Component>), parse each
segment with Util.parseMiniMessageOrLegacy, suppress default italic,
and carry the active §color/§format codes across '|' splits so styles
do not get dropped on subsequent segments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Require a re-run confirmation before /island donate hand destroys items,
fix tab completion to offer "hand" and the held stack size, route "help"
through the standard help handler, and format [points] placeholders via
the player's locale so large totals render with thousands separators.
Sync the new confirm-prompt key plus spacing and typo fixes across every
locale file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ity, locale spacing

Agent-Logs-Url: https://github.com/BentoBoxWorld/Level/sessions/0764e162-6b48-4cf7-b3e9-f344016416bd

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
Bumps BentoBox to 3.14.1-SNAPSHOT for the new Flag.Builder.minimumRank
API and uses it on BLOCK_DONATION so VISITOR/COOP/TRUSTED ranks can
never be selected as the donation rank — only MEMBER and above.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Extract [points] placeholder into a POINTS_PLACEHOLDER constant so
  the literal is declared once instead of four times (S1192)
- Switch the GUI creation to the Component-based Bukkit.createInventory
  overload so we are no longer calling the deprecated String variant
  (S1874), and reuse removeDefaultItalic so the title matches the
  styling rules used for item names
- Split onInventoryClick into small focused helpers
  (handlePlayerInventoryClick, handleCancel, handleConfirm,
  handleDonationSlotClick, isValidDonationItem,
  distributeIntoDonationSlots). Drops cognitive complexity well below
  the 15 threshold and fixes the brain-method warning (S3776, S6541)
- Rewrite the shift-click distribution loop as a while loop guarded by
  amount > 0 and the two-branch splitWithStyleCarryover loop as an
  if/else-if/else chain, so neither uses more than one break/continue
  (S135)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Require Member rank minimum on block donation flag
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ng, GUI-specific error message

Agent-Logs-Url: https://github.com/BentoBoxWorld/Level/sessions/753156c2-d054-4c6f-820a-48c0ffedbbbe

Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com>
@tastybento tastybento merged commit 23eec6c into develop Apr 12, 2026
1 of 2 checks passed
@sonarqubecloud
Copy link
Copy Markdown

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants