The calculator calculates outputs using averages, so day to day in-game results might differ a bit.
There are no hidden assumptions, whatever is inputted is used as inputted.
Some inputs are conditional on other inputs like in-game, some inputs are unconditional while they should be.
This means that this calculator can calculate setups that are not possible in-game. More information on these below.
Version System
The version of the calculator consists of four numbers.
The first number will most likely stay 1 forever.
The second number indicates internal system version, like variable storage.
The third number specifies changes to the inputs of the calculator (see Setup ID for more).
The last number is for any other changes, often changes to setup calculation or data.
Current version is 1.2.0.2.
Python versus Javascript
The calculator is made in both Python and Javascript.
In terms of standard calculations and official add-ons, they are the exact same.
They thus share the same version number and updates will happen to both.
There are a few things that the Python version has/will have that the JS version does not:
Custom Add-on Support
Persistent Options
Saving Calculations (future feature)
Minion Visualiser (future official addon)
However, there is one upside to using the JS version: it is fully hosted in a browser, whereas Python needs bit more to get working.
This manual is generally for the Python version, any differences for JS version are noted.
Setup ID
A Setup ID is a string of characters representing the minion setup in the calculator.
The first part of an ID is the first three numbers of the version of the calculator.
The calculator will only accept IDs of matching ID versions.
The rest is all the inputs represented by one character if there are a limited amount of options.
For real number variables it adds the whole number between exclamation marks.
When sharing results from the calculator, please include the setup ID.
Inputs
Inputs are on the left side of the calculator. Input methods are option lists, text boxes or check boxes.
Some inputs are hidden until they become relevant, like Inferno Minion Fuel inputs.
Inputs are split into 6 categories: Template, Minion, Island, Player, Time and Market.
Template
Relevant inputs: Templates, Load ID
A template is a list of automatic inputs.
For example, the template Corrupt automatically selects Corrupt Soil, Enchanted Hopper, Diamond Spreading as internal upgrades and Hopper as Sell Location.
(Python only) The list of templates is at the top of the main file and can be edited by the user.
There are three special templates named Choose Template, Load ID and Clean.
The template Choose Template is the default text shown in the option menu.
The template Load ID takes the inputted setup ID from Load ID.
The template Clean resets all inputs to their standard values.
These three should not be editted.
Minion
Relevant inputs: Minion, Tier, Amount, Fuel, Hopper, Upgrade 1, Upgrade 2, Chest, Infusion, Free Will
Inputs for the basic upgrades of the minions.
Order of Upgrade 1 and Upgrade 2 does not matter.
There are no conditions on Fuel, Upgrade 1 and Upgrade 2.
For selling to the inputted Hopper, Sell Location has to be set to Hopper.
When selecting Inferno Minion Fuel as Fuel, Inferno Minion options will appear.
Setting Free Will to True will make Tier Free Will appear in the outputs, which is the optimal tier to apply Free Wills to.
Inferno Minion
Relevant inputs: Grade, Distillate, Eyedrops, Force Rising Celsius Grade, Distillate, Eyedrops are hidden unless the selected Fuel is Inferno Minion Fuel. Force Rising Celsius is hidden unless the selected Minion is Inferno.
These are the extra options for Inferno minions.
Island
Relevant inputs: Beacon, Crystal, Postcard
Inputs for upgrades placed on the private island that work on all minions at once.
If the inputted Crystal will apply is conditional on the inputted Minion.
When selecting a tier for Beacon, beacon option will appear.
Beacon
Relevant inputs: Scorched, Free Fuel Beacon, Aquired Beacon
These inputs are hidden if Beacon is set to None. Scorched toggles using Scorched Power Crystals instead of normal Power Crystals. Free Fuel Beacon is a toggle for the fuel cost of the beacon.
If set to True, the beacon fuel cost will be set to 0. This is useful if you have your beacon fuel coming from somewhere else. Aquired Beacon is a toggle for the buy cost of the beacon.
If set to True, the cost to buy the beacon will not be added to the setup cost. This is useful if you already have a beacon.
Player
Revevant inputs: AFK, Wisdom, Mayor, Leveling Pet
Inputs relavent to the player.
When selecting True for AFK, AFK options will show.
When selecting any Leveling Pet, pet leveling options will appear.
When selecting Diana as Mayor, two extra pet exp share slots will show if pet leveling options are shown.
AFK
Relevant inputs: AFK Pet, AFK Pet Rarity, AFK Pet level, Enchanted Clock, Special layout, Player Harvests, Looting, Potato Accessory
To specify, AFKing minions is the act of leaving an account online 24/7 to keep the private island loaded (warning: Hypixel does not allow the use of alt-accounts for this). AFK Pet and related inputs are for pets that give speed boosts to minions. This is conditional on Minion. Enchanted Clock is a toggle for using the Enchanted Clock while on the island, which will do offline calculations while online. Special Layout is a toggle for using a layout that changes how the minion behaves. Player Harvests and Looting are inputs for when the player is doing the harvests instead of the minion.
The input for Potato Accessory will remain hidden until Minion is set to Potato and is conditional on this.
Available special layouts and other changes in behaviour while AFK can be found in several places:
As notes in the output of a calculation with that minion
As notes in the minion list in the file HSB_minion_data.py (Javascript: minion_data.js)
Relevant inputs: Combat wisdom, Mining wisdom, Farming wisdom, Fishing wisdom, Foraging wisdom, Alchemy wisdom
Wisdom inputs are hidden by default and can be made visible with the Toggle extra options button next to Wisdoms:
Input wisdom values as the same value as the in-game stat.
Pet Leveling
Relevant inputs: Taming, Battle Experience, Pet XP boost, Beastmaster, Exp Share pet, Exp Share pet 2, Exp Share pet 3, Why Not More, Exp Share pet item
These inputs are hidden when Leveling Pet is set to None. Exp Share pet 2 and Exp Share pet 3 will remain hidden until Mayor is set to Diana.
For Taming input the skill level and for Beastmaster input the percentage as seen on a beastmaster crest (so if a beastmaster crest shows 5%, input 5). Battle Experience and Why Not More are the attributes given by the Falcon and Toucan shards, respectively, inputted as attribute level.
Pet prices are requested from SkyCofl API. It first tries to get the average of the two lowest BIN prices.
If there are too little BIN auctions active, it will take the average price of the last 2 days. If it still cannot find a price, it will not update the price.
(Python only) The found prices are saved in the calculator instance data.
A general notice, please also share the output Used Pet Prices when sharing outputs that used pet levelling.
All pets are assumed to be Legendary or Mythic, except Rift Ferret, which is stuck at Epic and Precursor Drone, which is Common.
Time
Relevant inputs: Empty Time span, Scale Time, Scaled Time span
Inputs for controlling time between emptying and scaling. Empty Time span and Scaled Time span both are time inputs, which consist of a number input and a choice for unit of time.
Alongside standard units of time there is Harvests, which sets the time span to the time it takes for one minion to perform the specified number of harvests.
If Scale Time is turned on, Scaled Time span will appear and all time dependent outputs will be scaled to match Scaled Time span.
This affects non-linear things like compacting.
Market
Relevant inputs: Sell Location, Bazaar sell type, Bazaar buy type, Bazaar taxes, Bazaar Flipper
There are 4 sell options for Sell Location: Best (NPC/Bazaar), Bazaar, Hopper and NPC. NPC sells to npc at full price. Hopper sells to npc with a lower rate determined by the inputted Hopper. Bazaar sells to bazaar. Best (NPC/Bazaar) compares NPC and bazaar prices and sells to the best option.
NPC and Bazaar prices are obtained from Hypixel's API.
For the Bazaar prices of an item, the price for each category (buy and sell) is determined from the top 10% of total volume of that category.
The calculator has a safety net for bazaar prices that recently crashed, if the supply for an item is very concentrated towards the bottom of the price range, then the calculator takes the top order.
When selling items, taxes are applied if Bazaar taxes is set to True.
This tax can be lowered with Bazaar Flipper, which is inputted as the level of the Bazaar Flipper account upgrade (see Hypixel Wiki).
Bazaar sell type and Bazaar buy type are used to choose insta sell/buy or sell offer/buy order.
There is also a third option for both sell and buy types called Custom, this option takes the manual inputted price. This option is currently not great to work with and will be updated later.
(Python only) Users can freely change this custom price at the variable calculator_data in the file HSB_minion_data.py. When sharing results that used custom prices, please include the custom prices.
Auction House prices are taken from SkyCofl API as the average of the 2 lowest BINs.
These prices are stored in the Custom price.
If a price of an item is not available it will fall back to different sell methods in this order: Original method -> Custom -> NPC.
If all backup methods fail, it will give 0 as the price and will print an error to the terminal which can then be reported.
Outputs
Outputs are located at the right side of the calculator.
Each output has a checkbox next to it, this toggles if the corresponding output value will be included in the text output available in the controls menu.
Outputs are split into 3 categories, Setup Information, Minion and Profit.
All numbers outputs are not shortened in the calculator, but they will be shortened and rounded in the printed outputs.
Setup Information
Relevant outputs: Setup ID, Empty Time, Scaled Time, Action Time (s), Fuel amount, Available Storage, Notes
These outputs are about the general setup.
See Setup ID for an explanation of the setup ID. Action Time (s) is shown as seconds. Fuel amount is the amount of finite fuel needed to fuel the minions for the inputted time. It will only show when the inputted fuel has finite duration. Available Storage is counted in slots.
Notes
Relevant outputs: Notes Notes is a location for smaller details about the setup.
This includes but is not limited to the following list of things:
Special Layout behaviour
Over-compacting warnings
AFK behaviour of minions
Minion
Relevant outputs: Harvests, Item amounts, Used Storage, XP amounts, Pets levelled
These outputs are what the minions make directly. Harvests is the combined amount of harvests in the inputted time span by all minions in the setup. Used Storage is the amount of storage slots needed to storage all the items from Item amounts. Wisdom is already applied to the shown XP amounts. Pets levelled gives the (possibly fractional) amount of pets levelled based on total pet XP. The fractional amounts are not based on pet level.
Profit
Relevant outputs: Bazaar data, Setup cost, Setup part costs, Extra cost, Tier Free Will, Sell locations, Itemtype profits, Total item profit, Used Pet Prices, Pet profit, Fuel cost, Total profit Bazaar data shows the date and time of the used bazaar data. It is recommended to always print this with the output. Setup part costs shows cost of each part of the setup. It is hidden by default and can be shown by pressing the Toggle breakdown button. Extra cost shows costs that were not translated into coins. Tier Free Will is optimal tier to apply Free Wills to, this is hidden until Free Will is set to True. Sell locations will appear when Best (NPC/bazaar) is selected as Sell Location, it will show per item where the best price is. Used Pet Prices and Pet profit are only shown when Leveling Pet is not None.
Controls
Relevant buttons: Calculate, Text Output, Markdown Output, Update Prices, Add-ons Menu, Edit Settings
The controls menu is the bar at the bottom of the calculator.
(Python only) There is also a Stop button on the far right, please use the stop button to close the calculator as the calculator still has some functions to run before closing. Calculate runs the calculation for the inputted values and shows the outputs in the calculator. Text Output and Markdown Output print the selected outputs to the terminal. Text Output outputs plain text for general use and Markdown Output outputs markdown text suitable for sharing over Discord. Update Prices calls the Bazaar and AH APIs again and updates the prices. This is mostly useful when the setting API_auto_update is False. Edit Settings shows a menu with the Settings.
Add-ons Menu toggles (JS: scrolls down to) the Add-ons menu, in this menu the buttons to run the add-ons and the Add-on Outputs are visible.
Also in the controls menu are links to the used APIs, a link to this website and the setup ID version number.
Settings
Settings accessible in GUI: API Auto Update, API Cooldown (s), Pet API Cooldown (s), Over-compacting (coin), Output to Clipboard, Color Palette and (Python only) Debug Mode
(Python only) Settings outside the GUI: window_width, window_height, calculated_ID, external_add_ons, templateList
The settings accessible in GUI can be edited with the Edit Settings button in the controls menu. API Auto Update is a toggle for automatically updating prices through API when a calculation is started and the cooldown has passed. API Cooldown (s), inputted in seconds, limits how quickly API can be called, this is to prevent spamming the APIs. Pet API Cooldown (s), inputted in seconds, limits how quickly API can be called for updating pet prices, this is to prevent spamming the APIs. Over-compacting (coin) is the minimum amount of coins lost per compacting action before the calculator warns of over-compacting. Output to Clipboard is a toggle to let the calculator add the text output to the computer's clipboard. Color Palette is an input for which color palette the calculator uses. The standard available color palettes are
Dark (dark)
Dark Red (dark_red)
Light (light)
Gray Text (gray_text)
(Python only) The available color palettes can be edited in Hkinter.py.
(Python only) Debug Mode turns on or off extra logging messages in the terminal.
(Python only) window_width and window_height remember the used window size.
(Python only) calculated_ID remembers the last calculated setup ID and puts it in the Load ID input on start up.
(Python only) external_add_ons is a dictionary to import add-on functions, inputted as {"display name": function_reference, ...}.
(Python only) templateList is the list of templates (see Template). The structure for this is the name of the template as the first key with a dictionary as value.
This dictionary consists of the inputs that the template changes with variable keys as keys and the input value as value.
Add-ons
Add-ons are functions that use the results of the main calculation.
The functions will be run with calculator=self as only function argument, where self is the root of the calculator class.
Add-ons can send output to the calculator through calculator.collect_addon_output(output_name="...", output_str="..."). This function puts the output into Add-on Outputs.
Add-ons can be activated with the button in the Add-ons Menu. There is also a toggle for every add-on that makes the add-on run automatically after every Calculate press.
Add-on support is limited and will be improved later.
Javascript version only supports the Official Add-ons.
Official Add-ons
The Official Add-ons are made by Herodirk and are released with both versions of the calculator.
This is the current list of them:
Minion Crafting: Outputs what and how many materials are needed to craft the inputted amount of the inputted minion.
Days to Repay Setup: Calculates how many days until the setup made its cost back, please do not rely solely on this statistic when choosing a setup.
Basic Minion Loop: For the chosen inputs and a setup cost limit, loop through all minions and show the top 10 for profit within the setup cost limit to the terminal and clipboard if the settings allow it. Markdown in the output can be toggled
Bad Luck Inferno: Calculates the profit without Inferno Vertexes, Inferno Apexes, Reaper Peppers and Gabagool The Fish, as those vary a lot from day to day. Good for getting the minimum daily profit.
Inferno Minion Loop: For the chosen inputs and a setup cost and minion amount limit, loops through every combination of tier and amount within the limit, then filtered on the setup cost shows the top 10 for Bad Luck Inferno profit to the terminal. Minion, Fuel, Chest and Force Rising Celsius are forced to Inferno, Inferno Minion Fuel, XX-Large Storage and True respectively.
Exact Pet Levelling: Calculates the exact amount of pets levelled from the xp generated by the setup. The pets start with the inputted starting pet xp.
(Python only) Be careful when downloading add-ons from other places, they are python programs and technically can have full access to your computer.