Skip to content

Newer Changelogs

Lightman edited this page Oct 11, 2026 · 5 revisions

1.0.0.1

Released for 26.1.2 on 10/11/2026

Additions

  • Gave ownable blocks the #dragon_immune and #wither_immune block tags so that they can no longer be griefed by those bosses.
  • Re-implemented the search API, giving the search bar in the Terminal actual functionality.
  • Players in Admin Mode can now add/remove trades to traders via +/- buttons that appear in the simple trade edit tab.
    • These buttons will also function for other traders with a flexible number of trade offers like the Paygate or Energy Trader, etc.
  • Players in Admin Mode can now access the "Admin Settings" tab, which has a toggle for the "Unlimited Stock" and "Store Price" settings.
    • Add/Remove Trade buttons no longer exist in this tab unlike older versions.
  • Added the Cash Register
  • Money given to the player after a trade interaction that does not fit in your wallet will now go into the coin slots first and your inventory second.
  • Entities and Chests should now drop/spawn coin loot as configured in the common config
  • Various wallets will now spawn in chests (old end city and bastion spawns plus some new spawns just because)
  • Added Banker & Cashier Professions
    • Only Banker has trade offers at this time
    • Tweaked some of the Banker's Trade Offers
      • Money Mending Trade Offer now offers a random enchantment with the #lightmanscurrency:money_mending tag.

Removed

  • Removed the addCustomWanderingTrades, addBanker, and addCashier config options as villager trades are handled by data packs now and thus these options are no longer necessary.
    • If you wish to disable these trades, vanilla provides methods to remove entries via data-packs (and the banker/cashier trades can be removed by simply overriding the relevant villager trade tag with an empty set)

Bug Fixes

  • Fixed an issue where the Clipboard Settings didn't properly have access to the correct data when writing the data to text (i.e. books)
  • Fixed an issue where Item Network Traders crashed when placed
  • Fixed several issues with the ATM's Bank Account Related tabs
  • Tweaked a couple of things with how my Block Entities sync data to nearby players.
  • Fixed an issue that broke the positioning of various text displays

API Changes

  • Replaced all BiConsumer<ItemStack,TransactionContext> overflow handlers with a proper OverflowHandler interface in the MoneyAPI methods.
  • Replaced the boolean allowOverflow argument for MoneyAPI#getPlayersMoneyHandler with a new OverflowHandler.Modifier argument that allows you to instead modify the item overflow handler to inject your custom item intercepts more safely.
    • Results of this getter will not be cached, however it does accept a nullable modifier which will return the "normal" cached money handler.

1.0.0.0

Released for 26.1.X on 10/2/2026

First public Beta release of the 26.1 port and rework. Below is a list of all of the currently ported features and any changes made from the 1.21 and 1.20.1 versions:

Wallets

  • All 6 "normal" wallets (copper -> netherite) + the Ender Dragon & Nether Star wallets.
  • Wallets do not currently have functional bank access, though I have theoretically implemented this on the ATM.
  • Ender Dragon wallet is now craftable via Netherite Wallet + Dragon Head.
  • Curios API integration is also implemented for players who prefer to keep all their extra equipables in one place.
  • lightmanscurrency:keep_wallet game rule is still present and functions as normal.
  • Replaced the coinDropPercent game rule with a new server config option within the wallet section that allows for a more precise percentage of coin drop rate to be defined.
    • Coin Drop Rate is now followed regardless of the keep_wallet/keep_inventory game rules state (allowing the wallet to drop in addition to some of its contents)

Coins

  • All 6 coins are present along with their Coin Pile and Coin Block equivalents
  • All 6 chocolate coins are present along with their Coin Pile and Coin Block equivalents
  • Emeralds are still qualified as coins
  • Coin Mint is implemented and functioning as intended (I will revisit 1.21/1.20 to fix a minor issue with the coin mint)
  • Coin Entity Drops are implemented, however coin chest spawns are not yet implemented.
  • Re-worked the MasterCoinList.json into a set of chain_name.json files that are located within the config/lightmanscurrency_coin_data/ folder. Format is mostly the same, however most entries are now lowercase instead of upper case, and each file only contains one chain entry (with the chain id being determined by the name of the file).
    • Chocolate Coin chain is now actually written to the coin list data config instead of being hard-coded unless overwritten.
    • A "main" chain is still required, and if none is detected the default "main" chain will be forcibly loaded before other chain data is loaded.

