Changelogs - Lightman314/LightmansCurrency GitHub Wiki
Released for 1.21.1 on 4/28/2025 Pending 1.20.1 backport
Additions
- Added new
quality.itemScaleOverrides
config option that allows you to forcibly scale items or item tags that are too large when drawn by item traders, etc.- By default includes items with the
lightmanscurrency:display_half_size
item tag
- By default includes items with the
- Added the ability to add
Model Variants
with a Resource Pack.- Model Variant data can be placed in the
assets/namespace/lightmanscurrency/model_variants/
directory of your resource pack - Added new Glassless variants to the Armor Display & Display Case blocks
- Added 5 new "Skinned" variants to the Armor Display with matching Glassless variants
- Added new Footless variants to the Vending Machine & Large Vending Machine blocks
- Variants can be selected by using the new Variant Wand on any block that supports it
- Possible to define custom ItemPositionData for relevant blocks by adding a "lightmanscurrency:item_position_data" property
- Allows either a resource location of an existing ItemPositionData file, or the raw ItemPositionData json data
- See the Trader Skins suggestion post on my discord for a list of unsupported blocks (https://discord.com/channels/718724106404757616/1351422592871039048)
- Model Variant data can be placed in the
- Updated French translations thanks to Dowar
Changes
- Updated Ticket textures thanks to Dowar
- Updated Vending Machine models and textures thanks to Dowar
- The interior of Vending Machines now glow in the dark to a certain extent emulating interior lighting
- You can now define a "MinLight" property to the ItemPositionData entries to define a minimum light level the items will be rendered at
Bug Fixes
- Fixed an issue where you could set the Price Fluctuation trade rule to fluctuate the price every second
- Fixed an issue where a trade sync packet wouldn't be sent when editing the items from within the Item Trade Edit tab
- 1.21 Fixed an issue with the Exchange Upgrade's stream codec, causing a disconnect whenever a menu attempted to syncronize the items data.
Released for 1.21.1 & 1.20.1 on 4/8/2025
Additions
- Added a new Money Bag cosmetic block that allows you to store more coins than a Coin Jar
- Can store up to 576 miscellaneous coin items
- Bag gets larger and heavier the more coins are inside
- When mined, contents will still be stored within the bag in item form
- Can be used as a weapon in a pinch, and it will deal more damage the larger the bag is
- Added
money_bag
config options to the server config allowing you to define the money bags damage, attack speed, and/or give it a chance to drop coins when used as a weapon
- Added Translation Keys to various settings values, names, and categories in preparation for an upcoming change.
- Display Cases now come in all 16 vanilla colors
- Added new
/lcbank view <player|team>
command allowing admins to more easily view a bank accounts current balance - Added new
/lcadmin viewWallet <player>
command allowing admins to see a players currently equipped wallet- In order to see the wallets contents you must hover over the message to see the wallets tooltips, etc.
- Added Japanese translation thanks to Meatwo310
Changes
- You can now extract items from the Gacha Machine if an output side is defined
- Note: The item extraction has no filter unlike normal item traders, so do this with caution as it will indescriminately remove items otherwise
- Added Output Sides option to each individual Paygate Trade, allowing you to have a little more precision on where the redstone output is sent
- Also increased the maximum paygate trade count from 8 to 16 as it's now plausible for that many trades to be relevant
- Various QoL changes to serveral text input fields that were used for number fields
- Seasonal Events now log the starting reward message in your personal notifications just in case you missed the chat message
- Wallets will no longer pick up coins reserved for other targets
- The Coin Jar item now requires that you hit Ctrl to view contents so that you can view your jars contents without also seeing the items instructions
- The Coin Exchange Upgrade now allows you to select up to 10 exchange actions to be executed in the order that you selected them.
- You must now click on the originally selected exchange button in order to de-select it
- The Paygate now allows you to define a tooltip as well.
- Click the small toggle switch next to the description input to switch between the description & tooltip inputs.
- Updated various textures & models courtesy of Dowar
Compatibility
- Added compatibility with Impactors economy API
- Impactors money can now be used to set prices for trades
- Impactors money can now be taken directly from your personal account and used for payment or stored in LC bank accounts
- Added "compat.impactorModule" option to the common config allowing you to disable this compatibility if there are issues with it as I was unable to properly test this compat.
- Note: As Impactors money is not item-based, it will be automatically be deposited in the players Impactor account when a trader is destroyed (if owned by a team, it will go into the teams owners account)
- Note: As Impactors economy system is incompatible with mine in various ways, this compatibility only functions in one direction meaning that LC money cannot be used with Impactor compatible economy systems, etc.
- Note: As Impactors uses a non-vanilla text system, translations may not be properly utilized from LC commands that display money values (such as the /lcbaltop command)
Bug Fixes
- Fixed a couple of display issues with the new permissions tab
- Fixed a couple of minor issues where the Ancient Coin input wouldn't lock itself if the price is currently free
- 1.21: Fixed an issue where the Trader Interface input/output settings would not be saved/loaded to file correctly
API Changes
- Moved and reworked the TextInputUtil utility class (not an API class, but it's possible some of you were using this)
- Instead of various utility functions, it instead has a custom EditBox builder class that you can use to more easily accept numerical inputs.
- Comes paired with the new Int/Float/Long/Double Parser classes that you can use to define the ranges.
- More direct IsInteger/GetIntegerValue functions were properly moved to the NumberUtil class
- Various Trade Rule changes to allow various functions to confirm the player is allowed to make the changes
- Intended to make it possible for an Admin-Only trade rule, etc.
Patch A
- Fixed an issue where the Paygate didn't properly provide a redstone signal
- Editing a Traders Creative setting now uses the original CreativeToggleNotification
- Editing a Traders Icon is now logged
Patch B
- Fixed an issue where Book Traders didn't draw their books with the correct lighting
- Fixed an issue where Wallets could no longer pick up coins properly
- 1.21: Fixed an issue where the Team Selection widget was extremely small on the Team Management screen
Patch C
- Added new CustomModelData data loader that lets you create or apply custom models for items being drawn by any Item Trader
- LC Config files now have and use a file ID (resource location) instead of the file name for various commands and crafting conditions
- Fixed an issue where the Teams Salary Input widgets didn't properly reset after a different team was selected, making it appear as though it had the same settings as the previously selected team
Released for 1.21 & 1.20.1 on 3/27/2025
New Features
- Added new SeasonalEvents.json config file to the
config/lightmanscurrency
folder allowing you to modify, add, and/or remove seasonal loot events to the game- Removed the
events.chocolateDrops
andevents.chocolateRate
config options. - Added the
events.startingRewards
&events.lootReplacements
config options to allow you to more easily disable portions of this new system without having to manually edit the json file. - Removed the
/lcadmin events reward
command as it is no longer needed - Added the
/lcadmin events clearRewardCache <eventID>
command to allow you to manually clear the data storing which players have received that events reward
- Removed the
Changes
- Completely reworked and upgraded the Directional Input/Output widgets.
- Input/Output widgets are now combined into a single widget, with different colors (and the tooltip) declaring different states (input,output,both,etc.)
- Widget now actually shows the actual block sides instead of using the card display as a placeholder block
- Trade Rule selection/toggle tab has been reworked.
- Instead of a checkmark, you instead must click a toggle slider to activate/deactivate
- The Trade Rules icon is now drawn to the left of the rules name
- The Trade Rules name no longer changes color based on the rules active/deactive state
- You must now scroll up/down to view all trade rules, which means that this tab can now support more than 9 available rules
- Tweaked various Trade Rule tabs to make them more consistent across rules with similar widgets, as well as recolored all gui text to the vanilla dark-gray color.
- Trade Rule & Settings sub-tabs now use smaller tab buttons for their sub-tabs
- Ally Permissions tab has been reworked. They are now scrollable, but display fewer options on the screen.
- You can no longer craft other items using traders that are linked to an already existing machine and were simply picked up
- Dev Note: This limitation only properly applies to vanilla shaped/shapeless recipes. Any modded recipes beyond this scope may be able to circumvent this limitation.
- You can no longer switch money input types in various places where they're required to match an existing money value
- True/False values from the settings change notifications now have a proper translation
- Existing notifications will not be updated, this will only be fixed for newly created notifications
Compatibility
- Added Create 6.0 Compat allowing you to pay for Stock Ticker purchases with coins from your wallet.
Bug Fixes
- Fixed an issue with certain multi-line notifications not displaying their tooltip correctly.
- Fixed an issue where tooltips drawn on the Slot Machine & Gacha Machine screens sometimes ignored resource packs that change the tooltip background.
- Fixed an issue where you could not correctly define or clear low balance notification limits for ancient coins
- Fixed an issue where the Timed Sale rule didn't properly display after the timer has been completed
- Fixed an issue where the game could crash when certain inputs resulted in more widgets being added or removed at the same time that the rendering methods were being processed in another thread
API Changes
- Added
TraderData#supportsMultiPriceEditing
allowing certain trader types to opt-out of the multi-price editing options in the Basic Trade Edit Tab -
Notification#getMessage
has been removed in favor ofNotification#getMessageLines
(Notification#getGeneralMessage
andNotification#getChatMessage
now also return lists instead of a single MutableComponent)- Extend
SingleLineNotification
to more simply extend the previously normal Notification methods.
- Extend
-
MoneyValueHandler
now have various protected functions allowing you to check whether we're allowed the change handler, and to notify the listener when a handler has been changed internally within this handler. Useful for single handlers that change through different money types.
Released for 1.21 & 1.20.1 on 3/16/2025
New Features
- Added a new built-in Fancy Icons resource pack, thanks to Dowar!
Changes
- Gacha Machines can now have items inserted via hopper or other item movement techniques
- Gacha Balls can now only be placed within another gacha ball up to 16 times before it will refuse to place the item inside another gacha ball
- Gacha Balls can no longer be placed inside shulker boxes to avoid infinite shulker to gacha inception
- Ancient Money Values will now be combined into fewer lines when displaying a wallets contents or your available funds on the trader menu
- Various QoL changes to the Paygate Trades:
- Can now define the redstone power level from 1 -> 15 for each given trade
- Can now define a text description input to replace the duration display on the trade
- Paygate Trades with a defined description will now be significantly wider
- Descriptions for all built-in Resource Packs now utilize translation keys and can now be translated into other languages
Bug Fixes
- Fixed an issue that prevented you from creating Persistent Traders/Auctions from the in-game systems
- Fixed an issue where the Gacha Machine didn't run the pre/post trade events resulting in various trade rules not working as intended
- Fixed an issue where the Gacha Machine Screen didn't display the inventory label, nor your available funds
- Fixed an issue where Ancient Coins could not be placed in the traders Money Slots
- Fixed an issue where the Wallet Tooltip didn't mention any Ancient Coins that were contained within the wallet
API Changes
- Added CurrencyType#getGroupTooltip to allow you to group the tooltip lines for similar money values
- Added MoneyView#getAllText to easily get the grouped tooltip lines for money storage contents
- Added MoneyView#getRandomValueLine so that you can get a random line of value text instead of the text from a random money value
Released for 1.21 & 1.20.1 on 3/9/2025
New Features
- Added new Gacha Machine trader type
- Comes in all 16 vanilla colors
- Has a singular trade that sells a single random item from the machines inventory for a predefined price (similar to the slot machine)
- Will not be considered out of stock until the machines storage is completely empty
- Items given to the customer will be in a "gacha ball" of a random color. Using the gacha ball item will release the item inside.
Changes
- Added new tab to the Trader Storage menu, allowing you to collect and/or store a specific amount of money to/from the Traders internal money storage.
- Now supports storing money directly from your wallet without needing to manually place the coins in the coin slots
- Coin Slots for storing money in the trader are no longer visible unless this tab is open
- Various tabs have had their contents resized to utilize the newly available screen area
- Due to the large number of tabs, the "Return to Trades" button has been moved to the top-right of the screen.
- The button will now be hidden when a tab that uses the right edge of the screen is open such as the settings or trade rule tabs
- To match this new positioning, the "Open Storage" buttons are also now moved to the top-right of the normal Trader Menu
- Paygate Trades now have an additional tooltip explaining how to set a ticket trade while in the traders storage in addition to the normal "edit price" tooltip
- Added two new replacers for Command Trader commands
-
%PLAYER%
within a command will now be replaced with the players game profile name (i.e. actual account name which should be unmodified) -
%PLAYER_NAME%
within a command will now be replaced with the players display name (name displayed above their head, may be modified by other mods)
-
- Gave all owner-protected blocks the
create:non_breakable
block tag so that they cannot be broken by create machines in Create 6.0 or newer
Bug Fixes
- Fixed an issue where the Command Trader didn't have the owner-protected tag, nor could it be mined more quickly by a pickaxe.
- Fixed a critical issue where deposit amounts could be overflown into negative values often resulting in the game crashing.
** 1.21 Only**
- Fixed an issue where wallets in the Curios slot would not intercept normal coin collection.
Released for 1.21 & 1.20.1 on 2/16/2025
New Features
- Added new Command Trader that allows you to purchase a single commands execution.
- Trader has no recipe by default and is intended for admin-use only
- Added
command_trader.maxPermissionLevel
server config option to allow limiting the maximum permission level allowed for command traders.
QoL Changes
- Reworked trader/trade search system to allow for filters to be provided in the search text (i.e.
type:item
orstock:>1
, etc.) - Network Terminal search input now scales with the width of the screen.
- Added client config option to set default search filters that will always be applied regardless of your search input
- ATM Card & Prepaid Card now have an additional tooltip to explain how they're intended to be used
Technical Changes
- Changed file extension for custom config files from
*.lcconfig
to*.txt
to make it easier for the system to determine what to open them with. - Moved Coin Mint Minting/Melting options from the server config's
coin_mint
section to the common configscrafting.coin_mint
section.- Recipes are now disabled using forges recipe conditions instead of manually disabled after being loaded
- A coins mint/melt recipes now require a full datapack reload to be applied
- Existing config options from the server config will NOT be copied over to their new location
- Coin mint options that aren't recipe related remain in their current location
- Removed
mintType
field from Coin Mint recipes as they are now irrelevant - Added config option to disable the ability to craft the coin mint itself to the crafting section of the common config
Bug Fixes
- Fixed an issue where toggling the "Free" state on the money value widget didn't properly inform consumers resulting in various issues
- Fixed an issue where traders never got properly deleted from the trader list on the client after being deleted server-side
API Notes:
- Added new
IKeyboardListener
interface for EasyScreen children to make it easier to listen to keyboard events directly - Original
ITraderSearchFilter#filter
andITradeSearchFilter#filterTrade
functions are now deprecated in favor of the new methods - Added various config events to allow you to listen in to when my config files are loaded and/or reloaded more easily.
1.20.1 Patch A
- Fixed an issue where the "command_trader" section of the config didn't end itself properly, resulting in it having all future config sections as sub-sections of itself.
1.20.1 Patch B & 1.21 Patch A
- Renamed
IKeyboardListener#keyPressed
function to prevent an issue where it was being obfuscated under the assumption that is was the vanillakeyPressed
function. - Admins can now access the
/lcterminal
command regardless of whether it's enabled in the config.
1.20.1 Patch C & 1.21 Patch B
- Fixed an issue where the Notification Settings Tab could sometimes cause a crash.
1.20.1 Patch D & 1.21 Patch C
- Fixed a couple issues with the trade-specific trade rule tab, one of which could sometimes result in the game crashing upon opening the tab.
- Fixed a translation error with the Free Sample tooltips.
Released for 1.21 on 1/21/2025
Released for 1.20.1 on 1/31/2025
- Added 16 new Ancient Coins of 8 different types.
- New coins can be placed in your wallet
- Once discovered, new coins can be set as a price for trades
- Ancient Coins do not have relative values or exchange rates
- Prices using Ancient Coins can only select a singular ancient coin type to accept (and a matching quantity)
- Increase input character limit for the Text Money Input from 10 characters to 32 characters (default vanilla character limit)
- Added 2 new Village structures for each village type (one banker house and one cashier shop)
- Added 1 new Ancient City structure
- Added
structures
section to the common config, allowing you to disable the addition of these new structures to the structure template pools - The next Ticket ID is now synced to clients for more accurate Ticket Station recipe output peeking.
- Various QoL improvements to how the
lightmanscurrency:number
coin chain display type loads.- If no
baseUnit
flag is present the chain will still load, and it will now default to the lowest value coin. - If multiple
baseUnit
flags are given, it will only use the first one found, and give a warning announcing that there are duplicate flags.
- If no
- Interacting with a trader block whose trader is in the
EJECTED
state will reset the state back to normal and move the traders data to it's new position.- A warning will be logged on the server whenever this happens as traders should not be moved in this manner.
Texture Changes
- ATMData buttons can now define a "height" input to change the buttons height away from the default height of 18px
- Tab Buttons can no longer change color, and now utilize different sprites for the yellow/red variants used by notifications/disabled coin chest tabs.
1.21 ONLY
- Updated Curios integration to utilize the new release of the official Curios API port to 1.21, as they have decided to continue official development.
- Re-added Immersive Engineering rotation blacklist for LC multi-blocks
- Reworked Money Mending json parsing.
- Removed
infinityExtraCost
field. - Added
enchantmentExtraCost
array field. Each entry has abonusCost
field with the added price, anenchantment
field with the enchantment id, and an optionalmaxLevelCalculation
field (default of 1) to determine the maximum number of times the price will be increased by this enchantment - Added
itemOverrides
array field. Each entry has abaseCost
field with the replacement base repair cost, and a string arrayitems
field with a list of item ids/item tags for items to apply the override on - Added ability to parse Money Value config options as
baseCost
/bonusCost
fields in the format ofconfig;config_file;option.path.in.file
and blank input fields will no longer default to the configured values.
- Removed
- Fixed an issue with how my Villager Trade Offer modifications worked resulting in an error whenever attempting to replace an emerald in the "cost" portion of a trade offer.
1.20.1 ONLY
- Added 2 new IDAS village structures that can be spawned in villages with an additional config option in the
structures
section of the common config allowing you to disable their generation. - Removed the
server.enchantments.moneyMendingInfinityCost
server config option - Added the
server.enchantments.moneyMendingItemOverrides
server config option allowing you to replace the base repair cost for different items.- Formatted as
"baseCost|namespace:item_id,#namespace:item_tag,..."
wherebaseCost
is a standard Money Value config input
- Formatted as
- Added the
server.enchantments.moneyMendingBonusForEnchantments
server config option allowing you to increase the repair cost depending on what enchantments the item has (replaces the functionality of the oldmoneyMendingInfinityCost
config option)- Formatted as
"bonusCost|namespace:some_enchantment|maxLevelCalculation"
OR"bonusCost|namespace:some_enchantment"
wherebonusCost
is a standard Money Value config input, andmaxLevelCalculation
is the maximum number of times the bonus cost will be applied (bonus cost is applied 1 time for each level of the enchantment)
- Formatted as
1.21 Patch A
- Fixed an issue where the sus jar would not properly copy the color from the item to the block.
1.21 Patch B
- Fixed an issue where the wallet HUD would display "Nothing" when no money was in your wallet.
1.21 Patch C
- Fixed an issue where various data wasn't properly flagged as being on the logical client resulting in many instances where the client attempted to get server data that isn't available when connected to a dedicated server.
- Fixed an issue where the registry access wasn't always available when attempting to write/load the custom villager trade files from json.
1.21 Patch D
- Fixed a crash that would happen when attempting to get the repair cost for an item with money mending
1.20.1 Patch A
- Fixed an issue where the mod would crash while loading on a dedicated server.
API Notes:
- Added
MoneyValue#allowInterest
. If it returns false, Bank Accounts will not attempt to calculate interest for this money type - Added
MoneyInputHandler#isForValue(MoneyValue)
. Used as a backup to allow a singular MoneyInputHandler to be used to generate MoneyValue's that have severalMoneyValue#getUniqueName
results - Added CustomData class and various internal classes (such as TraderSaveData, etc.) are now utilizing this new system and have been moved & renamed as a result.
- Should not break compatibility as all add-ons should be utilizing the available API functions instead of calling these internal classes directly, but I'm making note of it just to be safe.
Released 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.
1.20.1 Patch C
- Fixed an issue that prevented the Ender Dragon Wallets from being upgraded to their maximum slot capacity
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
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 experimentalEasyTabbedMenu
andEasyTabbedMenuScreen
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).