TDEconemy Changelog
Mit BuildUp ausgelieferte Version: 2.24.0
2.24.0 · 2.23.0 · 2.22.0 · 2.21.0 · 2.20.0 · 2.19.0 · 2.18.2 · 2.18.1 · 2.18.0 · 2.17.0 · 2.16.1 · 2.16.0 · 2.15.2 · 2.15.1 · 2.15.0 · 2.14.6 · 2.14.5 · 2.14.4 · 2.14.3 · 2.14.2 · 2.14.1 · 2.14.0 · 2.13.1 · 2.13.0 · 2.12.1 · 2.12.0 · 2.11.0 · 2.10.1 · 2.10.0 · 2.9.9 · 2.9.8 · 2.9.7 · 2.9.6 · 2.9.5 · 2.9.4 · 2.9.3 · 2.9.2 · 2.9.1 · 2.9.0 · 2.8.6 · 2.8.5 · 2.8.4 · 2.8.3 · 2.8.2 · 2.8.1 · 2.8.0 · 2.7.4 · 2.7.3 · 2.7.2 · 2.7.1 · 2.7.0 · 2.6.1 · 2.6.0 · 2.5.9 · 2.5.8 · 2.5.7 · 2.5.6 · 2.5.5 · 2.5.4 · 2.5.3 · 2.5.2 · 2.5.1 · 2.5.0 · 2.4.0 · 2.3.5 · 2.3.4 · 2.3.3 · 2.3.2 · 2.3.1 · 2.3.0 · 2.2.0 · 2.1.0 · 2.0.6-td · 2.0.5-td · 2.0.4-td · 2.0.3-td · 2.0.2-td · 2.0.1-td · 2.0.0-td
2.24.0
- Read mob-bucket identity directly from its entity, custom-data and name components. Shop stock matching copies only supported variant and name fields instead of complete captured-entity trees, and inspects CustomData without first encoding another full copy. Fresh candidate reads, ambiguous-container rejection and transaction matching rules are retained.
2.23.0
- Apply normal right-click storage access to newly placed and deactivated shop boards as well as active shops. Opening the editor by clicking an existing board now requires sneak + right-click; Alt + right-click only trades at active shops. Inactive boards validate ownership claims and saved draft storage permissions before opening storage.
- Require sneak + right-click for an administrator to reset unreadable shop data through a board.
2.22.0
- Let shop owners and players with storage permission open attached storage through an active shop board with a normal right-click. Alt + right-click trades instead; sneak + right-click keeps opening the editor. Customers continue trading with a normal right-click.
- Requires TDLibrary 0.19.0 or newer. Screen widget lifecycle and TD backdrop rendering use the common client implementation; economy-specific text, tooltips, ingredient areas, authorization and packet formats remain local.
2.21.0
- Preserve unreadable economy and group-invitation SavedData instead of replacing it with empty data after a Minecraft load failure. Access stays blocked until the existing file is repaired.
- Leave shop data, drafts, ownership claims, and the active index unchanged when deactivation encounters a claim conflict or a block-update failure.
- Share the dashboard response limit across refreshes and action replies. Rapid actions retain their effects while pending replies are combined, and non-operators cannot request a refresh through admin-mode packets.
- Recover mob-shop payments when insertion throws before the entity is added; keep the paid purchase when insertion already succeeded, and log the callback failure.
- Report quarantined audit segments explicitly, including the spool directory, even below the disk warning threshold.
- Count group-linked shop and draft locations once per dashboard snapshot, preserving distinct-location counts while avoiding repeated full-index sorting for each group.
2.20.0
- Consolidate TDEconemy's license, packaged metadata, and documentation under All Rights Reserved, with the original authors' agreement confirmed by the maintainer. Preserve author credits and separate third-party dependency notices.
2.19.0
- Resolve and retain order-crate flag and pole models when model loading completes, refreshing both after each resource reload. Drawing crates no longer queries the dynamic model registry, avoiding repeated model loading and lock waits under ModernFix.
2.18.2
- Remove the unused order
lifetime_hourssetting and correct its documentation. Existing stored order deadlines remain unchanged. - Avoid duplicate inventory scans and shop decoding during periodic shop reconciliation while keeping the existing 20-tick schedule and immediate updates after trades, repairs and price changes.
- Keep unchanged shop claims from rewriting their saved data or marking the sign dirty during reconciliation, while continuing to validate ownership and identity conflicts.
- Read captured-mob template data once per stock scan while checking every candidate's current components with the same type, variant and name filters.
2.18.1
-
Prepare large shop quantities without allocating a stack for every requested bundle before checking actual stock and inventory capacity, preventing oversized purchase requests from exhausting server memory.
-
Restrict economy administrator rights to explicit OP-list entries. Singleplayer ownership or enabling commands for all LAN players no longer grants economy administration by itself.
-
Treat an audit shutdown timeout of zero as no waiting instead of an unlimited wait, so stalled audit workers cannot block server shutdown under that setting.
-
Compact superseded money-only daily quest records when loading economy data and during durable changes. Preserve current streak proof chains, manual reward receipts, pending inventory recovery, referenced quest records and operator correction history; failed writes restore the original history.
-
Reject malformed economy lists with incorrect element types instead of silently loading them as empty balances, memberships, presets or trade quotas. Preserve the original data on validation failure.
-
Limit daily-menu throttle replies to one per half-second and close expired sessions after their error reply, preventing repeated requests from rebuilding and sending the full view without a bound.
-
Keep existing-account balance reads from marking economy data dirty, avoiding unnecessary synchronous saves during notification export while preserving persistence for newly created accounts and money changes.
-
Correct the README's current client/server compatibility references to network protocol 44.
-
Rotate local audit spool files between complete batches at an 8 MiB or 4,096-event target. Preserve oversized batches and reserve quarantined segment names across restarts.
-
Validate complete audit segments before delivery, then replay them in batches of at most 100 events with a 1 MiB payload target. Retain segments after partial delivery or deletion failure for idempotent retry; valid oversized historical records are replayed individually.
-
Track retained spool bytes without scanning every file after each append, and reconcile periodically or after uncertain file operations. A size-check failure no longer requeues an already durable append. Quarantined files remain included in disk warnings.
2.18.0
-
Replace daily rotation and streak syntax fields with named task selection, editable random pools, ordered day lists, and separately labeled money and manual reward fields.
-
Remove the daily menu's sign-grant button and server action. Show series creation only to operators with permission level 2 or higher, and recheck that requirement when creating or saving a new series. Network protocol 44 requires matching client/server builds.
-
Replace personal daily task sequences with shared daily delivery tasks and move the reset to 06:00 in Europe/Berlin. Configure rotations of fixed tasks and random pools, with up to 365 slots. Save each day's draw so all players receive the same task and restarts do not reroll it.
-
Track personal consecutive-day streaks independently of the rotation. Configure streak length and additional money/manual rewards for each step. Missing a day resets the streak; completing it allows another streak from the next quest-day. Preserve previous personal-stage completions, payments and receipts when migrating to the shared-task model.
-
Extend daily administration with rotation/pool and streak-bonus editors. Freeze today's task and accepted streak bonuses across edits, check combined reward amounts and funding, and issue physical receipts only for configured manual rewards. Operators can restore missed streak continuity with a recorded reason without creating a completion or repeating payment.
-
Add an optional Discord webhook in the private
tdeconemy-database.tomlconfiguration to announce the selected task and its deadline, keeping its URL out of the general server configuration distributed with packs. Move previously configured URLs manually and remove the old section before sharing that file. Send in a background worker, disable mentions, and record attempts to prevent restart duplicates. Delivery failures do not affect gameplay and are logged without exposing the webhook URL.
2.17.0
- Add independent daily delivery series with configurable ordered stages, personal runs and a midnight reset in Europe/Berlin. Missing a day ends the run; finishing a series allows another run from the following day.
- Add dedicated daily signs, series administration and a live menu countdown. Existing runs retain their accepted conditions when a series is edited or closed to new starts.
- Pay each daily stage automatically and issue a bonus receipt only when an additional manual reward is configured. Operators can reopen a missed stage for the current day with a recorded reason without repeating earlier payments.
2.16.1
- Always open account selection before a shop purchase, including fixed-price purchases below the confirmation threshold. Buyers can pay from their own personal account or groups with spending permission.
- Operators can select active system accounts with the appropriate payment direction. Source and infinite accounts display unlimited spending capacity; current operator rights, account status and payment direction are checked again on confirmation.
2.16.0
- Require TDLibrary 0.5.0 for fair shared result adoption and separate computation/application diagnostics.
- Reuse immutable copies of unchanged market day buckets, invalidating only changed or expired buckets. Existing snapshots remain isolated from later trades and debug-preview changes.
- Cooperatively cancel superseded market aggregation, ranking and offer-search work while retaining authority, permissions, transactions and refresh intervals on the server.
2.15.2
-
Require TDLibrary 0.4.0 and migrate market/public display preparation to shared CPU capacity and a common result budget. Count retained successor jobs separately from active calculations and preserve all current economy and permission decisions.
-
Prepare market rankings, trends, shop search pages and public order-board searches on bounded presentation workers using immutable snapshots. Superseded requests are coalesced, and results from disconnected players, replaced worlds or changed displays are discarded without blocking the server tick.
-
Bound the existing history reader queue and return unavailable history when its capacity is exhausted.
2.15.1
- Automatically recognize vanilla and modded mob buckets from their configured entity type, including buckets without an entity ID in their saved data. The shop's optional colour/variant filter reads
BucketVariantTagfrom bucket entity data or custom data, including Alex's Mobs Comb Jelly buckets. Health and size differences do not restrict type matching; optional name matching includes named buckets, and trades preserve the complete original bucket data.
2.15.0
- Use TDLibrary's shared inbox for shop/order notifications and preserve legacy read acknowledgements. Archive only after the existing synchronous save succeeds; keep source rights and rollback authoritative and stop pruning completed notification entries after 30 days.
- Archive account transfer and shop transaction notifications for eligible online and offline recipients, preserving account preferences and current account-view permissions. Route quest reminders through shared transient feedback.
- Open the shared inbox from the existing notification menu, with unread markers, individual acknowledgements, snapshot-bound Mark all as read, category filters and saved chat, toast and sound preferences. Current account and shop permissions continue to control which entries can be viewed or acknowledged.
- Configure notification history separately through TDLibrary's automatically generated
config/tdlibrary-database.toml. TDLibrary creates its MariaDB database and tables automatically when enabled and replays retained notifications after outages. TDEconemy's existing audit database configuration remains independent. - Require TDLibrary 0.1.0 for shared technical helpers; its runtime requires NeoForge 21.1.250 or newer.
- Use shared LDLib2 controls and Unicode-safe button label fitting while retaining economy-specific builders, tooltips and language selection.
- Reject oversized dashboard lists before decoding rows and reject MariaDB target strings that could alter the JDBC URL. Audit credentials, TLS settings and database operations remain unchanged.
2.14.6
- World order board clipboards display only the request title; the owner-only "Mine" label is removed.
- Public order board controls, request cards and title now stay inside the cork surface with clear spacing from the wooden frame.
2.14.5
-
Clipboard descriptions use a bounded multiline editor with automatic line wrapping, a vertical scrollbar and the existing 2,048-character limit. Public order boards use a dedicated rectangular oak-and-cork GUI background instead of stretched block textures.
-
Saving a clipboard draft no longer opens an automatic help dialog. Instructions for handing over, posting or submitting it remain available through the help button.
-
Page indicators on order paper screens render without a text shadow, keeping page numbers clear against the light paper background.
-
Completed requests disappear from the postbox inbox once no active execution or unused prepared goods remain. Paid goods remain available for collection in the goods view, and order history is preserved in own orders.
-
Fixed the world clipboard's front-face orientation so its wooden backing, paper and metal clip remain visible from the front on every board facing instead of disappearing while the title remains.
-
World order clipboards use a flat wooden backing, blank paper and a metal clip aligned with their board slots. Titles wrap within the paper at a fixed readable size, with an ellipsis for overflow instead of overlapping the frame or printed item decoration.
2.14.4
- Order postboxes now provide a separate virtual goods compartment for each accepted request and contractor. Depositing goods does not pay or deliver them; reviewed full or partial package handovers pay once and move the goods into the customer's protected collection stock. Contractors can retrieve unused prepared goods after cancellation or external completion, and filled compartments prevent box removal or reassignment. Customers can still confirm partial or complete handovers made through other inventories without creating duplicate goods.
- Clipboard orders guide beginners through three named writing steps with live quantity/payment totals, optional group and posting settings, searchable account choices, a multiline description editor and an unsaved-change prompt. Order pages explain the next step; contextual help, complete details, readable delivery locations and paged confirmations keep long explanations accessible. Compact goods-compartment pages retain access to all player inventory slots at large GUI scales. SavedData schema 19 preserves earlier payments, goods and requests while adding empty preparation compartments; network protocol 41 requires matching client and server builds.
- Order crate flags now swing smoothly up and down over half a second when their order state changes. Reversing an unfinished swing keeps the current position, and loading a chunk displays the correct resting position without replaying the animation. No additional animation library is required.
- Item shops can trade captured mobs and occupied Pumpkin Burrows by resident type instead of requiring identical entity snapshots. Resident detection also recognizes other items using common entity-data component formats without an item-ID allowlist; unreadable, ambiguous and multiple-resident formats retain exact matching. Selecting an item from the inventory or attached storage detects its mob type and opens optional colour/variant and mob-name filters. Storage selection separates different mob types, stock counts include all matching residents, and purchases and sales preserve each traded item's complete data. Existing shops retain exact matching until their selection is changed.
2.14.3
- Public order boards render posted requests as clipboards with their titles. Up to five clipboards are visible; additional requests remain fully usable in the order UI. Taking down a posting removes its world clipboard and makes room for the next request. Empty boards no longer carry the fixed decorative clipboard.
- Cancellation and clipboard retrieval now start with a single button, require confirmation of intent, and only then offer listing-only or listing-and-orders choices. Wider action buttons and full-width cancellation choices prevent clipped labels.
- Taking down a posting from the own-orders view now also returns its clipboard; full inventories leave the posting and executions unchanged. Closed requests have zero availability, disappear from public and postbox listings, and no longer offer redundant cancellation controls. Running executions and paid goods remain accessible in the own-orders and goods views.
2.14.2
-
Postboxes now show only orders addressed to their owner at that exact box; public postings and linked drafts are excluded. Their inbox displays customer, requested goods, total payment and acceptance status, without public repetition controls or the public/mine filter. The orderbox debug fixture describes customer shop orders instead of generic deliveries.
-
Customers and suppliers can propose quantity and price changes before or after acceptance. Changes require explicit approval from the other party, recheck permissions and unpaid funding, and preserve historical payments and stored goods. Deliveries and other execution changes invalidate pending proposals.
-
SavedData schema 18 migrates historical clipboard payments on a copy and persists change proposals. Network protocol 39 requires matching server and client builds.
-
Opening a random-mode market pillar no longer changes its displayed item or restarts its ten-second interval. Boards and top/player pillars still refresh immediately when opened; debug preview changes continue to refresh loaded displays on the next tick.
-
Clipboard requests can only be posted or submitted by right-clicking the public board or postbox with the written item. Removed the remaining publication and submission buttons and blocked their UI requests on the server, preventing a draft from appearing on the board without the required item interaction.
2.14.1
-
Added individual OP-only
/money debug shop sell,shop buy,questandorderboxplacements two blocks ahead of the player. Finite-stock shops use a funded dummy group; published quests exchange sixteen cobblestone for one hundred money; player-owned postboxes contain three funded foreign requests that can be accepted and delivered in singleplayer. Existing blocks and account balances are preserved during setup, and failed initialization rolls back the new blocks and economy data. These fixtures persist and subsequent trades, deliveries and quest rewards use the normal economy rules. -
Free-text clipboard tooltips show the job payment instead of interpreting the empty item identifier as Air and displaying item-package terms. Existing item requests retain their package quantities and prices.
-
Right-clicking an order board with a written clipboard now posts the request immediately and consumes the held document. Right-clicking an order postbox submits it directly; sneaking instead links an authorized delivery box while retaining the clipboard.
-
Added physical clipboard retrieval at boards and postboxes, with separate listing-only and cancel-running-orders variants. Unaccepted requests return as reusable drafts; requests with execution history return as closed documents while preserving paid goods and payments. Full inventories leave both the listing and executions unchanged.
-
Network protocol 38 requires matching client and server builds for clipboard retrieval.
-
Market boards and pillars refresh their world display on the next server tick when the debug market preview is enabled, regenerated or disabled. Opening the market from a display also refreshes its snapshot immediately, preventing a populated overview from appearing alongside a stale empty board.
2.14.0
-
Market overview and shop searches now show up to 20 entries per page with item icons, an internal scrollbar, mouse-wheel and keyboard scrolling, and a page indicator. The window displays multiple rows instead of leaving most of its area empty for one item.
-
Shift-right-click a market pillar to choose its persistent display mode: today's top traded items, the most-sold items from a selected player's shops, or a random market item that changes every ten seconds. Top and player displays cycle through up to nine items every five seconds; player displays show the seller's name and sold quantity.
-
Pillars belong to their placer; only that player or an operator with admin mode may change settings. The first permitted settings interaction claims older unowned pillars. Saves recheck distance, the complete pillar, ownership, claims and the current settings revision on the server.
-
Player/item sales totals persist independently of the fourteen-day market window and survive shop edits, ownership changes and removal. Only real eligible player-owned shop sales count; recording starts with this version because older totals cannot reliably reconstruct the original seller and item. Debug previews never create player sales.
-
SavedData schema 17 migrates schema 16 on a copy, preserving existing money and market data while adding an empty seller history. Network protocol 37 requires matching client and server builds.
-
Fixed order-screen controls extending onto the wooden frame. Footers, actions, navigation and postbox goods controls now have dedicated space inside the paper or cork surface, including compact editor and confirmation layouts.
-
Order input text and headings no longer use a drop shadow on light backgrounds. Darker ink, pale input backgrounds, visible borders and hover/focus feedback make text and active controls easier to read.
2.13.1
-
Added OP-only
/money debug market on/off(also under/tdeconemy) to preview 100 distinct randomly selected registered items, including installed mods, with random daily quantities, purchase/sale splits and whole-money prices across fourteen days in the market overview, board and pillar. Everyongenerates a fresh server-wide temporary preview with rising, falling and stable price trends. Real trades continue to be recorded; disabling the preview or restarting restores real statistics without changing accounts, shops or audit history. -
Free-text jobs now show a single payment/wage field and work approval, without item quantities, package labels or partial-package controls.
-
Clipboard and board windows have bounded, centered layouts; the public/personal filter has enough space for its label.
-
Clipboard item tooltips include the request title, a short description and item terms or job payment. Saving, recovering or opening the document refreshes this display snapshot.
-
Added a confirmed Clear clipboard action that frees the held item for a new request without cancelling the existing order, removing paid goods or releasing active payment reservations.
-
Network protocol 36 requires matching client and server builds for the new clipboard action.
2.13.0
- Reworked orders around individual, transferable clipboards: write an item request or a free-text job, hand it to another player, submit it to a player/group postbox, or pin it to a public order board. The clipboard uses a paper, wooden-frame and metal-clip interface; the public listing uses the board's oak, cork and emblem textures with selectable paper notes.
/money ordersand/money orders mineprovide public and personal access, including recovery onto a held blank clipboard. - Item requests now specify items per package, a whole-money price per package and the number of packages, allowing prices such as four cobblestone for one money. Complete packages can be delivered and paid incrementally through the box, or the requester can explicitly acknowledge an outside partial or complete delivery. Free-text contractors report completion for the requester to approve and pay.
- Public postings create independent executions with their full original quantity and reward. The requester sets the total execution count and chooses repeatable or once-per-player completion; one execution per player can be active at a time. Aborting frees a full execution again while retaining earlier payments and goods. Separate cancellation actions close only the listing or also abort every active execution.
- Accepted rewards are reserved in the paying account until paid or released. Account and order screens show reserved and available money; transfers, shops and direct balance changes cannot spend held funds. Insufficient funding blocks new acceptance without removing the listing.
- Order postboxes now provide 108 shared storage slots with requester-specific pickup and matching-item-only delivery. Empty boxes can be transferred to a managed group or back to a player. Added the server-side
OrderBoxAccessquery API for TDClaim to distinguish submission, management, contracted delivery and collection of a requester's own goods. - SavedData schema 16 adds explicit, strictly validated clipboard records and reservations derived from active executions. The copy-based migration retains previous agreements, paid goods and inventory recovery; previous agreements remain accessible for fulfillment and collection without creating new orders through the old workflow. Network protocol 35 requires matching server and client builds.
2.12.1
- Notice-board help now separates font sizes, formatting, text structure and saving into directly selectable topics. Short left-aligned explanations and separate input/rendered examples replace centered paragraphs, while preserving the editor draft and keyboard scrolling.
2.12.0
- Notice boards now support Discord-style bold, italic, underline and strikethrough, bulleted and numbered lists with hanging indents, headings and full-width separator lines. The editor offers a global font size and explicit
<12>text</f>size spans, including nested and multiline spans. Preview and world rendering share wrapping, mixed-size line heights and decoration layout; malformed formatting and overflow prevent saving. - Added a question-mark button at the top of the notice-board screen that opens detailed, scrollable formatting help with examples, size limits, escaping and save behavior. Opening help retains the unsaved draft. Source limits are now 128 heading and 8,192 body characters to accommodate formatting and lossless migration of earlier plain text.
- Notice-board schema 2 migrates schema-1 text on a copy, escaping formatting characters so existing boards retain their literal text and ownership. Corrupt and future records remain blocked and are preserved rather than rewritten. Network protocol 34 requires matching client and server builds.
2.11.0
- Added craftable four- and five-block-wide notice boards, both three blocks high, with two stepped feet and a continuous two-block-high dark slate writing surface in a dark oak frame with crown, chalk ledge and metal corner fittings, for market rules and announcements. Placement checks the complete footprint; removing a part removes the board with one item drop.
- Notice boards have a shared text editor with an optional larger heading, automatic wrapping, paragraph breaks, three readable text colors, left or centered alignment, and a live preview using the same layout as the world display. Overflow is shown before saving instead of shrinking the text. The placer and operators may edit and dismantle boards; everyone can read them. Saves recheck current rights, proximity, protection, board identity and revision on the server.
- Local builds now require exactly one matching installed LDLib2 JAR and report missing or ambiguous inputs instead of silently selecting a newer copy. Runtime compatibility minimums are unchanged. Network protocol 33 requires matching client and server builds.
2.10.1
- Updated account terminal and modern cash register selection and collision shapes to match the revised Blockbench exports in all four orientations and all material variants, restoring the export regression check used by the release build.
- Market pillars are now three blocks high, with a matching wooden shaft between the base and display head. Placement checks all three spaces, every part opens the market, and breaking any part removes the complete pillar with one item drop. Existing two-block pillars must be broken and placed again.
2.10.0
-
Switching from a negotiable request to a fixed offer clears the optional budget. The server excludes negotiable-only limits from fixed offers, preventing confirmed offers from producing economy data that cannot be loaded after a restart.
-
Either party can change its own payment or receipt account when revising an undelivered agreement, including the publication's owner. Both consents are reset; the publication's default account and other agreements remain unchanged.
-
Order boards and crate flags now exclude closed and expired publications, allowing new offers to remain visible. Existing confirmed deliveries and paid goods remain accessible and continue to protect occupied crates.
-
Shop customer account selection and transaction authorization now require spending permission when buying and deposit permission when selling into a group account.
-
Revising an order agreement keeps the correct buyer or supplier accounts even when the buyer's group is on another account page. Network protocol 32 carries the server-checked revision side and requires matching client/server builds.
-
Converting an item shop to a mob shop now resolves its previous empty/full storage warning instead of leaving a permanent refill task.
-
Offline operator notification recipients now use the UUIDs stored in the OP list directly, avoiding blocking profile lookups and missed recipients after name changes.
-
Added a persisted notification inbox for empty/full finite shop storage and order proposals, acceptances, declines, withdrawals, changed terms and paid deliveries. Offline recipients are captured when each event occurs; current permissions are rechecked before display, and revoked group access permanently removes affected old messages.
-
Stock warnings now survive restarts, report already-resolved problems as history and rearm after observed recovery. Removed, deactivated or transferred shops no longer appear as refill tasks. Active warnings remain until resolved or removed; resolved history and order updates remain for 30 days. Unloaded shops are explicitly unconfirmed without loading chunks.
-
The account dashboard now has a paginated Notifications list with selectable shop/event details and locations. Login and online updates use a bounded chat summary with client display acknowledgements and persisted episode IDs; excess messages are retained without imposing order or offer quotas. SavedData schema 15 adds a tested migration for the inbox, and network protocol 32 requires matching client/server builds.
-
Replaced immediate buy-order delivery with fixed supplier offers and default negotiable buyer requests. Both sides confirm the same final item, quantity, price, identities, accounts and destination; revisions reset consent. Fixed offers optionally allow partial acceptance, and negotiable requests support optional unit-price and total-budget limits.
-
Confirmed agreements occupy the promised quantity without reserving funds and remain valid until fulfillment or either party's withdrawal, including after the original publication closes. Explicit partial deliveries pay only for the requested delivered quantity; failed funds, rights, item or capacity checks leave everything unchanged. Paid goods survive withdrawal and remain collectible.
-
Added separate personal, group and system party/account choices with current server-checked group order rights, account directions and operator admin access. Delivery rechecks both original confirmers and rejects self-trading through controlled accounts or group memberships. Removed player/server order quotas without introducing supplier or account quotas.
-
Empty personal order crates can be assigned to a group. Authorized group collectors can collect group goods, and the protected storage screen offers Collect and Collect all with partial pickup when inventory space is limited. Crates containing open orders or paid goods cannot be broken; hoppers remain unable to insert or extract goods.
-
Order publications, agreements, revisions and mutation events persist through the schema-14 migration, retaining earlier test-world orders, paid goods and inventory recovery without inventing agreement consent. The subsequent schema-15 inbox records offline notifications with the order events. Network protocol 32 requires matching client and server builds; shop price algorithms are unchanged.
-
Account terminals and both cash register styles now use the supplied Blockbench hitboxes for selection and collision in all four horizontal orientations, including every material variant.
-
Added a separate per-member group Permissions menu with labelled switches, save/cancel actions and owner-controlled restoration of default permissions. Existing groups and new members retain their previous default access.
-
Group balance, history, deposits, spending, shop account linking, editing, deactivation, storage access and stock warnings now have independent server-checked rights. Invitations, member removal and renaming can be delegated; permission managers cannot expand their own rights, delegate permission management or restrict the owner. Ownership transfer and dissolution remain owner/operator actions.
-
Storage-only members can open, fill and empty eligible group-shop inventories without editing shops, spending money or breaking infrastructure. Editing alone no longer grants storage access. Revoking rights or removing membership closes affected open inventories through Minecraft's normal cursor-item return path; double chests protect both halves.
-
Permission changes use revisions to reject stale saves and replays. Removing a member clears their custom profile; new owners retain full rights and former owners receive normal defaults. Group-order publish, confirm, collect and cancel rights are available in the permission model for the separate order implementation.
-
The schema-13 migration gives existing groups default permissions on a copy and strictly validates stored profiles and revisions; the subsequent schema-14 migration adds order agreements and schema 15 adds notifications. Network protocol 32 requires matching client and server versions.
-
Item-shop trades now refund payment and recover moved items when an inventory handler throws during execution, including handlers that change a slot before throwing. Items that cannot be put back are returned instead of silently disappearing, and an incomplete inventory rollback is reported explicitly.
-
Item-shop trades now reject extracted items with an unexpected type or item data even when the quantity is correct, preventing failed extraction from converting items into the planned shop output.
-
Audit events are no longer discarded when the database queue and spool backlog exceed the configured queue capacity. The background spool worker retains the backlog and retries failed disk writes; a warning reports a growing in-memory backlog.
-
Mob purchases paid from a group account now record the acting player separately from the paying account in the audit history.
-
Delayed history results now recheck the player's current permissions before sending any entries, so removed group access, transferred shops, and disabled admin mode take effect while a query is running.
-
Order deliveries, collections and quest hand-ins now confirm saved player inventories and recovery markers before further interaction, including the singleplayer owner's
level.datdata. Failed checkpoints disconnect the player and retain recovery data, closing the crash window that could duplicate collected items after they were handed to another player or container. -
Order requests and mutations now have per-player rate limits that survive reopening the clipboard or block screen. Excess requests receive bounded retry feedback, and a response timeout prevents the screen from remaining blocked indefinitely.
-
Creating an order now audits its actual new identity, item and quantity instead of the previously selected order.
-
Unchanged item shops now keep their cached offers without repeatedly marking the entire economy SavedData as changed; item counts, components, prices and storage changes still update the cache.
-
Added craftable market boards (3 by 2 blocks), market pillars (2 blocks high), order boards (2 by 2 blocks) and owner-bound order crates using the supplied models. Multipart displays check placement space and remove their parts together with a single item drop.
-
Market displays show real player/group trade volume, average unit prices and price trends, with Today/7-day windows and quantity, turnover or trend sorting. Server-owned, system-account, infinite-storage and mob shops are excluded. Fourteen UTC calendar-day buckets live in SavedData; displays receive periodic server snapshots without loading distant chunks.
-
Order boards show clickable publication notes and mark the local player's own notes. Crates provide a protected 27-slot delivery store with current owner/group publication rights. Every confirmed delivery checks storage space and pays directly from the selected buyer account to the selected supplier account. Hopper insertion and extraction are disabled because automated insertion has no authenticated supplier.
-
Original order publications close after a configurable lifetime (seven days by default); confirmed agreements and paid deliveries remain available. Server settings also control minimum unit price, without publication or proposal quotas. Existing requests keep their original deadline. The schema-12 migration preserves schema-11 balances, orders and inventory recovery on a copy.
-
The item-shop editor uses one clearly labelled Select item button to open the shared inventory and searchable all-items picker. The selected item remains visible in the shop preview instead of changing the button into an item-source label.
-
Added a public item-shop market through the dashboard and
/money market, with item search, batch prices, owners and coordinates. Unloaded shops remain listed with an explicit availability warning, without loading their chunks. -
Shop owners can open statistics from the shop editors: sales revenue, purchase spending, quantities and the five buyers who spent the most. Successful item and mob purchases update SavedData counters independently of the optional audit backend; historical audit records are not imported.
-
Shop owners receive an online notification when matching stock or storage capacity falls below one minimum trade batch. Refilling or freeing space rearms the notification, including changes made by hoppers.
-
Player and account transfers now accept a payment purpose, which appears in the existing optional terminal transaction history.
-
Operators can opt individual system-account item shops into bounded, volume-driven prices. Dynamic prices remain disabled until configured; price changes invalidate outstanding purchase quotes and are shown on the shop board.
-
Added a craftable Order Clipboard for independent player buy orders, with payment only on each successful delivery, partial deliveries, owner collection and cancellation of undelivered quantities without moving money. Buyers choose items through the existing inventory and searchable all-items picker shared with quests and item shops, without entering technical item IDs. Completed deliveries and collections persist recovery inventories so separate player saves cannot repeat payments or lose delivered items after a crash.
-
Players without a recorded first-seen timestamp now receive a conservative tenure estimate from their existing Minecraft play-time statistic instead of always starting at zero hours. Existing recorded timestamps remain unchanged.
2.9.9
- Sneak-right-clicking a shop board with shears now trims the dark frame off its front so only the red-and-white awning remains over the frame material. Doing it again brings the frame back, and the shears take no damage.
- Shop boards that were dyed with TDEconemy 2.9.4 to 2.9.6 are converted automatically when their chunk is loaded: the dye color becomes the matching vanilla concrete as the board's frame material, so they keep their look.
- Removed the fifteen leftover colored shop board models and their concrete textures, which only served the old dye colors and are no longer needed with block materials.
- Added two cash registers for shop counters: a vintage brass register with stepped round keys, a flip-number window, a walnut drawer and a side crank, and a modern checkout with a tilted touchscreen, a receipt printer and a card terminal. For now both open the same account dashboard as the account terminal. Craft the vintage register from an account terminal, a gold ingot and dark oak planks, and the modern register from an account terminal, black concrete and paper. The vintage register also comes in plain polished copper (vintage register plus a copper ingot) and the modern register in black (modern register plus black dye). All four have their own detailed 64×64 textures and a hitbox that follows their shape.
2.9.8
- The account terminal now comes in four looks so it can match the shop around it: the dark graphite original, light steel with chrome trim, copper with brass trim, and oak with brass trim. Craft a steel, copper or oak terminal from an account terminal plus an iron ingot, a copper ingot or oak planks. All four work exactly the same, keep their look when broken and picked up, and share the screen, keypad and card reader.
- The casing texture on the account terminal's body no longer shows panel seams along its edges, and the overhanging edges of the hood are no longer see-through from behind.
2.9.7
- Sneak-clicking a shop or quest board with a block no longer places that block for a split second before it disappears again.
- The thin side and top edges of a board with a block material now show the middle of the block's texture instead of its outermost pixels, so logs no longer show a bark ring and a single growth ring on the edge.
- The item-shop editor now uses the same item selector as quest materials instead of the nine hotbar slots. You can pick from your whole inventory, search all registered items, or drag an item in from JEI or EMI. Items picked from your inventory keep their exact data, such as enchantments; items picked from the list or from JEI/EMI are the plain item. Quest receipts can no longer be chosen as shop items.
2.9.6
- The frame of shop and quest boards can now take the look of almost any full block. Sneak and right-click a board with the block in your main hand; the block is only used as a template and stays in your inventory. The texture is oriented as if the block had been placed against the clicked face, so logs, pillars and other directional blocks line up with the side you clicked, and tinted blocks such as grass or leaves keep their biome color. Shop owners, members of the owning group and operators in admin mode can restyle shop boards; quest boards can only be restyled by operators. Blocks with an inventory or block entity and blocks that are not full cubes are refused.
- The new server setting
sign_material_blocklistlists item IDs that may not be used as a board material. - Vanilla dyes no longer recolor shop boards. Boards dyed with an earlier version keep their color until a material is applied.
- Shop signs and quest signs now use their own bundled copies of the concrete and stripped dark oak log textures, so resource packs that retexture those vanilla blocks no longer change how TDEconemy blocks look.
- The transparent centre of shop and quest signs now shows the frame material behind it. Before, the centre was drawn as a flat grey-brown or black surface, so recoloring a sign only changed its outer frame.
- The account terminal has a new look: it is now a free-standing cash machine on a deepslate plinth, with a tilted screen under a gold-trimmed hood, a slanted keypad and a card reader. It uses its own detailed 64×64 textures for the casing, plinth, gold trim, screen, keypad and card reader, so resource packs that change vanilla blocks do not alter it. Its hitbox and collision follow the new shape, so it no longer fills the whole block and nearby blocks stay visible behind it.
/moneyis now the main command and does exactly the same as/tdeconemy, including every subcommand such as/money quests,/money top,/money shop validateand/money money transfer./tdeconemykeeps working as an alias. Chat hints, the quest deadline reminders and the group invitation link now point to/money.
2.9.5
- The bundled MariaDB driver now accepts version 3.5.9 or newer instead of exactly 3.5.9, so a future TDEconemy or TDUtilities update that bundles a newer MariaDB driver no longer stops the game from starting.
2.9.4
- Item shops can now trade bundles larger than the item's stack limit, so unstackable items such as bags can be bought or sold four at a time for a single price. Bundles are split into valid stacks when items move between inventories.
- Existing shops and shop drafts are migrated automatically to the new stored layout without changing their item, bundle size, quantity range, or price.
- Item names on shop boards, in the shop editor preview, in the purchase confirmation, and in quest screens now follow the server's forced language, so a player with an English client sees German item names when the server forces
de_de, and the other way round. - Help tooltips in TDEconemy screens now follow the server's forced language as well.
- Button labels that are too long for their button, which happened most often with a large GUI scale, are now shortened with an ellipsis instead of spilling over neighbouring buttons or the screen edge. Hovering the button shows the full label.
- Shop boards can now be recolored: right-clicking a placed board with one of the 16 vanilla dyes in the main hand changes its concrete body to the matching concrete color while the awning and decorative frame stay unchanged. Only the shop owner, a member of the owning group, or an operator in admin mode may dye a board. One dye is used only when the color actually changes, and none in Creative mode. A dye click never triggers a purchase, a sale, or the editor. The color survives restarts and rotation, and existing boards stay black.
- The shop board model now draws the awning and decorative frame as a separate thin layer in front of the concrete body.
2.9.3
- Gives the personal quest receipt a dedicated flat 64-pixel icon based on the supplied paper receipt artwork, making it distinct from ordinary paper in inventories and in hand.
2.9.2
- Presents quest details as a compact overview with item icons, material progress, reward and current status. Full rules and administrative details remain available through an explicit details button.
- Lets operators drag a material from the visible 36-slot inventory grid into the quest material field, while keeping the actual stack in the player's inventory.
2.9.1
- Reorganizes the quest editor into Quest, Materials, Reward and Availability, with account selection exclusively through a dialog and clear messages that identify missing fields.
- Adds inventory-grid selection, optional JEI/EMI drag-and-drop, a searchable item-icon catalogue and explicit item-group selection. Blank or malformed modded item names receive readable fallback labels.
- Replaces typed date formats and numeric sentinel settings with a calendar, time controls, duration presets, named unlimited/one-time options and event templates. Existing accepted deadlines stay separate from the offer's closing date.
- Displays the quest sign as a flat item in the hand and inventory, using a dedicated quest-sheet icon that follows the existing shop-sign frame and visual style.
2.9.0
- Adds searchable participant and receipt administration, private receipt notes, audited deadline extensions and unpaid-attempt resets, plus archive/restore and copy-as-draft workflows for reusable event templates.
- Supports scheduled starts, concurrent participant limits, reserved completion limits, prerequisite quest chains and repeatable quests with a real-time cooldown and separate receipt per completion. Existing accepted terms and historical receipts remain intact.
- Accepts item tags with mixed variants and resolves overlapping material requirements without double counting. Quest journals show known sign dimensions and coordinates.
- Adds persistent player notification preferences, login reminders for expiring quests and open bonus claims, and rate-limited material-ready and deadline warnings.
- Keeps long quest labels and administrative rows inside small menus, with full text available on hover; larger note histories and prerequisite results stay within the client packet budget.
- Migrates quest records through schema 4 and raises the network protocol to 26 for the expanded administration, material snapshots and rule editor. The server and every client must use this build.
- Recovers armor and offhand together with the main inventory after interrupted completions, preventing duplication or loss caused by mixing player-save states. Incomplete legacy recovery images are retained and fail safely when their completion marker is missing.
- Stores recovery items as structured NBT so large component-rich items no longer prevent quest completion by exceeding a single string's size limit.
- Prevents repeated menu refreshes from accumulating GUI renderers, and answers throttled refreshes immediately instead of locking menu actions until timeout.
- Rate-limits quest mutations across reopened menus and saves notification preferences through normal world saves, avoiding repeated forced disk writes from notification toggles.
- Finds a receipt slot during full-inventory hand-ins whenever a valid material allocation can empty a stack, including overlapping tag requirements.
- Shows original completed conditions in the personal journal and distinguishes previous completions from current sign offers. Accepted item-tag variants remain fixed across datapack reloads; missing tags in older snapshots no longer block the economy from loading.
- Saves quest acceptance, edits, completion and manual receipt status before acknowledging success. Pending inventory delivery records recover an interrupted completion on login without repeating the payment, including singleplayer saves; storage failures roll the action back.
- Adds multiline quest text editors, searchable item and quest selection, editable requirement quantities, live deadline countdowns and a paged receipt-status history. Invalid dates and ambiguous daylight-saving times are rejected.
- Rejects material requirements that cannot fit into a player's main inventory for the required all-at-once hand-in.
- Confirms acceptance, material hand-in, unsaved-draft discard, sign replacement and sign removal. Quest actions are offered only at the matching sign; concurrent sign changes and stale claim confirmations are rejected.
- Refreshes loaded quest-sign titles after edits and prevents late menu responses from reopening a closed screen. Reloading an editor fetches fresh server values without silently overwriting an unsaved draft.
- Adds a dedicated quest wall sign with one admin-defined delivery quest per sign and a fully in-game editor for descriptions, materials, system-account rewards, and time limits.
- Lets players explicitly accept quests, deliver all required materials together, receive their money and a personal receipt, and review their attempts through
/tdeconemy quests. - Separates the offer's acceptance window from each player's real-time completion deadline. Existing participants keep their full time after acceptance closes; expired attempts can be retried, while one-time quests remain completed for that player unless an administrator explicitly enables repetition.
- Binds manual bonus-reward receipts to the recipient's UUID and a server-owned claim. Operators can inspect the quest, bonus instructions, recipient and completion time, then mark the reward delivered, invalidate it, or reopen either state without paying money again.
- Preserves accepted quest terms, completion records, receipt history and claim status across edits and sign replacement. Lost receipts can be replaced without creating another claim, and duplicate receipts share the same status.
- Plans complete inventory consumption and receipt insertion before payment, rejecting missing materials, unavailable system accounts, overflow and insufficient inventory space without consuming items.
- Migrates supported economy SavedData through schema 10 to store quests alongside balances. Matching server and client installations are required.
2.8.6
- Enables group creation as soon as a nonblank name is entered and keeps its footer buttons separated at small GUI sizes.
- Restores input placeholders through LDLib2 and adds persistent labels for the compact mob-shop cooldown, use count, and time window.
- Replaces the cyclic purchase quantity control with minus/plus buttons that move by one valid trade batch, stop at the quantity limits, and remain synchronized with direct numeric input.
- Fits transaction-history navigation into the available width and reserves readable price-field space in the compact item-shop quantity-range editor.
- Preserves unsaved shop-limit values and the selected hour/day units when the screen layout is rebuilt.
- Adds keyboard scrolling, scroll buttons, and a visible scroll indicator to help dialogs.
- Removes decorative dot grids from menu backgrounds and content panels while retaining the shared petrol and gold styling.
2.8.5
- Makes
/tdeconemy adminmodetoggle session admin mode when no argument is supplied. Expliciton,off, andtoggleremain available, and the command reports the resulting state.
2.8.4
- Opens the combined account and shop dashboard with
/tdeconemy. - Removes the
/moneyand/shoproots and command workflows already covered by the dashboard, shop editors, and shop boards, including group, system-account, preset, and mob-shop management. - Moves the configurable public balance ranking to
/tdeconemy topand retains administrative player-to-player transfers as/tdeconemy money transfer <amount> <from> <to>. - Retains global economy and shop validation, targeted recovery of unregistered shops, and the existing session admin-mode command under
/tdeconemy, with server-side authorization unchanged. - Replaces group-invitation chat actions that used removed commands with a dashboard link; invitations are accepted or declined in the invitation UI.
2.8.3
- Replaces the inline group-member picker with a searchable, scrollable member-management dialog that shows every member and provides a removal action on each row.
- Sends group invitations directly to the exact player clicked in the selector, eliminating stale two-step selection state that could target a previously selected player.
- Treats every player selected during group creation as a separate invitation target, validates that all targets are still online before consuming the creation item, and sends one invitation to each target instead of assigning unconfirmed memberships.
- Increases the network protocol version to 23 for the revised group-creation invitation contract.
2.8.2
- Makes every account-dashboard tab and operator view reflow into a compact layout on small viewports, keeping selectors, fields, actions, status feedback, and footer controls reachable at high Minecraft GUI scales.
- Restores the item-source selector and clickable hotbar in the compact item-shop editor so high GUI scales do not hide the only way to choose a shop item.
2.8.1
- Widens and reorganizes the item-shop editor, removes the redundant item-source button in favor of direct selection from the displayed hotbar, moves trade limits below the hotbar, and adds clear spacing between field help buttons and the preview.
2.8.0
- Adds server-authoritative minimum and maximum server-tenure requirements and per-player item quotas to item and mob shops, with quota windows capped at 400 days.
- Persists player first-seen timestamps and shop quota buckets in SavedData schema 9, and migrates shop records explicitly from schema 5 to the strict schema 6 trade-policy format.
- Keeps quota identity separate from the selected payment account, records the actual player as the transaction actor, localizes quota denials, preserves equivalent values when switching between hours and days, and clears quota state through every shop-deactivation path.
- Revalidates the inviter's current group-management or operator authority when an invitation is accepted, makes duplicate open invitations idempotent, rate-limits repeated resolved invitations, and bounds retained invitation history.
- Bounds the in-memory audit fallback queue and emits throttled warnings when simultaneous database and spool failures force new audit events to be dropped.
- Updates MariaDB Connector/J from 3.5.7 to 3.5.9 and refreshes dependency-verification checksums.
- Accepts qualified LDLib2 filenames such as
2.2.38.ausing deterministic numeric compatibility checks, removes deprecated Gradle repository syntax, and increases the network protocol version to 22.
2.7.4
- Keeps the group selector button compact and renders the currently selected group name on its own dynamic line so long names cannot overlap adjacent controls.
2.7.3
- Replaces flat menu content surfaces with a restrained shared petrol gradient, subtle inner highlight, low-contrast dot texture, and soft lower shadow.
2.7.2
- Fixes the shared LDLib2 backdrop rendering above screen-specific panels and removes the competing full-screen outer frame.
2.7.1
- Adds a restrained shared menu backdrop with a dark petrol gradient, subtle grid texture, framed content area, and compact gold accent across every LDLib2 screen.
2.7.0
- Rebuilds every interactive client screen on the LDLib2 UI stack and requires the exact BuildUpExp LDLib2 2.2.37 release on both sides.
- Keeps account, group, transfer, history, notification, shop editing, selection, help, and confirmation workflows compact while standardizing focus, disabled states, and contextual field guidance.
2.6.1
- Uses the dedicated shop-sign item texture for the inventory item without changing the placed shop-board model or its block texture reference.
2.6.0
- Adds a Group Requests button to the personal account dashboard and beside the selected personal account in item- and mob-shop editors.
- Lists the receiving player's open group invitations with server-validated Accept and Decline actions and a switchable history showing accepted, declined, and expired requests.
- Persists group invitations and their received-request history in dedicated Minecraft SavedData and increases the network protocol version to 21.
2.5.9
- Moves all optional transaction-history, MariaDB connection, audit-worker, and spool settings out of the main server configuration into the dedicated
tdeconemy-database.tomlserver configuration.
2.5.8
- Refreshes the shop board artwork with a clearer, more compact storefront design.
- Uses polished deepslate for every non-front face of the account terminal.
- Replaces the legacy money-bag FTB Quests reward icon with the bundled TD coin emblem.
2.5.7
- Centers the shop board item geometry and uses a shallow GUI angle so that its front remains readable while its depth stays visible.
2.5.6
- Redesigns the account terminal with a dark petrol display, polished frame, gold coin accent, status light, and compact controls.
- Renders the shop board as an angled three-dimensional item instead of a flat inventory texture.
2.5.5
- Moves the shop board text downward so that the heading no longer overlaps the awning.
2.5.4
- Encapsulates the bundled SQLite JDBC driver in an explicit private Java module so that other mods containing their own
org.sqlitepackages no longer cause duplicate JPMS exports.
2.5.3
- Immediately revokes shop editing permissions when a manager is no longer allowed to use the linked group or player account.
- Restricts economic changes to system-funded shops to operators while still allowing the legitimate owner to restock finite storage.
- Prevents foreign shop IDs from being overwritten during index conflicts and fails closed on inconsistent editor paths.
- Validates registered group and system accounts as well as active finite direct mutations through the public money API.
- Limits persisted shop text and the currency symbol to the existing network boundaries.
- Uses fixed translatable errors for refund and mob-preparation failures, and reports failed FTB Quests credits both visibly and in the log.
2.5.2
- Notifies the acting player about their own transfers and shop transactions when the corresponding account notification is enabled.
- Combines multiple matching accounts per recipient into a single account notification for transfers.
2.5.1
- Explicitly includes active admin mode in the dashboard snapshot instead of inferring it from available player or management lists.
- This ensures that the
All Shopssection reliably displays the global shop index and a dedicated administrative empty state. - Increases the network protocol version to 20.
2.5.0
- Moves group creation into a dedicated dialog with a name field, searchable player selection, and atomic assignment of the initial members.
- Extends active admin mode into a complete shop override: operators can edit or remove shops owned by other players or groups, reset unreadable locations in a controlled manner, change the owner to the server, a player, or a group, and link player, group, or system accounts.
- Migrates persisted active shops and shop drafts step by step from shop-record schema 3 or 4 to 5, writing the migration back only after successful validation against the current schema.
- Enables all four transaction notifications by default for previously unconfigured personal and group accounts.
- Persists
Disable Allas an explicit selection and migrates SavedData from schema 7 to 8. - Establishes the permanent shop-data migration requirement in the project guidelines and increases the network protocol version to 19.
2.4.0
- Adds personal notification settings for the player's own account and every group account they can use.
- Distinguishes incoming funds, outgoing funds, shop sales, and shop purchases; each category can be toggled separately or together and is disabled by default.
- Reports successful transfers and shop transactions with the player, source and target account or shop, item or mob, quantity, total price, dimension, and coordinates.
- Notifies only authorized online subscribers, avoids duplicate notifications for the acting player, and sends nothing for failed or rolled-back operations.
- Migrates SavedData from schema 6 to 7 and increases the network protocol version to 18.
2.3.5
- Separates money-account selection from shop-owner selection in the item-shop editor.
- Adds a searchable owner selector for online players and usable groups, with explicit confirmation before applying the change during saving.
- Revalidates the target owner, current ownership permissions, group status, and session on the server and increases the network protocol version to 17.
2.3.4
- Migrates supported SavedData schemas step by step on a copy before strictly decoding only the current schema.
- Encapsulates schema changes in a central migration chain; code-only changes require neither a schema bump nor a migration.
- Continues to fail closed on unknown, incomplete, or invalid schema sequences without modifying the loaded source data.
- Moves administrative shop diagnostics and emergency money commands under
/tdeconemy shop ...and/tdeconemy money ..., respectively, so they remain visible in tab completion while their permissions are checked only when executed. - Checks operator visibility of
/money topindependently of session-bound admin mode.
2.3.3
- Permanently stores the complete configuration of inactive item shops on the shop sign.
- Separates saving and activation in the shop editor; a dedicated Activate button deliberately creates the active, indexed shop.
- Retains item-shop settings as a draft that can be reactivated after deactivation and increases the network protocol version to 16.
2.3.2
- Uses the shared searchable selection interface for online players as well and removes the parallel specialized implementation.
- Simplifies admin payload validation and confirmation locking without changing server-side permissions.
- Removes the legacy
audit_enabledcompatibility option; history is now selected exclusively throughhistory_backend. - Removes unused Gradle publishing configuration and the duplicate direct Architectury dependency.
2.3.1
- Separates personal accounts, groups, transfers, and shop management into dedicated dashboard tabs.
- Removes transfer fields from the personal-account view and group management.
- Combines online players and usable group accounts in a shared, searchable target selector without a toggle.
- Sends regular players only the online-player data required for target selection and no foreign account balances; source and target permissions continue to be validated on the server.
2.3.0
- Immediately binds every placed TDEconemy shop sign to a persistent player, group, or server owner, even before an active shop has been configured.
- Transfers shop ownership to the group when a group account is selected; members may manage routine values and storage, while owner transfers remain restricted to the group owner.
- Displays the selected item or mob and the current owner on the eight-line shop board.
- Adds complete, paginated transaction history for personal accounts, group accounts, and shops, as well as an administrative view of all accounts and shops.
- Makes history optional through
OFF, an embedded SQLite file, or MariaDB; SavedData remains authoritative for economic state and permissions. - Adds the session-bound
/tdeconemy adminmodeand requires it in addition to exact operator-list membership for administrative in-game actions. - Migrates SavedData from schema 5 to 6, raises the shop-record version to 5, and increases the network protocol version to 15.
2.2.0
- Compensates failed item and mob transactions according to their original monetary effect so that
SOURCEandSINKsystem accounts cannot leave partial state behind either. - Fully decouples local audit spooling from the game thread, writes fallback events in batches, and warns at a configurable spool size.
- Rate-limits repeated dashboard refresh payloads per player, transmits large snapshots in bounded chunks, and increases the network protocol version to 14.
- Updates the Gradle wrapper to 8.14.4, verifies its distribution using SHA-256, removes
mavenLocal(), and enables dependency verification and tighter repository filters. - Makes selection, help, confirmation, shop, and mob-shop interfaces responsive on small viewports, wraps long text, and keeps help icons accessible by keyboard and narration.
- Removes the ineffective admin-level configuration; every exact operator remains an administrator as defined by the security model.
- Corrects the documentation to SavedData schema 5 and the current JAR version.
2.1.0
- Removes the previous
-tdsuffix from the mod version and JAR filename; new builds use thetdeconemy-<major>.<minor>.<patch>.jarnaming scheme.
2.0.6-td
- Ships the group-account contract directly in the mod as the dedicated
tdeconemy:group_account_contractitem, retaining the previous icon and recipe. - Uses the mod's group contract by default, removing the runtime dependency on an additional KubeJS item for group-account creation.
2.0.5-td
- Returns to the previously opened accounts-and-shops menu after remote editing, cancellation, Escape, saving, or deactivation and immediately refreshes its data from the server.
- Adds visible, subtle question-mark icons with field-specific hover explanations to every text input in the account, group, and operator dashboards.
- Replaces the technical system-account labels
limited,source,sink, andinfinitewith clear functional names and explains each mode directly on its selection button and in selection lists. - Prevents the locked balance field from overlapping the button by displaying the long lock explanation only in its tooltip.
2.0.4-td
- Positions the quantity, maximum, and price headings directly above their corresponding fields in the shop editor without overlapping the item-selection button.
- Makes the internal shop name mandatory for item and mob shops and validates it again on the server.
- Additionally persists the internal shop name on the shop block so it survives deactivation and later reactivation. Breaking the block deletes it together with the block entity.
2.0.3-td
- Adds separate internal shop names that are displayed and searchable in management lists but never shown on the sign or purchase dialog.
- Replaces manual player-name input with server-provided online-player selection and displays player heads where skin information is available.
- Adds group invitations that require confirmation through clickable Accept and Decline chat actions and are revalidated on the server.
- Blocks manual balance changes for Source, Sink, and Infinite system accounts on both the client and server.
- Adds subtle question-mark hover help and field tooltips to the main shop, account, selection, and purchase interfaces.
- Increases the network protocol version to 13 for the expanded editor payloads.
2.0.2-td
- Adds a choice between the personal account and all active group accounts the player may use to the purchase and sale dialog. Balance and availability are displayed and revalidated on the server when the transaction is submitted.
- Immediately disables the purchase button when the selected account cannot afford the selected quantity and displays the reason directly in the dialog.
- Keeps mob-shop cooldowns separate per player even when payment uses a group account.
- Arranges usage limits in the mob-shop editor and status and action rows in operator shop management without overlap.
- Increases the network protocol version to 12 for the expanded purchase payloads.
2.0.1-td
- Displays rejection reasons such as insufficient player funds directly in the open purchase dialog instead of incorrectly reporting them as a shop change.
- Arranges details vertically in selection windows and constrains them to the panel width.
- Increases the default purchase-confirmation timeout from 10 to 30 seconds.
- Migrates economic data losslessly from schema 4 to schema 5 and supplies the previously missing archive status of
falsefor existing group accounts.
2.0.0-td
- Completes the group lifecycle in the dashboard: members can leave, owners can transfer ownership to existing members, rename groups, and archive empty, unlinked groups in a controlled manner. Archived records and names are retained; only operators can reactivate them after confirmation.
- Adds reusable searchable, paginated selectors and single-submit confirmation dialogs for accounts, groups, shops, members, mob templates, and presets.
- Expands the operator management center with player, group, system-account, shop, and preset management backed by server-side checks for operator status, IDs, revisions, index state, dimensions, and chunks.
- Allows a loaded item shop to be converted into a mob shop after confirmation. The shop ID, owner, account, price, and text are retained, and the revision is incremented.
- Moves saving, viewing, placing, and deleting exact and template presets into the operator interface. The existing commands remain available as a fallback.
- Adds contextual help and tooltips as well as German and English text with identical translation-key sets.
- Removes the hard runtime dependency on the FTB library. The FTB Quests money reward remains an optional, lazily loaded integration.
- Increases the network protocol version for new and expanded payloads.
Automated tests and the release build do not replace a full restart, fresh logs, or manual in-game, multiplayer, and WorldEdit acceptance testing.