ATM

  • ATM Tabs are now dual-sided instead of being purely client-sided.
  • ATM's are now partially functional within quarantined dimensions (you can exchange coins in them, but you cannot access bank accounts/salaries)
  • I did implement the bank account tabs of the ATM (but not salaries), but I completely forgot to test them so... let me know if something broken I guess.

Traders

  • All original "normal" item traders are present (display case, shelves, vending machines, etc.)
  • Trader Blocks now drop as the linked block item instead of being fully dismantled when broken by the player.
    • Said item is now also placed directly into your inventory for anti-theft purposes.
    • Previous "Pick up as item" button has been replaced with a "Delete Trader" button.
  • Admins who select blocks with Ctrl + Middle Mouse will now obtain a trader item with a "Copied Trader" data component which will create a brand-new trader when placed that is an exact copy of the original at the time that it was copied.
  • Item Position resource pack data is implemented exactly as it was previously.
  • Item Capacity Upgrades and Network Upgrades are present and functional.
  • Network Terminal is present and mostly functional. (Search box is currently ignored, and sorting has not yet been implemented).
  • Trade Rules back-end is implemented, however only the "Free Sample" and "Player Trade Limit" rules are implemented at this time for testing purposes.
  • Settings Clipboard is implemented, and since it's implemented so early in the port it will be significantly easier to make sure that every trader part will be properly compatible with this method of copying traders.
  • Reworked and hopefully optimized the scrolling trade area. Scrolling is now handled on a per-pixel basis (with a new client config option for a scroll multiplier/sensitivity option), and when multiple traders are present each traders name will now appear in-between the trades to indicate which trader those trades belong to.
    • When a title is scrolled off of the top it will become "pinned" to the top in its normal position.

Back-end/Nerdy Stuff

Trader Data Division

  • There is now only a singular final TraderData class that will encompass all traders.
  • Each Trader's data has now been divided into smaller "Trader Nodes", each of which stores only the data relevant to itself.
  • The Trader's TraderType defines what nodes should be present in the traders data.
    • The TraderType and the TraderData constructor can also accept additional arguments to the node before its nodes are constructed so that singular nodes can have varying initial data.
    • Used by Trader Blocks to define a traders initial trade count. Used by the TraderType to define how many upgrade slots the data supports.
  • Trader Node's can implement various interfaces to modify a traders functionality. You can obtain a list of all nodes attached to the trader that implement a certain interface/extend a certain class via various helper methods.

Improved/Optimized Trader Packets

  • Players must now request to track a trader before non-basic data is sent to the client (the basic data being the traders ID and type so that they at least exist on both sides at all times).
    • Trader nodes may also define additional data that should be synced regardless of tracking status if necessary to avoid errors (i.e. the upgrade node syncs how many upgrade slots it has
  • When a player is not tracking a trader, they do not receive any update packets for that trader, avoiding unnecessary packet bloat for in-world only traders.
  • Traders can now filter packets depending on who it's actually relevant for (i.e. it won't send Player #2 the interaction timestamps of Player #1 for the Player Trade Limit rule as it will have no effect on their gameplay)
  • Tracking is automatically requested when relevant blocks are nearby or interacted with:
    • Loading the chunk with a trader's block entity will initiate tracking the trader as a customer and will receive the majority of relevant data that's needed for rendering (storage for stock calculations, the trades and trade rules, the owner so we know if you can break the thing, etc.)
    • Opening the trader's customer menu will further enforce a customer-level tracking of the trader.
    • Opening the Network Terminal menu will request customer-level tracking of all traders accessible via network-trader.
    • Opening the trader's storage menu will request a "storage-level" tracking of the trader which will further synchronize settings that are not needed on the client to interact with the trader (such as the traders notifications/logs, various settings that aren't relevant client-side, etc.)

Clone this wiki locally