Skip to content

VendingMachine ​

108 merged pull requests.

New Features ​

  • #169 Added VMSound, a PositionedSound implementing GregTech's ISeekingSound, and a durationMs field on MusicTrack (LUNCH_BREAK is 36000 ms). VMMusicManager starts playback at the system time modulo the track duration, with a 30 s default when the duration is unknown, and restarts from 0 on loop. - @wlhlm
    • Added: random start offset for Vending Machine music
  • #166 MTEVendingMachineGui: added coin icon rendering in trade tooltip cost line using existing wallet sprite and background textures. - @Eldrinn-Elantey
    • Added: Coin icon rendering in trade cost tooltip
  • #161 MTEVendingMachine: added sneak right-click handler; ClientEventHandler: added input detection; new NetCoinDeposit packet for server communication. - @Eldrinn-Elantey
    • Added: Sneak right-click coin deposit feature, ClientEventHandler input detection, NetCoinDeposit network packet
  • #153 MTEVendingMachineGui: added resize logic and panel size state; VMConfig extended with GUI size preferences; new overlay button textures for hide/show coins and sorting/display modes. - @cubefury
    • Added: GUI panel resize functionality, Coin display toggle button, Configuration for panel size and coin visibility, New UI overlay textures (audio, sorting, mode buttons)
  • #151 CTM texture variants added to mcpatcher directory; Textures enum extended with CTM variants; MTEVendingMachine and MTEVendingUplinkHatch updated to use CTM textures. - @tiffit
    • Added: CTM texture variants (5 files), CTM properties file, CTM texture enum definitions
  • #146 CoinDisplay updated to query ME system inventory and render ME coin count; MTEVendingMachine and MTEVendingUplinkHatch modified to provide ME access. - @cubefury
    • Added: ME system coin querying in coin display
  • #141 MTEVendingUplinkHatch: added Waila tooltip formatting and NBT persistence for stored items. - @cubefury
    • Added: Waila tooltips for ME Vending Uplink, Item persistence in NBT
    • Fixed: Item persistence in uplink (missing functionality)
  • #120 OUTPUT_SLOTS goes from 8 to 100 in MTEVendingMachine, and the GUI gets FallingItemSlotFactory and ItemSlotWithDepth for the chute. InterceptingSlot and the dispense_frequency and dispense_amount config entries are removed, and new coin and item sound files are added to sounds.json. - @YannickMG
    • Added: 100-item output chute, new coin and item drop sounds
    • Removed: dispense frequency and dispense amount config options
  • #119 Refactored MTEVendingMachine and MTEVendingUplinkHatch to integrate with ME system. Added Transaction class to track coin pulls and returns. Modified trade request handling to check ME system coin availability and pull coins as needed. - @cubefury
    • Added: ME system coin auto-pull feature, Transaction class, Coin denomination pulling logic
  • #117 Modified CoinDisplay to pull icons from GT CoreMod and added configuration option to enable dynamic icon updates. Updated CurrencyType to reference GT CoreMod assets. - @tiffit
    • Added: Dynamic coin icon updating config, Coin icon synchronization with GT CoreMod
  • #116 Added hover animation to VendingPageButton that shifts tab icons left by 1 pixel on mouse over. - @tiffit
    • Added: Tab icon hover animation
  • #115 Added localization strings to en_US.lang, reorganized VMConfig with localized keys and improved UI styling. - @Ranzuu
    • Added: Localized config interface, Info tooltip localizations
  • #111 Created CoinDisplay class to manage animated coin amount rendering with growth/shrink animations. Modified MTEVendingMachineGui and CoinButton to use the new display component. - @tiffit
    • Added: Animated coin display, CoinDisplay class
  • #110 Added VolumeControlGui class and volume adjustment UI elements to MTEVendingMachineGui. Fixed SoundManagerMixin to respect configured music volume on startup. Added localization strings. - @tiffit
    • Added: Volume control popup panel, Music volume adjustment UI
    • Fixed: Music volume not respecting config on first frame
  • #109 Added sound effect definitions in sounds.json and audio assets, integrated sound playback in MTEVendingMachine.java. Fixed alignment issues in MTEVendingMachineGui and corrected coin handling logic in InterceptingSlot. - @tiffit
    • Added: Sound effects for coin insertion, ejection, and purchases
    • Fixed: Coins voided when player has no team, Wallet button alignment
  • #106 Added scroll reset logic to MTEVendingMachineGui when SearchBar text is modified. - @cubefury
    • Added: Scroll-to-top on search text change
  • #103 Modified TradeHistory and TradeManager to track purchases per team member. Updated MTEVendingMachineGui and NetTradeDisplaySync to calculate team-scaled cooldowns. Added VMConfig option for cooldown scaling cap. VMTeamData now stores purchase counts per member. - @tiffit
    • Added: Per-member purchase tracking in team trades, Team cooldown scaling multiplier, Config cap for team cooldown scaling limit
  • #100 Added wallet_personal.png and wallet_team.png overlays to GuiTextures. Updated WalletMode to properly handle team membership state. Changed coremod dependency from runtimeOnly to runtimeOnlyNonPublishable. - @tiffit
    • Added: Personal wallet button icon, Team wallet button icon
    • Fixed: Player stuck in team wallet when not in a team
  • #99 Adds music playback management via VMMusicManager, mixins to intercept Minecraft sound system (MinecraftMixin, SoundManagerMixin), and persistent client-side configuration stored via SaveLoadHandler. GUI button added to MTEVendingMachineGui. - @tiffit
    • Added: Music playback system for vending machine GUI, Mute button and persistent setting, Music fade in/out transitions, VMMusicManager system, Sound system mixins
  • #95 Added WalletMode enum and config option disableTeamWalletSoloTeam; migrated player save data to ITeamData; modified MTEVendingMachine purchase logic to support team wallet context; updated GUI and slot handling for wallet mode switching. - @tiffit
    • Added: Team wallet support, WalletMode enum, Wallet mode toggle button, Config flag for solo team disabling
  • #93 Enhanced MTEVendingMachineGui to highlight tabs matching search results; added printable character check to prevent simultaneous search bar and keybind triggers; added null checks for trade items that disappear during filtering; added asset for filtered tab overlay. - @cubefury
    • Added: Tab highlighting for search results, Filtered tab overlay asset
    • Fixed: Search bar stealing focus from NEI, Printable characters triggering keybinds simultaneously, Crash when hovered trade disappears during filtering, Crash from removed tradegroup during Ctrl/Shift hold
    • Closes #92
  • #76 Added cooldown-sharing highlighting logic to MTEVendingMachineGui, TradeMainPanel, and TradeItemDisplayWidget. Per-frame loop through display widgets to update highlight state rather than using hover events to avoid race conditions. - @cubefury
    • Added: Cooldown sharing indicator and highlighting, Tooltip showing cooldown count
    • Closes #69
  • #70 Extended NeiRecipeHandler to support all CurrencyType coins, enabling the NEI recipe lookup (U key) to work for any coin variant. - @cubefury
    • Added: NEI recipe preview for all coin types
  • #68 Introduced FavouritesTracker class to manage per-server favourites storage. Modified MTEVendingMachineGui and TradeMainPanel to support a new tab, UI freezing during Ctrl/Shift input, and trade list reordering. Favourites are written to disk when the GUI closes, not on every change. - @cubefury
    • Added: Favourites tab and tracking system, Ctrl-click toggle for favourites, Per-server/SP favourites persistence
  • #66 Added player access check to SubCmdReload to prevent trade state reload conflicts. - @cubefury
    • Added: Player-in-use check for trade state reload
    • Fixed: Potential trade state corruption from concurrent access
  • #64 Extended SubCmdReload to support player trade state reloading with optional player argument, updating SaveLoadHandler and TradeManager. - @cubefury
    • Added: Trade state reload command with optional player parameter, Player UUID caching for offline reloads
  • #61 Added structure incomplete error display to MTEVendingMachineGui that updates in real-time. - @cubefury
    • Added: Structure incomplete error overlay in GUI
  • #58 Added SubCmdReload subcommand that triggers database reload in TradeManager, updating NEI, BQ trade displays, and trade GUI in real-time. - @cubefury
    • Added: Database reload command with hot-reload capability, SubCmdReload subcommand
  • #53 Added NotificationHandler, NetTradeNotification packet, and server-side notification queue tracking to TradeManager. Notifications sync server config to clients. - @cubefury
    • Added: Restock notification system, Notification handler with configurable intervals, Server-to-client notification sync packet, Chat notifications with item lists
    • Closes GTNH#22906
  • #50 Increased I/O slot count and added migration logic to MTEVendingMachine and GUI. Migration preserves buffered outputs across save transitions. - @cubefury
    • Added: Legacy save migration for slot count changes, Additional I/O slots
    • Migration: Existing vending machines will migrate to the new 8-slot configuration automatically; no manual action required but verify no item loss occurred.
  • #49 Added ore dictionary tooltip display to MTEVendingMachineGui and new language strings. - @cubefury
    • Added: Ore dictionary tooltip in trade display
  • #38 Added CommandVending class with parsing for player names, coin types, and amounts; registered command in CommonProxy. - @cubefury
    • Added: Vending commands for coin management (set, add, reset)
  • #29 Added non-consumable item flag to Trade class, updated trade display and sync handlers to handle NC items, updated NEI and BetterQuesting integration panels. - @cubefury
    • Added: Non-consumable item support, NC indicator in UI
  • #12 Added color settings to Config class and modified TradeItemDisplayWidget to render item icons and apply text color customization. - @cubefury
    • Added: Text color settings, Item name icons
  • #10 Extended MTEVendingMachineGui with view mode and sort order buttons. Added Config entries for default display and sort mode. Created new GUI textures for mode and sort button overlays. Modified TradeItemDisplayWidget and TradeMainPanel to support both display modes. - @cubefury
    • Added: List/tile display toggle in trade window, Sort order selection button, Config options for default display mode, Config options for default sort mode

