You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Account-addressed compatibility methods resolve whichever character is active when a callback runs. Remove the 16 obsolete balance/mutation/accessor signatures and LegacyCalls after auditing their consumers; callers use Denars with a captured CharacterRef instead.
Keep OfflineModifier name lookup, the join listener, Database.hasPlayerData readiness, ledger totals/rankings, legacy PlayerData/Account readers, imports, heirs and receipts. The retained readiness method now uses the same Bukkit player lookup and Denars.active check directly. No persisted format changes.
Removed APIs: OfflineModifier.apply/change/balance; MoneyManager.doTaxes/addMoney/getBalance/changeBal/addMoneyToAccount; PlayerManager.get(Player/UUID); DenarEconomy.getPlayerManager; Database.savePlayerData/loadPlayerData/getPlayerBalance; LegacyCalls. This is an intentional breaking public API change for the next minor release.
Refreshed all 41 active source repositories. No external production or obsolete reflection callers. The one obsolete negative SF mock verification is removed in the coordinated SF change.
Constant-pool/reflection/config census covered 89 distinct proposed/installed/private JARs with no external DE wrapper consumers.
Actual published RPCharacters 2.20.0 wallet binds this candidate; captured-character debit/refund after A-to-B switch, duplicate IDs and ledger reopen preserve balances and money totals.
Rollout remains gated on verified 6c Dev activation and the reviewed stopped cohort. Publish merged numeric releases after review; preserve the complete displaced 6c rollback set and all migration/history data. Main is excluded.
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
📝 Summary
Summary by CodeRabbit
Bug Fixes
Player-data readiness now requires the player to be online and have an active character.
Refactor
Removed legacy account balance, payment and player-data access methods. Account operations now rely on the current character-based system.
Tests
Added coverage for player-data readiness, character-bound payments, account totals and rankings, and remembered player names.
The change removes deprecated compatibility accessors and account operations. It updates the player-data readiness check and adds database tests for readiness, character-bound payments, ledger totals, rankings, and join-time name remembering.
Removes deprecated account operations and snapshot accessors. Remembered-name lookup remains. Removes the legacy account tests and narrows the OfflineModifier tests to name persistence and lookup.
Check online character readiness src/main/java/net/tfminecraft/denareconomy/database/Database.java, src/test/java/net/tfminecraft/denareconomy/database/DatabaseTest.java
Database.hasPlayerData returns true only when the UUID resolves to an online player with an active character. Tests cover readiness for null, unknown, offline, and characterless players, plus test setup and teardown.
Test payments and ledger results src/test/java/net/tfminecraft/denareconomy/database/DatabaseTest.java
Tests cover payments using captured characters, ledger-based server totals, top-balance results, and name remembering on join.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
size:L100-499 effective changed lines (tests excluded in mixed PRs).
1 participant
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Account-addressed compatibility methods resolve whichever character is active when a callback runs. Remove the 16 obsolete balance/mutation/accessor signatures and LegacyCalls after auditing their consumers; callers use Denars with a captured CharacterRef instead.
Keep OfflineModifier name lookup, the join listener, Database.hasPlayerData readiness, ledger totals/rankings, legacy PlayerData/Account readers, imports, heirs and receipts. The retained readiness method now uses the same Bukkit player lookup and Denars.active check directly. No persisted format changes.
Removed APIs: OfflineModifier.apply/change/balance; MoneyManager.doTaxes/addMoney/getBalance/changeBal/addMoneyToAccount; PlayerManager.get(Player/UUID); DenarEconomy.getPlayerManager; Database.savePlayerData/loadPlayerData/getPlayerBalance; LegacyCalls. This is an intentional breaking public API change for the next minor release.
Validation:
Paired Docs PR: TF-Minecraft/Docs#240
Rollout remains gated on verified 6c Dev activation and the reviewed stopped cohort. Publish merged numeric releases after review; preserve the complete displaced 6c rollback set and all migration/history data. Main is excluded.
Coordinated SF consumer/test change: TF-Minecraft/SimpleFactions#166