- Fixed missing translation for infinite stock text
- Slot Machines can now be restocked by hoppers or other similar item inputs
- Armor Display now draws the armor item in the trades 2nd item slot if the 1st item slot is empty. 1st item slot is still prioritized if both have items
- Free Sample rule can now define a free sample count, and reset timer (similar to the Player Trade Limit rule)
- UpgradeType now has an
isUnique
function that if it returns true only one upgrade of that type can be equipped to a given machine - Added new "Trade Offer" upgrade. Has 6 tiers, each of which increases a compatible traders offer count by 1,2,4,8,12, & 16 respectively)
- Added new "Demand-based Pricing" trade rule. Can only be applied directly to sale trades, and allows the trades base price to change based on its remaining stock count
- Fixed an issue where the Tab Buttons "inactive" texture was drawn at half-brightness instead of full brightness
- Fixed issue where "Open All Network Trader" button did not work correctly
- Fixed issue where the menu would close when hitting the "open inventory" button when attempting to search for trades in the search box
- Fixed missing translation for infinite stock text
- Optimized Item Traders offer count math
- Made EasyGuiGraphics#getOffset so that the offset can be accessed for more complicated rendering
- Slot Machines can now be restocked by hoppers or other similar item inputs
- Armor Display now draws the armor item in the trades 2nd item slot if the 1st item slot is empty. 1st item slot is still prioritized if both have items
- Free Sample rule can now define a free sample count, and reset timer (similar to the Player Trade Limit rule)
- UpgradeType now has an
isUnique
function that if it returns true only one upgrade of that type can be equipped to a given machine - Added new "Trade Offer" upgrade. Has 6 tiers, each of which increases a compatible traders offer count by 1,2,4,8,12, & 16 respectively)
- Added new "Demand-based Pricing" trade rule. Can only be applied directly to sale trades, and allows the trades base price to change based on its remaining stock count
- Fixed an issue where the Tab Buttons "inactive" texture was drawn at half-brightness instead of full brightness
- Fixed an issue where Wallet Drop code didn't account for Trinkets, causing various issues
- Fixed an issue where a Trader Interfaces trade reference didn't load correctly, causing it to lose which trade it was supposed to be interacting with when unloaded/reloaded
- Hopefully fixed an accidental incompatibility with other mods mixins by making certain mixin functions private and unique so as to not cause conflicts
- Fixed an issue where the Vending Machines accidentally blocked the rendering of the block below
- Fixed an issue where Mangrove, Cherry, and Bamboo wooden traders did not have recipes
- Fixed upgrade recipes for 1.20
- Fixed an issue where Wallet Drop code didn't account for Trinkets, causing various issues
- Fixed an issue where a Trader Interfaces trade reference didn't load correctly, causing it to lose which trade it was supposed to be interacting with when unloaded/reloaded
- Hopefully fixed an accidental incompatibility with other mods mixins by making certain mixin functions private and unique so as to not cause conflicts
- Fixed an issue where I forgot to add the Mangrove wood type for the wooden traders
- Fixed an issue where Wallet Drop code didn't account for Trinkets, causing various issues
- Fixed an issue where a Trader Interfaces trade reference didn't load correctly, causing it to lose which trade it was supposed to be interacting with when unloaded/reloaded
- Hopefully fixed an accidental incompatibility with other mods mixins by making certain mixin functions private and unique so as to not cause conflicts
- Fixed an issue where event unlocks would be forgotten client-side when the player changes dimensions, and where the client didn't receive updates when changed after they logged in
- Customer Trade screen now has a Search Box in the top-right when certain conditions are met
- Renamed and changed icon for "Notification Settings" tab (is now "Misc Settings", and has the generic gear icon)
- Added "Enable Search Box" option to the "Misc Settings" section. When enabled, the Search Box will appear when customers interact with this trader
- Cash Registers now forcibly enable the Search Box if more than 1 trader is linked to it
- Added an "Open All Network Traders" button to the top-right of the Network Terminal screen, allowing you to open all network traders at the same time
- Auction House & Slot Machines now appear in the search result if a relevant item is searched for
- Changed icon for the "Trader Name" settings tab
- Moved "Link to Bank Account" option from the "Trader Name" tab to the "Misc Settings" tab
- Moved all Persistent Trader related options from the "Trader Name" tab into it's own settings tab
- Fixed an issue where selling two stacks of the same item sometimes resulted in inaccurate stock count info being displayed
- Fixed an issue where Owner was accidentally flagged as client on a dedicated server, resulting in it being unable to access certain data as it's attempting to access the empty client cache instead
- Fixed an issue where Features cannot be grown if the feature passed along to the BlockGrowFeatureEvent is null
- Fixed a minor issue where all Settings Tabs appeared for the first frame before hiding those that you don't have access to
- Added FTB Teams compat for my Ownership API. Ownable machines can now be owned by FTB Team parties
- Trader Interfaces owner selection tab now filters out owner that do not currently have a bank account
- Fixed an issue where the clients selected bank account wasn't flagged as client-side, and thus would not properly access the bank accounts data when connected to a dedicated server
- Added FTB Teams compat for my Ownership API. Ownable machines can now be owned by FTB Team parties
- Trader Interfaces owner selection tab now filters out owner that do not currently have a bank account
- Fixed a couple more issues that made the game fail to load on both clients and dedicated servers.
- Fixed a small oversight with the owner data not flagging client-side correctly when a new owner is defined
- Customer Trade screen now has a Search Box in the top-right when certain conditions are met
- Renamed and changed icon for "Notification Settings" tab (is now "Misc Settings", and has the generic gear icon)
- Added "Enable Search Box" option to the "Misc Settings" section. When enabled, the Search Box will appear when customers interact with this trader
- Cash Registers now forcibly enable the Search Box regardless of trade count if more than 1 trader is linked to it
- Added an "Open All Network Traders" button to the top-right of the Network Terminal screen, allowing you to open all network traders at the same time
- Auction House & Slot Machines now appear in the search result if a relevant item is searched for
- Changed icon for the "Trader Name" settings tab
- Moved "Link to Bank Account" option from the "Trader Name" tab to the "Misc Settings" tab
- Moved all Persistent Trader related options from the "Trader Name" tab into it's own settings tab
- Fixed an issue where selling two stacks of the same item sometimes resulted in inaccurate stock count info being displayed
- Fixed an issue where Owner was accidentally flagged as client on a dedicated server, resulting in it being unable to access certain data as it's attempting to access the empty client cache instead
- Fixed an issue where Features cannot be grown if the feature passed along to the BlockGrowFeatureEvent is null
- Fixed a minor issue where all Settings Tabs appeared for the first frame before hiding those that you don't have access to
- Fixed an issue where items could not be saved/loaded to json correctly
- Fixed an issue where the AbstractWidget access transformer didn't work, making it impossible to launch the game
- Removed
enchantments.maxTickDelay
config option from the serverconfig - Rephrased Money Mending enchantment tooltips. Enchanted books now also include the Money Mending price tooltips as well.
- Upgrade Item textures are now seperated into two parts, one for the arrow, and one for the base texture.
- Certain Upgrade Items now use vanilla item textures as their base texture, meaning that their texture will change if a resource pack changes said vanilla items texture.
- Fixed an error that happened when attempting to check if a TradeResult had a message if it didn't.
- Tweaked TraderAPI and deprecated all static methods in favor of an API instance with non-static methods.
- Added ITradeSearchFilter interface and relevant TraderAPI methods, allowing trades to be searched/filtered via the TraderAPI in preparation for an upcoming feature.
- Cash Registers will now save any custom names when placed, and display that name in the Trader Menu's title instead of a list of all trader names.
- Removed
enchantments.maxTickDelay
config option from the serverconfig - Upgrade Item textures are now seperated into two parts, one for the arrow, and one for the base texture.
- Certain Upgrade Items now use vanilla item textures as their base texture, meaning that their texture will change if a resource pack changes said vanilla items texture.
- Fixed an error that happened when attempting to check if a TradeResult had a message if it didn't.
- Tweaked TraderAPI and deprecated all static methods in favor of an API instance with non-static methods.
- Added ITradeSearchFilter interface and relevant TraderAPI methods, allowing trades to be searched/filtered via the TraderAPI in preparation for an upcoming feature.
- Cash Registers will now save any custom names when placed, and display that name in the Trader Menu's title instead of a list of all trader names.
1.21 Exclusive Changes
- Switched to NeoForge
- Temporarily removed the following mod compats. Will be re-added once said mods update to 1.21 NeoForge.
- Curios API, Quark, Supplementaries, Cadmus
- Permanently removed the following mod compats: Lightman's Discord Integration.
- Fixed a crash that could occur if trader blocks are incorrectly copied from another world and a trader of a different type already exists within the new world.
- Fixed issue where the Cash Register used the wrong translation key when warning about it not being linked.
- Fixed typo in the server config description for the netherite item capacity upgrade option.
- Traders now track money earned, paid, taxes paid, and trades run as stats.
- Said stats are also passed along to their team if the trader is owned by a team.
- Both the Trader Storage and Team Management menus have a stat viewing tab to view and clear statistics.
- Note: LC Tech will require an update for money related stats to be tracked properly on fluid/energy traders.
- Added "back" button to the top-right of the default Trade-Specific trade rules tab so that you can more easily return to editing the trade the rules are for.
- Players can now chat with each other while in the Player Trade Menu. Click the book icon in the top-right corner of the menu to access.
- Chat messages in this chat room are posted to the server logs so that any inappropriate conversation can be proven if truly necessary.
- Fixed an issue where the trader permission options would use the wrong translation key, resulting in the ally permissions tab looking like nonsense.
- Fixed another crash that could happen if the trader is missing client-side when not expected.
- Added many try/catch blocks around potentially hazardous areas to avoid any future issues from sloppy button/rendering code on my part.
- Added try/catch blocks around saving/loading notifications so that any future notification errors won't result in their entire machines data being lost.
- Fixed an issue where you couldn't link your bank account due to the owner bank reference not properly checking client-only data.
- Fixed a crash that could happen if a trader is destroyed while another player is in their menu.
- Internal changes to Notification Data, allowing them to track whether they're on the logical client or server.