Skip to content

%aoneblock_my_island_lifetime_count% returns visited island's count when player is a team member elsewhere #518

@tastybento

Description

@tastybento

Spun off from BentoBoxWorld/BentoBox#2908 (item 5). Filing here because the placeholder lives in the AOneBlock addon.

Reported behaviour

With disallow-team-member-islands: false (so a player can own one island and be a member of another), %aoneblock_my_island_lifetime_count% reports the lifetime count of whichever island the player is currently standing on, not the player's own island:

  • On their own island → shows their own island's count (correct).
  • On a team island they are a member of → shows that island's count instead (incorrect; this is "my island", not the visited one).

The placeholder name my_island_* implies the player's owned island, regardless of where they are standing.

Why this matters

Servers use this placeholder to gate task/quest progression. Because the value flips when the player visits another island as a member, players can complete "my island" tasks by standing on someone else's island.

Proposed fix

Resolve the placeholder via IslandsManager.getOwnedIslands(world, uuid) (or equivalent — the player's owned island in this world) rather than getIslandAt(player.getLocation()) / the primary-island lookup.

If the player owns more than one island in the world, pick the primary owned island, or expose a separate placeholder family for "island the player is currently on" vs "island the player owns".

Original report

%aoneblock_my_island_lifetime_count% will have problems after you become a member. When you are on your own island, it shows that of your own island. When you are on the island as a member, it shows that of the island.

Noogear, BentoBox#2908

Metadata

Metadata

Labels

Type: BugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions