Changelogs - Lightman314/LightmansCurrency GitHub Wiki

v2.2.4.1

Releases for 1.20.1 & 1.21 on 12/8/2024

  • Added new PlayerListWidget that can be used to edit lists of players
    • New widget is now used for the Traders Ally Settings, Discount & Whitelist/Blacklist Trade Rules, and Team Member Management
  • Removed Team Members display-only tab
  • Team Owner is now listed in the Team Member Management tab, though they cannot be interacted with from that tab
  • Team Member Management Tab icon now displays the member count
  • You can now Ctrl+Click on trades to select them, allowing you to edit the price of multiple trades at once
    • Button to select all trades, and the button to actually open the tab that edits all trades prices can be found on the right edge of the Basic Trade Edit tab.
    • Tooltip has been added to all trades to inform you that they can be selected in this manner.
  • Added 3 new "Interaction Upgrades". These can be used to increase the number of traders or trades a Trader Interface can select and interact with.
    • Selected Trades & Traders on the Trade/Trader Selection Tabs now draw green backgrounds.
    • You must now de-select your selected trade/trader in order to select a different one if you've reached your selection limit, even when the limit is only 1.
    • You can still only select 1 trader if the Trader Interface is in Trade Mode.
    • Functionally it will interact with each trade (or trader if in restock/drain mode) in the order that they were selected during each interaction tick.
  • Added new "Daily Trades" Trader-only Trade Rule that allows you to force players to interact with your trades in order and after a predefined delay.
  • Simple Config Options now list their default value in their comment (not shown for complex options such as lists, etc.)
  • Added new coin_mint.soundVolume config option allowing you to increase/decrease the volume of the Coin Mints anvil sound effects upon the completion of an items crafting.
  • REI Coin Mint plugin now uses the coin mint arrow textures instead of the built-in REI arrow
  • Certain Trade Tooltips no longer display in storage if you don't have the permissions required to perform the action.
  • Fixed an issue where the Owner Selection widget did not offset the owner buttons off of the search box.
  • Fixed a crash that could occur when opening the Paygates Storage Menu.
  • Fixed an issue where Money Mending would not confirm that curios items are actually damaged before selecting it a possible repair target.

Patch A

  • Fixed a crash that could occur if a Trade Button is clicked on when it has no trade context, which can sometimes happen in the Trader Interface Info tab.

1.20.1 Patch B

  • Fixed an error that would happen when attempting to create the server-wide Tax Collector when the /lcadmin taxes openServerTax command was run for the first time.

API Notes:

  • Ctrl + Interaction Clicks for TradeData input/output/other handling will no longer be passed on to the relevant trade data's interaction functions as they're overwritten by the Basic Trade Edit Tabs selection capabilities
  • Added LazyPacketData#setList and LazyPacketData#getList functions which allow for the easy reading/writing of lists to a packet. An empty flag will be set at the given key to confirm the writing of the list, whereas the actual values will be written to KEY_INDEX
  • Added TradeRenderManager#lazyPriceDisplay & TradeRenderManager#lazyPriceDisplayList utility functions to make it easier to define the price displays with built-in tooltip for setting the price if in storage mode with permissions.
  • Added TradeRenderManager#hasPermission, so that various storage mode trade tooltips can now more easily check for permissions
  • Added TradeButton$Builder#extraTooltips & TradeButtonArea$Builder#extraTooltips capabilities so that you can define additional tooltips to be drawn when the trade is hovered

v2.2.4.0