New Content ​

  • #167 New ru_RU.lang file added with 159 localization entries. - @Eldrinn-Elantey
    • Added: Russian (ru_RU) language file with 159 translations
  • #158 VendingPageButton updated to reference new icon texture filenames; 12 new icon texture files added. - @cubefury
    • Added: New tab icon textures (12 files)
  • #136 Texture files updated for vending_machine_casing, vending_machine_front_on/off; Textures enum and MTEVendingUplinkHatch texture handling modified. - @YannickMG
    • Added: Updated texture assets
  • #135 Adds VendingMachineCasing (a BlockCasingsAbstract) and VendingMachineBlocks, registered in init when GregTech is loaded. The structure definition and the uplink hatch adder in MTEVendingMachine now use it in place of GregTechAPI.sBlockCasings11 meta 0, and dependency versions are bumped. - @YannickMG
    • Added: Vending Machine Casing block
    • Migration: Replace the old casing blocks in each built Vending Machine with the new Vending Machine Casing, which needs the recipe from the matching Dreamcraft change.
  • #6 Added zh_CN.lang translations for vending machine UI strings. - @Omgise
    • Added: Chinese language translations

Changes ​

  • #168 MTEVendingMachineGui wraps the category tabs and IO column in vertical scroll areas (VerticalScrollData) sized to the panel height, with new layout constants for tab and IO column dimensions. - @Ranzuu
    • Added: scrollbars on category tabs and IO panel at small GUI scales
  • #160 MTEVendingMachine.getTooltip uses the new MultiblockTooltipBuilder calls (addCasing, addMiscHatch, addStructureFooter), and getStructureDescription returns getTooltip().getStructureHint(). Removed the structure hint lang key from en_US and zh_CN. Bumped GT5-Unofficial to 5.09.54.09 and NewHorizonsCoreMod to 2.8.300. - @DylanTaylor1
    • Removed: structure hint lang key
  • #149 TradeItemDisplayWidget rendering order reordered; new background texture added to GuiTextures; MTEVendingMachineGui rendering order updated. - @ABKQPO
    • Added: Trade item background texture
  • #139 CoinDisplay rendering logic updated to use smaller coin backgrounds; CurrencyType coin background enum modified. - @tiffit
  • #131 Updated coin texture dimensions in CurrencyType, modified GuiTextures with new button textures, and replaced deprecated matrix() with grid() in MUI2 usage. - @cubefury
    • Added: New eject button textures
  • #107 Modified MTEVendingMachineGui to update wallet button icon references and replaced texture assets for personal and team wallet buttons. - @tiffit
  • #98 Overrode getWailaBody() in MTEVendingMachine to provide custom WAILA tooltip content. - @tiffit
    • Added: Custom WAILA body for vending machine
  • #91 Updated MTEVendingMachineGui tooltip and label generation to show base item names and conditionally omit the '1 ' prefix for single-item stacks. - @cubefury
  • #57 Changes the CurrencyType registry names from dreamcraft:item.CoinX to dreamcraft:CoinX for every coin type, to follow NewHorizonsCoreMod#1557. - @Nikolay-Sitnikov
  • #45 Replaced Config class with VMConfig using GTNHLib annotation-based config system; added VMGuiFactory and VMGuiClientConfig for in-game GUI; added config persistence on display type/sort mode changes. - @cubefury
    • Added: In-game config GUI, Mod options integration, Config write-back on GUI changes
    • Removed: Custom Config class
  • #44 Adds AUTHOR_CUBEFURY constant in VendingMachine with formatted text and passes it to toolTipFinisher in MTEVendingMachine.getTooltip. - @cubefury
    • Added: author line in Vending Machine tooltip
  • #39 Updated coin name strings in en_US.lang. - @cubefury
    • Fixed: Coin display names
  • #34 Updated trade matching logic to ignore NBT while still accounting for item damage; modified ME system queries to use exact match instead of fuzzy search. - @cubefury
    • Fixed: Trade matching with enchanted items
  • #30 Updated NeiRecipeHandler to render NC indicators for non-consumable items and expanded layout dimensions; fixed NEI tooltip underline behavior. - @cubefury
    • Added: NC indicator in NEI preview
    • Fixed: NEI recipe preview underline on mouseover
  • #9 TradeDatabase.writeToNBT sorts tradeGroups by TradeGroup::getId before writing. NBTConverter always writes NBTTagList as a JSON array instead of an object keyed by index:id. Legacy files still read. - @cubefury
  • #2 Updated MTEVendingMachine and MTEVendingMachineGui to correct structure lib display and added tooltip strings to lang file. - @cubefury
    • Added: Uplink hatch tooltip hint, Shift-click purchase hint on trade tooltips
    • Fixed: Structure display
  • #1 Modified the binary texture tabs_left.png in assets/vendingmachine/textures/gui. - @Ranzuu

