Skip to content

Add 6 example upgrades seeded on first install#76

Merged
tastybento merged 1 commit intodevelopfrom
feature/example-upgrades
Feb 24, 2026
Merged

Add 6 example upgrades seeded on first install#76
tastybento merged 1 commit intodevelopfrom
feature/example-upgrades

Conversation

@tastybento
Copy link
Member

Summary

  • Seeds 6 example upgrades automatically for any game mode that has no upgrades configured yet (first install). Once created they are fully editable/deletable via the admin GUI.
  • Adds DefaultUpgradeSeeder class with one method seedIfEmpty() called from onEnable().
  • Adds getPublicDescription(User, PriceDB/RewardDB) overloads to IslandLevelPrice, ItemPrice, PermissionPrice, and LimitsReward so placeholder values ([level], [amount], [item], [permission], [type], [target]) are substituted with actual configured values in the player shop panel.

Example upgrades seeded

# Name Price Reward Purchases
1 Border Expansion I $500 +5 border blocks
2 Border Expansion II Island level 100 + $2000 +10 border blocks
3 Hopper Limit $1000 +2 hopper block limit
4 Cow Limit $500 +2 cow entity limit
5 Diamond Border 10 diamonds +3 border blocks
6 Donor Perk upgrades.example.donor permission Console command

Test plan

  • Fresh server install: log shows "Seeded 6 example upgrades for BSkyBlock"
  • Player runs /bsb upgrade — all 6 examples appear with correct descriptions (amounts/types substituted, not literal placeholders)
  • Server with existing upgrades: no seeding occurs on reload
  • Admin edits/deletes an example via admin GUI — works normally
  • mvn test passes (102 tests)

🤖 Generated with Claude Code

On first enable for a game mode with no configured upgrades, six
example upgrades are seeded automatically so admins can immediately
see how the system works and have a starting point to edit:

  1. Border Expansion I  – MoneyPrice($500) → RangeReward(+5), 5×
  2. Border Expansion II – IslandLevel(100) + Money($2000) → Range(+10), 3×
  3. Hopper Limit        – Money($1000) → LimitsReward(BLOCK/HOPPER/+2), 5×
  4. Cow Limit           – Money($500)  → LimitsReward(ENTITY/COW/+2), 5×
  5. Diamond Border      – ItemPrice(10 DIAMOND) → RangeReward(+3), 3×
  6. Donor Perk          – PermissionPrice → CommandReward, 1×

Also adds getPublicDescription(User, PriceDB/RewardDB) overloads to
IslandLevelPrice, ItemPrice, PermissionPrice, and LimitsReward so
that placeholders ([level], [amount], [item], [permission], [type],
[target]) are substituted with real values in the player shop.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@tastybento tastybento merged commit 0568919 into develop Feb 24, 2026
1 check failed
@tastybento tastybento deleted the feature/example-upgrades branch February 24, 2026 03:56
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