Released for 1.21 on 11/19/2024 Released for 1.20.1 on 11/20/2024

  • Added new Basic Wallet
    • Is functionally the same as a Copper Wallet but is slightly cheaper and can be colored with dyes like leather armor.
    • Can be upgraded to an Iron Wallet in a crafting table, but it will lose its dyed color.
  • Added new Ender Dragon wallet that can only be found in end city loot chests.Has less storage than the Nether Star wallet, but comes with 3 bonus levels to the Coin Magnet enchantment and can still be upgraded to match it's max capacity.
    • Starts with 42 item slots, but can be upgraded more than other wallets allowing it to reach the same max item capacity as the Nether Star wallet
    • Has 3 free bonus levels of the Coin Magnet enchantment
  • Added machine_protection.quarantinedDimensions string list config option to the server config to allow dimensions to block off all network trader & bank account functionality.
    • Intended for either "Creative Dimensions" where players have access to infinite items/money in a seperate inventory from their normal inventory
    • Disables all Bank Account & Network Trader access, including the creation of Network Traders, etc.
  • Updated Tax Area bounds rendering. Now uses vanilla world border textures for improved visibility
  • Bank Account Selection buttons will now auto-scroll the account name if it is too large for the buttons available space.
  • The ATM's Transfer Tab now defaults to selecting the target bank account from a list similar to the Account Selection tab.
    • Transfer to Player mode is still an option so that you can still transfer money to players who have not yet joined the server.
    • Input Mode toggle & the Transfer Button itself are now off of the right-edge of the screen near the list selection.
    • Transfer Button now displays a description of the full transfer details, and will glow orange instead of green if transferring to a player who does not yet have a bank account (in player name input mode)
  • Improved and automated REI exclusion zone calculations, allowing REI to utilize all available space until an off-screen button attempts to use it.
  • JEI Plugin now also registers exclusion zones for my screens.
  • Added API to custom screens allowing them to give hovered item/fluid info to REI/JEI for items in abnormal slots
    • You can now look up recipes and/or usages for items in a traders item storage
    • LC Tech will be updated to allow recipe lookups for fluids in a fluid traders tank
  • Optimization changes to the Trader Storage Screen. Will break any custom traders added by an addon mod.
  • Added /lcterminal command allowing players to open the network terminal with a command. Only available if a new terminal.lcterminalCommand server config option is enabled (disabled by default).
    • Cannot be used if a player is in a "quarantined" dimension
  • Internal optimizations of various widget constructors
  • Wallets in a cosmetic Curios wallet slot will now be rendered on your hip instead of the actually equipped wallet.
    • Wallet Slot now has a cosmetic slot by default
  • Indestructible Wallets (Nether Star) will now bounce out of the void if dropped below a dimensions lower build limit
  • Game Clients will now communicate with the server and collect/cache player names for player ids.
    • Should result in more accurate player names & skulls for bank account & owner widgets, as well as the potential for future upgrades to other player name input fields such as Team Member selections, etc.
  • Fixed an issue where non-owners could not access a Network Traders customer screen by interacting with the block directly
  • Fixed a possible crash that could happen if the overworld wasn't loaded during a server tick
  • Fixed an issue where all trader settings sub-tabs would be visible for the first frame after selecting the tab
  • Fixed an issue where a notifications tooltip would still display when hovering over the delete notification button.

1.21 Exclusive Changes

  • Wallet Data (numerical level, storage capacity, model id, etc) is now all handled via Data Components
  • Re-added Supplementary's villager & trade offer manipulation compatibility as it has now updated to MC 1.21

1.21 Patch A

  • Fixed a crash with getting the name from a PlayerReference
  • Made Curios Datagen only load if curios is installed to not force any addons to have curios installed when running their own datagen

1.20.1 Patch A

  • Fixed an issue where scrolling text (normal buttons & Bank Account buttons) would render at the wrong place.

1.21 Patch B

  • Fixed an issue where the prefix text for Text Money Value Inputs would render in the wrong position (fixed in 1.20.1 at initial release)
  • Fixed an issue where the Slot Machine Screen placed the preview widgets at the wrong y positions
  • Fixed an issue where the Auction House did not block interaction if used within a quarantined dimension
  • Fixed an issue where the initial wallet recipes (not the upgrade versions) were generated at the wrong location

1.20.1 Patch B

  • Fixed an issue where the ATM's Coin Slots would always render regardless of which tab you had selected
  • Fixed an issue where Trader Interfaces don't properly collect statistics on their interactions

1.20.1 Patch C

  • Fixed an issue where EasyWidget#renderTick was not being called, resulting in various widgets not hiding or moving themselves when appropriate

API Notes:

  • Added new ClientPlayerNameCache class with various methods for getting player names on the logical client. If a result is not found instantly, it will return null but send a packet to the server requesting more data, so the result is subject to change.
  • TraderStorageScreen/TraderStorageMenu classes now utilize the formerly experimental EasyTabbedMenu and EasyTabbedMenuScreen classes for a more uniform tabbed screen experience. Very little has changed functionally, however the ChangeTab functions are different and EasyMenuTab#createClientTab has different returns/inputs, so an update will be needed to be made compatible with these changes.
  • All EasyWidget widgets added by my mod now utilize a Builder sub-class to remove the need for several redundant constructors for various common widgets, as well as removing the need for certain variables to be public (such as MoneyValueWidget#drawBG).