Skip to content

Use character guilds and replayable node payments - #19

Merged
ryanbarlow97 merged 3 commits into
mainfrom
feat/character-ledger
Oct 12, 2026
Merged

ryanbarlow97 merged 3 commits into
mainfrom
feat/character-ledger

Conversation

@ryanbarlow97

@ryanbarlow97 ryanbarlow97 commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Node ownership now waits for SimpleFactions to finish character migration. Guild checks use the active character, and guild leaders display their character names. Upgrades, refunds and capacity purchases post against the guild's immutable treasury account.

A durable payment journal records the operation and exact target state before the ledger changes. Recovery reuses that operation, persists the paid node/capacity state, then completes the journal. Unavailable identity or unresolved payment recovery prevents node mutation and shutdown overwrites.

Validation: tfmc-mvn -o -B --no-transfer-progress clean verify on CachyOS: 221 tests pass, 100% line coverage. Includes unavailable posting, restart replay after state-save failure, changed owner rejection, and startup waiting. Requires unreleased SimpleFactions 4.0.0 (#160), DenarEconomy 0.3.0 (#38), and TLibs 2.4.0. Hold this draft for the coordinated stage 5 rehearsal/release; public CI cannot resolve unpublished dependency releases yet.

Companion documentation: TF-Minecraft/Docs#200.

@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: fed56439-f337-4f2a-ba3b-f64cbcab0083

📥 Commits

Reviewing files that changed from the base of the PR and between 5438c86 and c8e9bf8.


📒 Files selected for processing (16)
  • pom.xml
  • src/main/java/net/tfminecraft/dowsing/DowsingMain.java
  • src/main/java/net/tfminecraft/dowsing/managers/InventoryManager.java
  • src/main/java/net/tfminecraft/dowsing/managers/NodeManager.java
  • src/main/java/net/tfminecraft/dowsing/objects/Node.java
  • src/main/java/net/tfminecraft/dowsing/utils/Database.java
  • src/main/java/net/tfminecraft/dowsing/utils/DurableFiles.java
  • src/main/java/net/tfminecraft/dowsing/utils/NodePayments.java
  • src/main/resources/plugin.yml
  • src/test/java/net/tfminecraft/dowsing/DowsingLifecycleTest.java
  • src/test/java/net/tfminecraft/dowsing/managers/NodeManagerEventsTest.java
  • src/test/java/net/tfminecraft/dowsing/testsupport/FactionFixture.java
  • src/test/java/net/tfminecraft/dowsing/utils/DatabaseTest.java
  • src/test/java/net/tfminecraft/dowsing/utils/NodePaymentsTest.java
  • src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
  • src/test/resources/junit-platform.properties

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the size:L 100-499 effective changed lines (tests excluded in mixed PRs). label Oct 12, 2026
@ryanbarlow97
ryanbarlow97 marked this pull request as ready for review October 12, 2026 21:02
@ryanbarlow97
ryanbarlow97 merged commit 5ce84d0 into main Oct 12, 2026
3 of 5 checks passed
@ryanbarlow97
ryanbarlow97 deleted the feat/character-ledger branch October 12, 2026 21:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 effective changed lines (tests excluded in mixed PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant