Repository navigation
Pay market sales to the selling character - #31
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Summary
Merge Risk: ⚪ Minimal · up to Unavailable payments leave goods untouched and preserve the sale record for reconciliation. The required dependency is available to the documented build workflow; normal checks remain appropriate before merging. ✨ Finishing Touches 💡 1
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Market sales now credit the selling character's pouch through
Denars.earn, with tax in the same posting. A player with no active character keeps their items. Refused or unavailable payments do not consume goods.Each sale saves and fsyncs its operation ID, captured character, gross cents and inventory plan before posting. Duplicate click callbacks cannot sell another batch. Interrupted intents remain on disk and block new sales until staff reconcile the ledger and items; this deliberately does not promise crash-atomic Minecraft inventories. Retrying an existing intent uses the stored ledger result even if tax policy changed.
Requires DenarEconomy 0.3.0 (TF-Minecraft/DenarEconomy#38) and TLibs 2.4.0. The 0.3.0 artifact is currently a local build, not a release: GitHub dependency installation is expected to fail until the coordinated provider release. Keep this draft with the stage 5 set; do not release it independently.
Validation:
tfmc-mvn -o -B --no-transfer-progress clean verifyon CachyOS passes all 146 tests and the zero-missed-lines coverage gate. Tests use real SQLite ledgers and cover tax, refusals, no session, callback retries, interrupted postings, preserved intent files and changed inventory.Docs: TF-Minecraft/Docs#197
Stage 5: TF-Minecraft/RPCharacters#89