Balance ​

  • #128 Modified TradeManager to calculate trade limits based on online team member count instead of total members. Updated localization string. - @tiffit

Bug Fixes ​

  • #163 VendingMachine and VMItems GT version checks corrected to properly detect GT mod variant. - @felixfour
    • Fixed: GT version loader check for GT6 compatibility
  • #157 MTEVendingMachine: corrected casing reference in structure tooltip from outdated value to new VendingMachineCasing. - @Yoshy2002
    • Fixed: Structure tooltip outdated casing reference
  • #148 TradeItemDisplayWidget: corrected color application for cooldown text; simplified conditional logic. - @cubefury
    • Fixed: Cooldown text color visibility (issue #147)
    • Closes #147
  • #140 VMMusicManager: fixed System.currentTimeMillis() cast overflow by changing int cast handling. - @tiffit
    • Fixed: Mute button clock overflow behavior
  • #134 Modified MTEVendingMachine to consume coins on both client and server with forced sync of input slots on inventory changes. Fixed trade validation logic to correctly handle required items. Added sync scheduling for next tick after input changes. Fixed team ID client-side initialization. - @cubefury
    • Fixed: Coins in ghost state from rapid insertion, Unable to buy items with non-coin requirements, UI update delay, Missing team ID client-side, Item consumption from input slots
    • Closes GTNH#24920, GTNH#24938
  • #127 Fixed VMMusicManager to set music volume when restarting music while running, preventing volume from being stuck at 0. - @tiffit
    • Fixed: Music stuck at 0 volume when looping
  • #124 VMTeamData.copyData became transferData with TeamDataTransferReason, and it now calls remove on the old team's playerData instead of getOrDefault. Bumped GTNHLib to 0.10.6 along with NEI, BetterQuesting, NewHorizonsCoreMod, StructureLib, GT5-Unofficial and Baubles-Expanded. - @tiffit
    • Fixed: player data staying with the previous team after a team change
  • #118 VolumeControlGui.addWidgets now takes the PanelSyncManager and returns early when it is not on the client, so the server never touches the client-only GuiParams class. - @cubefury
    • Fixed: server-side use of client-only volume slider colour class
  • #113 Added color state reset in TradeItemDisplayWidget to prevent tinted items from affecting subsequent element rendering. - @tiffit
    • Fixed: Tinted items affecting global color state in tile mode
  • #105 Added NEI exclusion area definitions in MTEVendingMachineGui for the QoL buttons and tabs row. - @cubefury
    • Fixed: NEI bookmarks overlapping vending machine GUI buttons and tabs
    • Closes #104
  • #97 Removed unnecessary superclass call in MTEVendingMachine.onPostTick() that was causing redundant state writes; the parent class set active to false before the vending machine set it to true every tick. - @tiffit
    • Removed: Superclass call in onPostTick
    • Fixed: Chunk updates occurring every tick from redundant active state writes
    • Closes GTNH#24622
  • #96 Added missing equals sign in character validation check in TradeMainPanel. - @cubefury
    • Fixed: Space character not recognized in character validation
  • #90 Corrected trade purchase condition checking in TradeManager.purchase() that was accidentally broken during a prior refactor in PR #55. - @cubefury
    • Fixed: No-condition trades not working
    • Migration: Vending machines with no-condition trades (like zeta's) will now work again; no action needed if structure is intact.
  • #81 Added item drop logic to MTEVendingMachine.onBreak() to handle inventory contents on block destruction. - @cubefury
    • Fixed: Items voided when vending machine is broken
    • Closes #78
  • #79 Updated CoinButton.java to adapt to ModularUI2 upstream changes and bumped dependency version. - @TheYoingLad
    • Fixed: Crash from ModularUI2 upstream sync
  • #77 Refactored server thread management: removed static server thread reference in ClientProxy; introduced ServerTaskScheduler for per-server instance task scheduling; updated event handlers and proxy to use per-server context instead of static storage. Removed DirtyDbMarker class. - @Alexdoru
    • Added: ServerTaskScheduler for per-server task management
    • Removed: Static server thread reference, DirtyDbMarker class
    • Fixed: Server memory leak from retained thread reference
  • #67 Corrected MTEVendingMachine to use front-facing direction instead of extended-facing for item ejection spawn calculation, with adjusted position offset for controller block center. - @cubefury
    • Fixed: Coins ejecting to wrong location
    • Closes GTNH#23701
  • #65 MTEVendingMachine.onPostTick calls super, reruns checkMachine every STRUCTURE_CHECK_TICKS on the server, sets the active state from mMachine, and skips dispenseItems and sendTradeUpdate when the structure is not formed. The local mMachine field is removed in favour of the inherited one. - @UltraProdigy
    • Fixed: Vending Machine running with an incomplete structure
    • Closes GTNH#23403
  • #56 Added null safety check in TradeManager for invalid trade group requests. - @cubefury
    • Fixed: NPE crash from invalid trade requests
  • #52 Removed client-side stack matching from BigItemStack that was being used for ore dict server-side checks. - @cubefury
    • Removed: Client-side stack matching in ore dict check
    • Fixed: Dedicated server crash with ore dictionary trades
  • #47 processTradeOnServer in MTEVendingMachine extracts exact matches first, then ore dictionary matches, and compares with isItemEqual instead of copying stacks. MTEVendingUplinkHatch.removeItem takes an ore name and matches AE2 storage entries against it. - @cubefury
    • Added: ore dictionary matching for trade inputs
    • Fixed: crop sticks trade not accepting oak logs, oredict trades accepting any item durability
    • Closes #36, GTNH#22713
  • #42 Added markDirty() calls to MTEVendingMachine when inventory changes or dispensing buffer is modified, and to MTEVendingMachineGui on transaction complete. - @cubefury
    • Fixed: Tile data not saving on inventory changes, Item loss or duplication on server close
  • #40 Updated TradeHistory initialization in Trade class to preserve limit state during load. - @cubefury
    • Fixed: Trade limit resetting on server restart
  • #35 Updated MTEVendingUplinkHatch texture state logic to properly reflect ME power status. - @cubefury
    • Fixed: Uplink texture not updating with ME power status
  • #33 Added isActive() checks to trade display, purchase logic, coin insert intercept, and coin ejection in MTEVendingMachine and related GUI classes. - @cubefury
    • Fixed: Machine operations working when multiblock not formed
  • #26 Centralized data unloading on server start and reloading from scratch, added TradeDatabase clear call in SaveLoadHandler. - @cubefury
    • Fixed: MP coin data leaking into SP worlds, Data persistence across server sessions
    • Closes #25
  • #24 Fixed SaveLoadHandler to not clear currency amounts for other players when loading individual player trade state files. - @cubefury
    • Fixed: Player coins voiding on server restart
    • Closes GTNH#21951
  • #22 Added NameCache initialization on server start, fixed trade state save logic in EventHandler, corrected PacketAssembly packet type reference, and improved trade display sync on player connection. - @cubefury
    • Fixed: Trade state persistence on server shutdown, NameCache persistence on player join, Trade display sync on player connect, Potential NPE in trade item display, Wrong packet type being used
  • #21 Fixed NetCurrencySync to send NBTTagCompound instead of NBTTagList on server sync, maintaining backward compatibility with existing save files. - @cubefury
    • Fixed: Server-to-client coin data sync, Coin quantity display on multiplayer
    • Closes #14
  • #20 Replaced removed widget width method call in NEIConfig and NeiRecipeHandler, set recipe height/width in handler info. - @cubefury
    • Fixed: NEI integration compile errors
  • #8 Updated texture localization in Textures.java and corrected texture assignment logic in MTEVendingUplinkHatch.java. Added proper lang keys. - @Ranzuu
    • Added: Localized texture lang entries
    • Fixed: Incorrect texture display for vending machine states

Internal / Refactor ​

  • #164 New Utils class for command formatting; SubCmd classes refactored with localization keys and number formatting; CoinDisplay and CurrencyType updated for locale-aware display. - @Connor-Colenso
    • Added: Utils command formatting class, Localization entries for command output (20+ en_US, additional zh_CN entries), Number formatting utilities
  • #138 Added ColorUtils with ColorResource entries (rgb and argb) under the vendingmachine namespace, removed the GuiParams constants, and switched TradeItemDisplayWidget, VolumeControlGui and NeiRecipeHandler to use them. Bumped GTNHLib to 0.11.5. - @Ranzuu
    • Added: ColorUtils colour resources
    • Removed: GuiParams colour enum
  • #114 Added volume_slider_background (0xFF000000) to the GuiParams enum and used it in VolumeControlGui instead of the literal colour. - @Ranzuu
  • #86 Removed trade_available.png; added new tile_cooldown.png asset for proper pixel alignment; converted theme to GT standard layout; changed colors and overlays to static assets; added trade_display_text_color enum. - @Ranzuu
    • Added: Tile cooldown overlay asset, Panel side and tab assets, Trade button state assets, Color enum for text rendering
    • Removed: trade_available.png texture, Programmatic rounded rect drawing
  • #84 Refactored MTEVendingMachineGui and TradeRow to remove deprecated Row() and Column() references; updated slot label display using new textures. - @cubefury
    • Added: Input/output slot label textures
  • #82 Created GuiParams.java to hold configurable styling constants; refactored trade display rendering to use parameterized colors and dimensions; replaced hardcoded highlight overlays with image assets. - @cubefury
    • Added: GuiParams styling configuration class, Overlay images for highlights
    • Removed: Translator class (moved to lang file)
  • #74 Textures.java: replaced new CustomIcon(...) with BlockIcons.custom(...) and changed the field type to IIconContainer to match GT5U's OptionalResource change. - @leagris
  • #55 Moves trade state tracking, quest-completion unlocking and notifications from TradeGroup and TradeDatabase into TradeManager, with a new TradeGroupState class. Fixes NetSatisfiedQuestSync, which called writeId without passing the quest NBT compound, so the synced quest list was empty. - @cubefury
    • Fixed: completed quests not highlighted in the NEI trade preview in multiplayer
  • #54 Splits CommandVending into an IVendingSubcommand interface with SubCmdAdd, SubCmdSet and SubCmdReset implementations, plus a shared Utils class. Tab completion delegates to the subcommands. - @cubefury
    • Fixed: tab completion for the vending command
  • #51 In MTEVendingMachine.loadNBTData, replaces the manual slot-copy loops with inputItems.getStacks() and outputItems.getStacks() when loading legacy data. - @cubefury
  • #46 Moves the DisplayType and SortMode enums out of TradeItemDisplayWidget and MTEVendingMachineGui into their own top-level classes and updates VMConfig, TradeMainPanel and the GUI to match. - @cubefury
  • #28 Moved coin sync logic from NetCurrencySync into MUI2 sync handlers in MTEVendingMachineGui, updated CurrencyType enum, removed legacy packet handler. - @cubefury
    • Added: CurrencyType enum
    • Removed: NetCurrencySync packet handler, InterceptingSlot class, Packet registry entries
    • Fixed: Coin extraction voiding at specific quantities (10, 100, 1k, 10k)

Documentation ​

  • #59 README.md only: added a /vending reload database row, a note about op-permission-level 4 in server.properties, and fixed the reset row table formatting. - @cubefury
  • #11 Edited one line of the required dependencies list in README.md. - @cubefury

Chores ​

  • #162 Reverts the beginStructureBlock argument order in MTEVendingMachine's tooltip from (1, 2, 3) to (2, 3, 1) to follow GT5-Unofficial#7507, and bumps NEI, GTNHLib, BetterQuesting, NewHorizonsCoreMod, ModularUI2, StructureLib and GT5-Unofficial in dependencies.gradle. - @AnsonYeung
    • Fixed: Vending Machine structure dimensions in the tooltip
  • #122 Bumped ModularUI2 from 2.3.54 to 2.3.66 and added allowC2S() to the ejectItems, ejectCoins, ejectCoin_* and walletMode sync values in MTEVendingMachineGui. EnumSyncValue now has a second type parameter. - @TheYoingLad
  • #73 dependencies.gradle: GT5-Unofficial 5.09.52.266 -> 5.09.52.360. - @boubou19
  • #63 Bumped ModularUI2 to 2.3.39 and GT5-Unofficial to 5.09.52.266. TradeItemDisplayWidget now uses isValidSyncOrValue with ObjectValue/ISyncOrValue instead of the deprecated isValidSyncHandler with GenericSyncValue, and drawBorderInsideLTRB replaces drawOutline. - @chrombread
  • #31 MTEVendingMachineGui imports MTEMultiBlockBaseGui from gregtech.common.gui.modularui.multiblock.base, replaces debugName with name, and uses findSyncHandler instead of getSyncHandler with a string key. Bumps NEI, ModularUI2 and GT5-Unofficial. - @cubefury

Contributors ​

Everyone who authored, reviewed or co-authored a change on this page, with how many of them:

@cubefury (92), @UltraProdigy (27), @tiffit (23), @YannickMG (11), @Ranzuu (9), @FrostyFire1 (8), @Dream-Master (7), @boubou19 (3), @Caedis (3), @chrombread (3), @Eldrinn-Elantey (3), @Nikolay-Sitnikov (3), @TheYoingLad (3), @Alexdoru (2), @ABKQPO (1), @AnsonYeung (1), @Connor-Colenso (1), @DarkShadow44 (1), @DylanTaylor1 (1), @felixfour (1), @glektarssza (1), @leagris (1), @MalTeeez (1), @Miklebe (1), @NotAPenguin0 (1), @Omgise (1), @PLASMAchicken (1), @Quetz4l (1), @Ruling-0 (1), @serenibyss (1), @slprime (1), @wlhlm (1), @Yoshy2002 (1)