Skip to content

Fix admin GUI issues and Limits 1.28 compatibility (#68, #69, #70, #71)#72

Merged
tastybento merged 2 commits intodevelopfrom
feature/db-upgrade-system
Feb 23, 2026
Merged

Fix admin GUI issues and Limits 1.28 compatibility (#68, #69, #70, #71)#72
tastybento merged 2 commits intodevelopfrom
feature/db-upgrade-system

Conversation

@tastybento
Copy link
Member

Summary

Changes

Limits 1.28.0 compatibility

  • Updated pom.xml to Limits 1.28.0-SNAPSHOT
  • BlockLimitsUpgrade: block limit offset now uses NamespacedKey (block.getKey()) instead of Material
  • LimitsReward: same fix for the DB-backed reward
  • JoinPermCheckListener / LimitsPermCheckListener: updated EntityGroup import to world.bentobox.limits.EntityGroup (moved from inner class)

#71 — DB upgrades not appearing in player panel

  • EditUpgradePanel: toggling active now immediately calls saveUpgradeData() + refreshDatabaseUpgrades()
  • UpgradesAddon.onReload(): also calls refreshDatabaseUpgrades()
  • DatabaseUpgrade.isShowed(): returns false when no tiers configured (prevents "maxed out" display)

#69 — Admin panel opens directly in list view

  • AdminPanel rewritten as a direct list: no intermediate Add/Edit/Delete selector screen
  • Left-click to edit, right-click to delete with confirmation
  • AbPanel gains onBuildHook() / clearItems() / setupNavigationButton() so the list auto-refreshes on every getBuild() call

#68 — Empty admin list on fresh install

  • New list shows a descriptive empty-state item guiding admins to add their first upgrade

#70 — UX improvements

  1. User-typed name used as display name (not the GameMode_input uniqueId) for upgrades and tiers
  2. New upgrades default to active=true
  3. Tier Edit/Delete buttons hidden when no tiers exist; Add tier shows a hint
  4. Tier name shown in list panels instead of uniqueId
  5. Add reward/price button changed from green glass pane to Emerald
  6. Range reward status icon shows the actual formula value instead of generic "Valid Configuration"
  7. Range reward formula input validated as a parseable math expression

Test plan

  • mvn test passes (70 tests)
  • Start server with BSkyBlock + Level + Limits 1.28 + Vault
  • Run /bsb admin upgrade → list opens immediately with "No upgrades yet" message
  • Add an upgrade → display name is the typed name, not prefixed ID
  • Add a tier → tier name is the typed name
  • Set upgrade to active → appears immediately in /is upgrades without restart
  • Right-click upgrade in admin list → delete confirmation, list refreshes after delete
  • Range reward: enter invalid text → rejected; enter valid formula → accepted
  • Old-style block/entity limit upgrades work without NoSuchMethodError

🤖 Generated with Claude Code

tastybento and others added 2 commits February 22, 2026 19:05
- Update pom.xml to use Limits 1.28.0-SNAPSHOT
- BlockLimitsUpgrade: pass block.getKey() (NamespacedKey) to IslandBlockCount instead of Material
- LimitsReward: same NamespacedKey fix for BLOCK case in apply()
- JoinPermCheckListener, LimitsPermCheckListener: fix EntityGroup import from
  world.bentobox.limits.Settings.EntityGroup → world.bentobox.limits.EntityGroup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- #71: Call saveUpgradeData() + refreshDatabaseUpgrades() when active is
  toggled in EditUpgradePanel; also refresh on onReload() so DB upgrades
  appear in the player shop without a server restart.

- #69/#68: Rewrite AdminPanel as a direct list view — no intermediate
  Add/Edit/Delete selector screen. Upgrades are listed immediately with
  left-click to edit and right-click to delete (with confirmation). An
  'Add upgrade' button is always visible. An empty-state item guides
  admins on a fresh install. AbPanel gains onBuildHook() so returning
  from EditUpgradePanel always shows a refreshed list.

- #70 (8 UX improvements):
  1. User-typed name is now the display name (not the prefixed uniqueId)
     for both upgrades and tiers.
  2. New upgrades default to active=true.
  4. Tier Edit/Delete buttons are hidden when no tiers exist; Add tier
     shows a hint that at least one tier is required.
  5. Tier display name used in list panels instead of uniqueId.
  6. 'Add new reward/price' button changed from green glass pane to
     Emerald for better visibility.
  7. Range reward GUI shows formula value on the status icon instead of
     the generic 'Valid Configuration' label.
  8. Range reward formula input now validates as a parseable math
     expression; invalid input is rejected.

DatabaseUpgrade.isShowed() now also returns false when no tiers are
configured, preventing the upgrade from appearing as 'maxed out'.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@tastybento tastybento merged commit 6610626 into develop Feb 23, 2026
1 check failed
@tastybento tastybento deleted the feature/db-upgrade-system branch February 23, 2026 04:27
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.

1 participant