Tier Generator


Generates a tier list describing how to obtain an item

Utilities
4 months ago
1.1
505

Changelog

Version: 0.4.4
Date: 2024-07-11
  Bugfixes:
    - Only iterate on the array portion when setting up elem_selector_table from global
Version: 0.4.3
Date: 2024-07-08
  Bugfixes:
    - Fixed the 0_4_0 migrator. It no longer clears the menus *just* created (I did not realize migrations ran after init..)
    - Used a function in the new gui-modules to safely get state rather than hope it still exists
Version: 0.4.2
Date: 2024-07-07
  Bugfixes:
    - Updated to new gui-modules version in hopes of fixing migration errors
Version: 0.4.1
Date: 2024-07-06
  Locale:
    - Updated translations (crowdin)
  Bugfixes:
    - Updated to new gui-modules version
Version: 0.4.0
Date: 2024-07-06
  Features:
    - You can now pin the window to look at it and another window at the same time
    - Actually implement the ability to define base items or ignored recipes
    - The ability to define base items or ignored recipes are tied to the ability to change mod settings
  Changes:
    - Refactored dependencyEntry and tierEntry to be the same
    - Changed the dependency graph to only follow the items and fluids
    - Reuse some tables to save memory and allocation
      * Might not actually save very much, and the overhead for caching and seeking them might counteract any gains obtained
    - Refactored into using the event_handler
    - Completely reconstructed the tier menu to use my GUI library Gui Modules
    - Made a tiling background for the bottom of the tier list
    - Fixed save/load issue with timing functions
Version: 0.3.9
Date: 2024-06-30
  Bugfixes:
    - Fixed Py's compatibility (accidentally passed a string instead of an array of strings)
Version: 0.3.8
Date: 2024-06-30
  Changes:
    - Completely refactored how default configs are stored/created
    - Added a helper function to process each element of an array, instead of calling the individual processing function tens of times
  Bugfixes:
    - Fixed the possibility for the menu to be created twice
    - Fixed the chance for functions to accidentally be called twice when using the internal 'tick_later' function (tick 0)
    - Fixed a crash when loading an older save that had an invalidated reference to the menu
Version: 0.3.7
Date: 2024-06-28
  Compatibility:
    - Fixed compatibility for Pyanodons Alternative Energy
      * Made the machine an ingredient rather than the category
    - Added compatibility for Pyanodons Hard Mode
    - Added compatibility for Space Exploration
      * Haven't added 'recipes' to properly handle off-planet resources.
  Commands:
    - Added a debug command for recursively seeking through invalid items in hopes of finding the cause
      Currently not that helpful due to it searching *every* recipe. It's better to just do it manually :(
Version: 0.3.6
Date: 2024-06-26
  Bugfixes:
    - Nullius now has injected recipes to match the asteroid mining drones.
Version: 0.3.5
Date: 2024-06-26
  Bugfixes:
    - ACTUALLY TEST THE NEW SETTING :facepalm:
    - Actually add locale for new setting
    - Actually recalculate when new setting is changed
    - Reprocess data when new setting is changed
Version: 0.3.4
Date: 2024-06-26
  Features:
    - Added setting to disable considering autplace controls. Now mods that have higher tier resources on other surfaces can kind of work. 
  Compatibility:
    - Added compatibility for Nullius
  Bugfixes:
    - Removed a crash with processing autoplace
Version: 0.3.3
Date: 2024-06-12
  Compatibility:
    - Added compatibility for SimpleSeablock. Stone and Coal still are base resources due to rocks still getting autoplaced, but that's not easy to fix.
  Bugfixes:
    - No longer considers resources disabled during map creation as available
Version: 0.3.2
Date: 2024-06-05
  Compatibility:
    - PyAE's Guano problem is mostly fixed
  Changes:
    - Added ability to inject recipes from within compatibility configs
Version: 0.3.1
Date: 2024-06-04
  Locale:
    - Added Ukranian translations (crowdin)
    - Started translations for other languages (crowdin)
  Features:
    - Compatibility can now disable considering technology
    - Can now use a localized string instead of raw mod name
  Compatibility:
    - Added compatibility for Py Alternative Energy
    - Added general compatibility for all of Pyanodons (probably)
  Bugfixes:
    - Fixed a possible desync for on_load
    - A mineable resource that has no results now doesn't crash
    - Stop adding C levels within the recursion (stack overflow). Does mean it's less resistant to errors during calculation, but they should hopefully be tested out of existence before release.
    - Stopped a second extra row being added when putting an item into the final slot of the 2nd to last row
