Paradaux
IssuesPAR-149Planned
0

Bug: Cannot pay employees from gov account

Symptom

Can't pay employees .Savannah212467 and .Dps1234_2541 from a government account. The leading dots mark these as Floodgate/Bedrock usernames.

Root cause (grounded hypothesis)

The gov-pay recipient is resolved by the same cache-only Bukkit.getOfflinePlayerIfCached path as PAR-150 (GovCommand / Hibernia OfflinePlayerResolver.java:30). That resolver is intentionally Bedrock-safe (it avoids the Mojang lookup), but it still returns null for any name not in the usercache — so this is most likely the same uncached-name failure as PAR-150, surfacing on Bedrock employees who aren't currently cached. Secondary possibility: the leading . is stripped or rejected somewhere in arg parsing / a VALID_PLAYERNAME-style regex (cf. the Bedrock-hostile defaults flagged in PAR-109).

Investigate / fix

  1. Reproduce: confirm whether .Savannah212467 is in the usercache when the command fails; log the exact arg string reaching getOfflinePlayerIfCached.
  2. If uncached → fixed by the PAR-150 DB-backed resolver (route through firm_players / the PAR-35 economy_players table, which already stores Bedrock names including the dot).
  3. If the dot is stripped/rejected → fix the arg parser / any name-validation regex to preserve a leading . (cf. PAR-109).

Acceptance

  • Paying a Bedrock-named employee from a gov account works whether or not they're currently cached.

Related: PAR-150 (umbrella cache-resolution bug), PAR-109 (Bedrock name handling), PAR-35.

Comments

No comments yet.

Activity

  • tesks description: Description updatedJun 15, 2026, 5:45 AM
  • paradaux changed status to Status → PlannedJun 15, 2026, 12:41 AM
  • tesks created the issueJun 13, 2026, 7:55 PM