promotional bannermobile promotional banner

NsTut Economy

A stock-exchange style market mod for Minecraft with physical Vault storage, live order books, and instant player trading.
Back to Files

NsTut Economy 0.0.14 - NeoForge 26.1.2

File nameeconomy-neoforge-26.1.2-0.0.14.jar
Uploader
NsTutNsTut
Uploaded
Sep 28, 2026
Downloads
13
Size
701.3 KB
Mod Loaders
NeoForge
File ID
8998948
Type
R
Release
Supported game versions
  • 26.1.2

Curse Maven Snippet

NeoForge

implementation "curse.maven:nstut-economy-1624849:8998948"

Learn more about Curse Maven

What's new

Economy 0.0.14

Team economy foundation

  • Add typed economic principals: PLAYER, TEAM, SERVER, and TAX.
  • Keep the legacy UUID account API source-compatible while adding typed account lookup, creation, deletion, and transfer methods.
  • Migrate legacy saved balances deterministically to PLAYER:<uuid> and persist non-player principals in a separate version-safe balance section.
  • Ensure player starting balance is applied only to newly created player accounts. Team accounts always start at zero.
  • Allow a player account and team account to use the same raw UUID without colliding.
  • Represent Economy's server and tax accounts with typed identities.
  • Preserve typed identities in balance/transfer events and transaction counterparties, with legacy UUID constructors/accessors retained. Add same-UUID player/team event, veto, and history regression tests.

FTB Teams integration

  • Add an optional, loader-neutral team-economy provider contract.
  • Auto-register an FTB Teams provider when FTB Teams is installed without introducing a hard dependency.
  • Treat the built-in FTB Teams provider as a fallback: addon-owned TeamEconomyProvider registrations take precedence, and FTB lifecycle events are ignored while a custom provider is active.
  • Persist stable TeamEconomyProvider.providerId() provenance with Team-wallet lifecycle state. Authorization, order revalidation, reconciliation, deletion, equal-share settlement, and final storage custody now respect the owning provider; if that provider is absent, its wallet/storage/orders are preserved fail-closed instead of being reinterpreted by the FTB fallback.
  • Treat only FTB party teams as shared Economy wallets; FTB personal and server teams are intentionally excluded.
  • Enable optional team economy by default with a simple enabled server toggle. Without FTB Teams, Economy continues normally with personal accounts. Legacy mode config migrates to enabled=true unless explicitly overridden.
  • Add configurable minimum roles for viewing, depositing, market spending, direct Team payout, and administration, defaulting to MEMBER / MEMBER / OFFICER / OWNER / OWNER. Legacy withdrawRole migrates to payoutRole.
  • Re-resolve membership and rank for every authorization check so kicks, leaves, and demotions fail closed.
  • Add permission-checked personal→team deposits and team→typed-principal spending/withdrawal helpers so authorization and balance mutation stay in one server-side operation.
  • Keep Economy balances in Economy persistence rather than FTB Teams extension data.
  • Show separate Personal and Team balances in the Market, with the FTB party display name, current role, configured spend threshold, and an explicit Market principal indicator.
  • Hide team wallet UI when team economy is disabled/unavailable or current membership no longer permits viewing; show the wallet currently selected for new market actions.

Compatibility and tests

  • Add pure-Java regression coverage for typed account identity, starting-balance isolation, persistence, team-mode selection, fresh rank checks, and server-authoritative wallet snapshots.

  • Test reflection-adapter behavior with doubles for party filtering, rank mapping, leave/kick revalidation, and fail-closed behavior.

  • Verify public reflection signatures against real, pinned FTB Teams jars for all five supported loader/version targets in CI.

  • Include pinned FTB Teams and FTB Library in every loader development runtime, while keeping the production integration optional.

  • Add saved-data round-trip coverage for Minecraft 1.20.1, Minecraft 1.21.1, and NeoForge 26.1.2, including TEAM/SERVER/TAX principals.

  • Add team-aware market identities that persist economic principal, actor, and physical storage owner separately while preserving legacy UUID APIs.

  • Add the Personal/Team account switcher and Team Treasury UI. New Team orders use typed TEAM-owned Vaults/Tanks/providers for stock and delivery; legacy orders keep their recorded PLAYER storage.

  • Block same-team self-trading by principal, revalidate team authorization before execution/edit/cancel, and invalidate stale team orders after leave/kick/demotion.

  • Persist typed buyer/seller identities in trade history and typed debtor/creditor principals in compensation/recovery metadata.

  • Add idempotent Team deletion handling: freeze the final member snapshot, close/cancel/recover outstanding orders first, then split remaining Team cash equally across that snapshot with persisted per-recipient progress. Team-owned Vault/Tank custody moves to the last recorded owner only after cash settlement finishes.

  • Add /economy team balance/deposit/pay/use controls, deliberately omit ordinary Team -> Personal withdrawal, reject Team self-payment, and make TEAM_PRIMARY defaults track current membership unless explicitly overridden.

  • Extend IOrder/IOrderManager additively with typed identity creation/execution paths for addons.

  • Keep Team closure persistence and lifecycle binding controls internal to Economy instead of freezing them into the supported top-level addon API; add public TransactionContexts factories for addon-authored transfers.

  • Keep server runtime binding internal so addons cannot replace Economy's live account/order services. Global event reset is internalized too, while the shipped EconomyEvents.clearListeners() symbol remains as a deprecated 0.0.13 binary-compatibility shim until a documented breaking API release.

  • Add Team-provider onboarding to Getting Started and Extending Economy, including EconomyApi.teamEconomy(), TeamEconomyProvider, provider precedence, and closure-membership requirements.

  • Verify FTB lifecycle reflection contracts against the pinned Teams and Library artifacts in addition to provider method signatures.

  • Add Containers ownership labels and server-authorized Personal/Team reassignment.

  • Treat Vault/Tank BOTH / INPUT / OUTPUT changes as storage administration (adminRole, OWNER by default) and surface permission/stale-target failures through in-game feedback instead of silent no-ops.

  • Refactor interactive Containers rows onto native OpenUI Cards, stacks, badges, buttons, flex sizing, and tooltips instead of manual click-region/layout arithmetic.

  • Persist explicit storage account kinds in orders/trades; same-UUID PLAYER and TEAM storage remain distinct after reload and network sync.

  • Close already-open Team storage menus when membership or rank is lost.

  • Preserve typed Team recovery attribution after cancelled creation and failed provider release.

  • Version the expanded Market wire format as market_v3; use matching client/server builds.

  • Make built-in Tank capacity server-configurable through config/economy-storage.properties and split fluid-container handling into dedicated Input/Output slots so stackable containers can process cleanly.

  • Add explicit Personal/Team principal forms for balance, pay, and admin give/take/set commands while preserving legacy Personal shorthands.

  • Replace container ownership/mode action verbs with clickable state chips and collapse Team Treasury explanatory rules behind an expandable Info control.

  • Make the Personal/Team Market principal a single server-authoritative view state across New Order, Orders, Portfolio, Containers, and Pay Player; principal-sensitive lists are filtered before sync and stale Team selection falls back to Personal when market-spend permission is lost.

  • Simplify container/order rows: Containers no longer repeat an owner text line, owner/I/O state chips place the adjustment glyph on the right, and My/Team Orders no longer repeat / Personal or / Team on every row.

This mod has no additional files