Version: 0.3.0
Date: 2024-05-31
  Major Features:
    - Finally allows each player to choose and save 3 tabs of items to calculate tiers with
  Features:
    - Added automatic compatibility! It'll choose a few defaults based on the detected mod and written compatibility
    - Finally added a keybind for opening the menu
  Compatibility:
    - Added compatibility for Ultracube
    - Added compatibility for Science Packs Galore (as well as Forked)
    - Added compatibility for MoreSciencePacks-for1_1
    - Added compatibility for my other mod better-chat (the compatibility message prints using the interface)
  Changes:
    - Actually use the migration feature instead of faking it
    - Made walking the dependency tree an itterable. Reduces the amount of times it has to loop by one time for general calculation and two times for highlighting
  Bugfixes:
    - Removed the crash for on_configuration_changed by basically entirely rewriting how global is structured and handled
    - Make changing the technology setting actually update things again
    - Now is actually treated like a window. Wasn't technically a bug, just unimplemented, but it felt like one so it is.
Version: 0.2.4
Date: 2024-05-28
  Bugfixes:
    - Should no longer accidentally wipe the blocked list when an item that has blocked items from calculating finishes calculating
    - Actually send nil to unregister the nth tick. I didn't realize it was required and it worked for me (on linux).
    - An invalid hand-mining should no longer cause a crash
Version: 0.2.3
Date: 2024-05-28
  Features:
    - Natural resources like trees and rocks are now accounted for in the chain. This also partially overwrote the mining resources, so now they might not appear if they don't have an autoplace.
  Bugfixes:
    - Should no longer crash when it attempts to unhighlight the tier table after it got rebuilt.
    - Removed possible crash with tier_array being nil
Version: 0.2.2
Date: 2024-05-26
  Features:
    - Mining resources are now accounted for in the chain. This means uranium ore is no longer T0
    - Offshore pumps are now accounted for in the chain
  Changes:
    - Refactored almost the entire tier calculation. Should now have less of a chance of dependency bugs and be mostly easier to read.
  Bugfixes:
    - Now unhighlights when you click anywhere on the Tier Menu
    - Rocket products now consider building the rocket instead of just the silo
    - Clicking on fluids now also highlight their dependents
    - Should no longer crash when changing the ignored recipes after loading a game
    - Should actually update base items when the settings change
Version: 0.2.1
Date: 2024-05-24
  Features:
    - Clicking on an item now highlights its dependents
    - Settings are now global and the list will be updated to match the settings
    - Add a setting to toggle on whether or not to consider technology when calculating
  Optimizations:
    - Now marks incalculable items and unmarks them once the blocking item is calculated
  Changes:
    - Left-most items are no longer reliably simpler than right-most items
  Bugfixes:
    - Fixed overriden base items not appearing in the tierlist
    - Fixed ignored recipes not being ignored
    - Fixed the technology decrement applying even when the tier was determined by the prerequesite instead of items
Version: 0.2.0
Date: 2024-05-20
  Major Features:
    - Now has a UI to display the tiers!
  Features:
    - Add setting to decrement a technology tier. Meaning green science items can share a row with green science
  Changes:
    - Refactored the monolithic data-final-fixes.lua into multiple files
    - Changed from a startup script to runtime
    - Add MIT License I forgor to
  Bugfixes:
    - Fixed a handful of bugs that I spotted while refactoring to runtime. Theoretically added just as many bugs though.
    - Caught a possible invalid science pack not resulting in an invalid technology
Version: 0.1.3
Date: 2024-05-18
  Features:
    - Burnable fuels now kind of work. Not all machines that can burn are currently being grabbed. To be refined
    - Rocket launch products now work. This means you can calculate space-science-pack instead of cobbling together its ingredients
  Bugfixes:
    - Now will no longer crash on recipes with no results
    - A category with no machines is now handled properly instead of relying on the safety net of pcall
    - A category with no valid machines now signals as invalid instead of leaking an infinity
  Changes:
    - Will only log when given an invalid type in startup settings, rather than halting it with an error
Version: 0.1.2
Date: 2024-05-18
  Bugfixes:
    - Now has a pcall so it should just log an error instead of halting startup
    - Should now gracefully handle recipes that can't be unlocked (at least via research)
    - Added MoreSciencePacks-for1_1 as a hidden dependency so it properly considers the added science
Version: 0.1.1
Date: 2024-05-17
  Features:
    - Add setting to define what items gets their tiers calculated
    - Add setting to directly set values as base items
    - Add setting to ignore problematic recipes
  Bugfixes:
    - Properly determine if a recipe is enabled by default
    - Output to log instead of only stdout
Version: 0.1.0
Date: 2024-05-12
  Major Features:
    - Mostly kind of works now!