🧮 Not Enough Calculator
A NEU-style calculator that works standalone or inside Roughly Enough Items (REI) & Skyblock Item List search bars. Type calculations directly in the search bar and get instant results.
Inspired by NotEnoughUpdates calculator. Recreated for newer Minecraft versions where NEU isn't available.

What does this mod do?
Type calculations directly in the search bar and get instant results! Works inside Roughly Enough Items (REI)'s search bar, Skyblock Item List's search bar, or completely Standalone with its own bar at the bottom of inventory screens. If you played with NEU on older versions, you already know how this works.
Example: Type 100m - 50m in the search bar → See = 50,000,000 instantly
Features
Basic Math & Operators
| Category | Symbol / Keyword | Description | Example Input | Result Output |
|---|---|---|---|---|
| Addition | + |
Add numbers and unit terms | 100m + 50m |
150,000,000 |
| Subtraction | - |
Subtract numbers and unit terms | 1b - 250m |
750,000,000 |
| Multiplication | *, x, X |
Multiply numbers (* or x/X multiplier) |
10x5, 10k * 5 |
50, 50,000 |
| Division | / |
Divide numbers | 100m / 4 |
25,000,000 |
| Exponents | ^ |
Power / Exponent calculation | 2^10 |
1,024 |
| Modulo | % |
Remainder of division | 10 % 3 |
1 |
| Factorial | ! |
Integer Factorial ($n!$) | 5! |
120 |
| Percentage | % |
Percentage scaling (100 + 10% = 110) |
100 + 10% |
110 |
| Parentheses | ( ) |
Grouping & implicit multiplication | 2(3+4), (3)(4) |
14, 12 |
| Bitwise AND | & |
Bitwise AND operation | 0b1010 & 0b1100 |
0b1000 |
| Bitwise OR | \| |
Bitwise OR operation | 0b1010 \| 0b0101 |
0b1111 |
| Bitwise NOT | ~ |
Bitwise NOT operation | ~0, ~5 |
-1, -6 |
| Left Shift | << |
Bitwise left shift | 1 << 4 |
16 |
| Right Shift | >> |
Bitwise right shift | 16 >> 2 |
4 |
| Binary Literal | 0b |
Binary number literal | 0b1010 |
0b1010 |
| Hex Literal | 0x |
Hexadecimal number literal | 0xFF |
0xFF |
| Octal Literal | 0o |
Octal number literal | 0o77 |
0o77 |
Math & Logic Functions
| Category | Function Syntax | Description | Example Input | Result Output |
|---|---|---|---|---|
| Roots & Abs | sqrt(x) |
Square root of $x$ | sqrt(144) |
12 |
abs(x) |
Absolute value of $x$ | abs(-50) |
50 |
|
| Rounding | floor(x) |
Round down to nearest integer | floor(3.9) |
3 |
ceil(x) |
Round up to nearest integer | ceil(3.1) |
4 |
|
round(x) |
Round to nearest integer | round(3.5) |
4 |
|
| Logarithms | log(x) |
Base-10 logarithm | log(100) |
2 |
ln(x) |
Natural logarithm (base $e$) | ln(e) |
1 |
|
| Trigonometry | sin(x) |
Sine of angle in degrees | sin(90) |
1 |
cos(x) |
Cosine of angle in degrees | cos(0) |
1 |
|
tan(x) |
Tangent of angle in degrees | tan(45) |
1 |
|
| Angles | rad(x) |
Convert degrees to radians | rad(180) |
3.14159... |
deg(x) |
Convert radians to degrees | deg(pi) |
180 |
|
| Bounds | min(a, b) |
Smaller of two values | min(10, 5) |
5 |
max(a, b) |
Larger of two values | max(10, 5) |
10 |
|
clamp(v, min, max) |
Clamp value to min/max range | clamp(15, 0, 10) |
10 |
|
| Statistics | avg(a, b, ...) |
Average of any number of inputs | avg(10, 20, 30) |
20 |
pct(a, b) |
Ratio percentage ($a$ as % of $b$) | pct(50, 200) |
25 |
|
| Number Theory | gcd(a, b) |
Greatest common divisor | gcd(12, 18) |
6 |
lcm(a, b) |
Least common multiple | lcm(12, 18) |
36 |
|
| Base Conversions | hex(x) |
Convert decimal to Hexadecimal | hex(255) |
0xFF |
bin(x) |
Convert decimal to Binary | bin(10) |
0b1010 |
|
oct(x) |
Convert decimal to Octal | oct(63) |
0o77 |
|
| Bitwise | xor(a, b) |
Bitwise XOR function | xor(10, 12) |
6 |
| Formatter | fmt(x) |
Format number to SkyBlock shorthand | fmt(1500000) |
1.5m |
SkyBlock Units & Storage
| Unit Code | Exact Value | Description / Equivalent | Example Input | Result Output |
|---|---|---|---|---|
k |
1,000 | Thousand multiplier | 10k |
10,000 |
m |
1,000,000 | Million multiplier | 5m |
5,000,000 |
b |
1,000,000,000 | Billion multiplier | 2b |
2,000,000,000 |
t |
1,000,000,000,000 | Trillion multiplier | 1t |
1,000,000,000,000 |
s, st, stack, stacks |
64 | Stack multiplier | 3s, 2st, 5stacks |
192 |
e |
160 | Enchanted item multiplier | 2e |
320 |
h |
1,728 | Shulker Box capacity | 1h |
1,728 |
sc |
1,728 | Small Chest capacity | 1sc |
1,728 |
dc |
3,456 | Double Chest capacity | 2dc |
6,912 |
eb |
2,880 | Ender Chest capacity | 1eb |
2,880 |
XP Tables & Perks
| Category | Function Syntax | Alternative Aliases | Description | Example Input | Result Output |
|---|---|---|---|---|---|
| Skill XP | skillxp(lvl, [toLvl]) |
skill_xp, skilltable |
Skill XP milestones & level deltas (1–60) | skillxp(40, 50) |
29,650,000 |
| Hunting XP | huntingxp(lvl, [toLvl]) |
hunting_xp, huntingtable |
Hunting XP milestones & level deltas (1–50) | huntingxp(50) |
55,172,425 |
| Runecrafting XP | runecraftingxp(lvl, [toLvl]) |
runecrafting_xp, runetable |
Runecrafting XP milestones & deltas (1–25) | runecraftingxp(25) |
94,450 |
| Social XP | socialxp(lvl, [toLvl]) |
social_xp, socialtable |
Social XP milestones & deltas (1–25) | socialxp(25) |
272,800 |
| Catacombs XP | cataxp(lvl, [toLvl]) |
cata_xp, catatable, cxp_table |
Catacombs XP milestones & level deltas (1–50+) | cataxp(50) |
569,809,640 |
| Slayer XP | slayerxp([boss], lvl, [toLvl]) |
slayer_xp, slayertable |
Universal Slayer XP milestones (Zombie, Spider, Wolf, Enderman, Blaze, Vampire) | slayerxp(spider, 2) |
25 |
| Zombie / Wolf Slayer | zombiexp(lvl, [toLvl]) |
revxp, revenantxp, wolfxp, svenxp |
Zombie (Revenant) & Wolf (Sven) Slayer XP milestones | zombiexp(4) |
1,500 |
| Spider Slayer | spiderxp(lvl, [toLvl]) |
spider_xp, tarantulaxp, tarantula_xp, spidertable |
Spider / Tarantula Slayer XP | spiderxp(2) |
25 |
| Enderman / Blaze | emanxp(lvl, [toLvl]) |
voidgloomxp, endermanxp, blazexp, infernoxp |
Enderman (Voidgloom) & Blaze (Inferno) Slayer XP | emanxp(4) |
1,500 |
| Vampire Slayer | vampirexp(lvl, [toLvl]) |
vampire_xp, vampiretable, vampslayerxp, riftstalkerxp |
Vampire Slayer XP milestones & deltas (1–5) | vampirexp(5) |
2,400 |
| Active Perks | perk("name") |
hotmperk, hperk |
Live active HotM / HotF perk level | perk(mining_speed) |
50 |
Bazaar, Auction House & Taxes
| Category | Function Syntax | Alternative Alias | Description | Example Input | Result Output |
|---|---|---|---|---|---|
| Bazaar Buy | bzb("ITEM") |
bzbuy("ITEM") |
Live Bazaar Instant Buy price (lowest sell offer) | bzb(SUPERBOOM_TNT) |
3,200 |
| Bazaar Sell | bzs("ITEM") |
bzsell("ITEM") |
Live Bazaar Instant Sell price (highest buy order) | bzs("COBBLESTONE") |
3.5 |
| Bazaar Margin | bzm("ITEM") |
bzmargin("ITEM") |
Live Bazaar spread / margin (bzb - bzs) |
bzm(SUPERBOOM_TNT) |
450 |
| Lowest BIN | lb("ITEM") |
lowestbin("ITEM") |
Live Lowest BIN auction price | lb(HYPERION) |
1,850,000,000 |
| Lowest BIN Avg | lba("ITEM") |
lowestbinavg("ITEM") |
3-Day Lowest BIN average price | lba("HYPERION") |
1,900,000,000 |
| NPC Sell Price | npc("ITEM") |
npcsell("ITEM") |
Hypixel NPC shop sell price | npc(COBBLESTONE) |
3 |
| Motes Sell Price | motes("ITEM") |
motessell("ITEM") |
Rift Motes shop sell value | motes("RIFT_ITEM") |
500 |
| Universal Price | price("ITEM") |
N/A | Lowest available price across Bazaar & BIN | price(HYPERION) |
1,850,000,000 |
| Player Sacks | sack("ITEM") |
sackcount("ITEM") |
Total item count stored in player sacks | sack(COBBLESTONE) |
20,480 |
| Bazaar Net Payout | bz(price) |
N/A | Net payout after Bazaar tax (scales with Flipper perk) | bz(100m) |
98,750,000 |
| AH Auction Payout | ah(price, [hrs]) |
N/A | Net payout after AH auction 5% fee + listing tax | ah(50m) |
46,999,955 |
| AH BIN Net Payout | ahbin(price, [hrs]) |
N/A | Net payout after AH BIN listing fee + collection tax | ahbin(50m, 24) |
48,499,650 |
Variables & Player Stats
Important Note
- Many live SkyBlock data are extracted from Hypixel's Tablist/Tab Widget by SkyblockAPI. Ensure you have those relevant widgets turned on in
/tablist; otherwise, those specific live stats may not be available and the mod might not function as expected.
Built-in & Custom Variables
| Variable | Full Identifier | Type | Description | Example Input |
|---|---|---|---|---|
| Last Result | ans |
Built-in | Holds the last calculation result | ans * 2 |
| Pi Constant | pi |
Built-in | Mathematical constant $\pi \approx 3.14159265$ | 2 * pi |
| Euler's Number | e |
Built-in | Constant $e \approx 2.71828182$ (when standalone) | ln(e) |
| Custom Variable | $name |
User-defined | Persistent variable created via /calcset or GUI manager |
$profit * 2 |
Currencies
| Currency | Full Identifier | Short Alias(es) | Description | Example Input |
|---|---|---|---|---|
| Purse Coins | $purse, $coins, $money |
$p, $coin |
Purse coin balance | $purse + $bank, $coins / 2 |
| Bank Coins | $bankcoins, $bank |
$b |
Bank coin balance | $bank / 2 |
| Personal Bank | $personalbank |
$pbank |
Personal bank coins | $pbank + 10m |
| Coop Bank | $coopbank |
$cbank |
Coop bank coins | $cbank / 4 |
| Bits | $bits |
$bt, $bit |
Hypixel Bits balance | $bits * 1000 |
| Motes | $motes |
$mt, $mote |
Rift Motes balance | $motes / 50 |
| Copper | $copper |
$cop |
Garden Copper balance | $copper * 500 |
| Sowdust | $sowdust |
$sdust |
Garden Sowdust count | $sowdust / 10 |
| Kernels | $kernels |
$kern, $kernel |
Garden Kernels count | $kernels * 100 |
| North Stars | $northstars, $northstar |
$ns, $nstars, $star, $stars |
Winter Island North Stars | $ns * 50k |
| Gems | $gems |
$gem |
SkyBlock Gems balance | $gems * 100 |
| Soulflow | $soulflow |
$sf, $sflow |
Soulflow count | $soulflow * 5k |
Player & Dungeon Stats
| Stat | Full Identifier | Short Alias(es) | Description | Example Input |
|---|---|---|---|---|
| SkyBlock Level | $skyblocklevel, $sblevel |
$sb, $sblvl, $sblev, $level |
Current SkyBlock Level | $sblevel * 100k |
| Level Progress | $sblevelprogress, $levelprogress |
$sbprog, $sblevelprog, $levelprog |
Progress to next SB Level | 100 - $sbprog |
| Faction Reputation | $reputation |
$rep |
Nether Faction Reputation | $rep / 1000 |
| Health | $health |
$hp |
Current Health points | $hp / $maxhp |
| Max Health | $maxhealth |
$mhp, $maxhp |
Maximum Health points | $maxhp + 500 |
| Defense | $defense, $defence |
$def |
Current Defense stat | $def / ($def + 100) |
| Intelligence / Mana | $intelligence |
$mana, $intel |
Current Mana points | $mana * 2 |
| Max Mana | $maxmana, $maxintelligence |
$mmana, $maxintel |
Maximum Mana points | $maxmana - 500 |
| Overflow Mana | $overflowmana |
$ofmana |
Current Overflow Mana | $ofmana * 10 |
| Vitality | $vitality |
$vit |
Current Vitality stat | $vit + 50 |
| Max Vitality | $maxvitality |
$mvit |
Maximum Vitality stat | $mvit |
| Speed | $speed |
$spd |
Current Speed stat | $spd / 400 |
| Vanilla XP Level | $xplevel |
$xp, $xplvl |
Vanilla Minecraft XP Level | $xp * 100 |
| Catacombs Level | $catacombslevel, $catacombs |
$cata, $catalvl |
Dungeons Catacombs Level | $cata * 10 |
| Class Level | $dungeonclass, $classlevel |
$dclass, $classlvl |
Active Dungeon Class Level | $classlevel * 5 |
| Dungeon Party Size | $dungeonparty, $partysize |
$party |
Current Dungeon Party Size | 5 - $party |
Mining, HOTM & HOTF
| Stat | Full Identifier | Short Alias(es) | Description | Example Input |
|---|---|---|---|---|
| Mithril Powder | $mithrilpowder, $mithril |
$mpowder, $mpowd, $mith |
Current Mithril Powder | (1m - $mithrilpowder) / 50k |
| Gemstone Powder | $gemstonepowder, $gemstone |
$gpowder, $gpowd |
Current Gemstone Powder | 1m - $gpowder |
| Glacite Powder | $glacitepowder, $glacite |
$glpowder, $glpowd, $glac |
Current Glacite Powder | 500k - $glpowder |
| Total Mithril | $totalmithrilpowder, $totalmithril |
$totmpowder, $totmithril, $totmith |
Lifetime Total Mithril | $totmpowder / 1m |
| Total Gemstone | $totalgemstonepowder, $totalgemstone |
$totgpowder, $totgemstone, $totgem |
Lifetime Total Gemstone | $totgpowder / 1m |
| Total Glacite | $totalglacitepowder, $totalglacite |
$totglpowder, $totglacite, $totglac |
Lifetime Total Glacite | $totglpowder / 1m |
| HOTM Tier | $hotmtier |
$hotm |
Heart of the Mountain Tier | 10 - $hotm |
| HOTM Tokens | $hotmtokens, $tokens |
$token |
Available HOTM Tokens | $tokens * 2 |
| HOTF Tier | $hotftier |
$hotf, $htier |
Heart of the Forest Tier | $hotf + 1 |
| HOTF Tokens | $hotftokens, $htokens |
$htoken |
Available HOTF Tokens | $htokens * 10 |
| Forest Whispers | $forestwhispers |
$whisp, $whisper, $whispers, $fwhisper, $fwhispers |
Current Forest Whispers | $whispers / 100 |
| Desert Whispers | $desertwhispers |
$dwhispers, $dwhisper |
Current Desert Whispers | $dwhispers / 50 |
Essences
| Essence | Full Identifier(s) | Short Alias(es) | Description | Example Input |
|---|---|---|---|---|
| Wither Essence | $witheressence, $wessence |
$w, $wither |
Wither Essence count | $w * 5k |
| Undead Essence | $undeadessence, $uessence |
$u, $undead |
Undead Essence count | $u * 1k |
| Dragon Essence | $dragonessence, $dessence |
$d, $dragon |
Dragon Essence count | $d * 2k |
| Spider Essence | $spideressence, $spessence |
$sp, $spider |
Spider Essence count | $sp * 1.5k |
| Ice Essence | $iceessence, $iessence |
$i, $ice |
Ice Essence count | $i * 3k |
| Diamond Essence | $diamondessence, $diessence |
$di, $diamond |
Diamond Essence count | $di * 10k |
| Gold Essence | $goldessence, $gessence |
$g, $gold |
Gold Essence count | $g * 8k |
| Crimson Essence | $crimsonessence, $cessence |
$c, $crimson |
Crimson Essence count | $c * 6k |
| Forest Essence | $forestessence, $foressence |
$fe, $forest |
Forest Essence count | $fe * 10k |
| Fossil Essence | $fossilessence, $fossessence |
$foss, $fossil |
Fossil Essence count | $foss * 50k |
| Sun Gecko Essence | $sungeckoessence, $geckoessence |
$sungeck, $sungecko, $gecko |
Sun Gecko Essence count | $gecko * 100k |
| Safari Essence | $safariessence, $safessence |
$saf, $safari |
Safari Essence count | $saf * 25k |
Pets & Bestiary
| Stat / Category | Full Identifier | Short Alias(es) | Description | Example Input |
|---|---|---|---|---|
| Pet Level | $petlevel |
$pet, $petlvl |
Active Pet Level | $pet * 100k |
| Pet XP | $petexperience, $petxp |
$pxp |
Active Pet Experience | 25m - $pxp |
| Bestiary Level | $bestiarylevel |
$best, $bestiary, $bestiarylvl |
Current Bestiary Level | $best * 50k |
| Total Trophy Fish | $trophyfishcount, $trophyfish |
$tfish |
Total Trophy Fish caught | $tfish * 10k |
| Diamond Trophy | $diamondtrophyfish, $diamondtrophy |
$dtrophy |
Diamond Trophy Fish count | $dtrophy * 100k |
| Gold Trophy | $goldtrophyfish, $goldtrophy |
$gtrophy |
Gold Trophy Fish count | $gtrophy * 50k |
| Silver Trophy | $silvertrophyfish, $silvertrophy |
$strophy |
Silver Trophy Fish count | $strophy * 20k |
| Bronze Trophy | $bronzetrophyfish, $bronzetrophy |
$btrophy |
Bronze Trophy Fish count | $btrophy * 10k |
| Accessory Power | $accessorypower, $magicalpower |
$mp, $power |
Maxwell Magical Power | $mp * 100k |
Skills
| Skill | Level Full / Short Identifier | XP Full / Short Identifier | Description | Example Input |
|---|---|---|---|---|
| Farming | $farming, $farminglvl, $farmlvl / $farm |
$farmingxp / $farmxp |
Farming Skill Level & XP | $farm * 100k |
| Mining | $mining, $mininglvl, $minelvl / $mine |
$miningxp / $minexp |
Mining Skill Level & XP | $mine * 100k |
| Combat | $combat, $combatlvl, $cmbtlvl / $cmbt |
$combatxp / $cmbtxp |
Combat Skill Level & XP | $cmbt * 100k |
| Foraging | $foraging, $foraginglvl, $foraglvl / $forag |
$foragingxp / $foragxp |
Foraging Skill Level & XP | $forag * 100k |
| Fishing | $fishing, $fishinglvl, $fishlvl / $fish |
$fishingxp / $fishxp |
Fishing Skill Level & XP | $fish * 100k |
| Enchanting | $enchanting, $enchantinglvl, $enchlvl / $ench |
$enchantingxp / $enchxp |
Enchanting Skill Level & XP | $ench * 100k |
| Alchemy | $alchemy, $alchemylvl, $alchlvl / $alch |
$alchemyxp / $alchxp |
Alchemy Skill Level & XP | $alch * 100k |
| Taming | $taming, $taminglvl, $tamelvl / $tame |
$tamingxp / $tamexp |
Taming Skill Level & XP | $tame * 100k |
| Carpentry | $carpentry, $carpentrylvl, $carplvl / $carp |
$carpentryxp / $carpxp |
Carpentry Skill Level & XP | $carp * 100k |
| Runecrafting | $runecrafting, $runecraftinglvl, $runelvl / $rune |
$runecraftingxp / $runexp |
Runecrafting Level & XP | $rune * 100k |
| Social | $social, $sociallvl, $soclvl / $soc |
$socialxp / $socxp |
Social Skill Level & XP | $soc * 100k |
| Hunting | $hunting, $huntinglvl, $huntlvl / $hunt |
$huntingxp / $huntxp |
Hunting Skill Level & XP | $hunt * 100k |
Slayers
| Slayer Boss | Level Full / Short Identifier | XP Full / Short Identifier | Description | Example Input |
|---|---|---|---|---|
| Revenant (Zombie) | $zombieslayer, $revslayer, $zombie / $rev |
$zombieslayerxp, $zombiexp / $revxp |
Zombie Slayer Level & XP | $rev * 50k |
| Tarantula (Spider) | $spiderslayer, $taraslayer, $taralvl, $spiderlvl / $tara |
$spiderslayerxp, $spiderxp / $taraxp |
Spider Slayer Level & XP | $tara * 50k |
| Sven (Wolf) | $wolfslayer, $svenslayer, $wolf, $svenlvl, $wolflvl / $sven |
$wolfslayerxp, $wolfxp / $svenxp |
Wolf Slayer Level & XP | $sven * 50k |
| Voidgloom (Enderman) | $endermanslayer, $emanslayer, $enderman, $voidgloom, $emanlvl / $eman |
$endermanslayerxp, $endermanxp, $voidgloomxp / $emanxp |
Enderman Slayer Level & XP | $eman * 50k |
| Infernal (Blaze) | $blazeslayer, $inferno, $blazelvl / $blaze |
$blazeslayerxp, $infernoxp / $blazexp |
Blaze Slayer Level & XP | $blaze * 50k |
| Riftstalker (Vampire) | $vampireslayer, $vampslayer, $riftstalker, $vamplvl / $vamp |
$vampireslayerxp, $riftstalkerxp / $vampxp |
Vampire Slayer Level & XP | $vamp * 50k |
Syntax Highlighting & Colors
| Syntax Category | Minecraft Color Code | Example Elements |
|---|---|---|
| Numbers & Decimals | §3 (Cyan / Dark Aqua) |
42, 100.5, 3.14159 |
| Quantities & Suffix Units | §b (Vibrant Aqua) |
k, m, b, t, st, stack, dc, eb |
| Mathematical Functions | §e (Bright Yellow) |
sqrt(), abs(), floor(), sin(), min(), max(), avg(), clamp(), gcd(), lcm() |
| Progression, Slayers & Perks | §6 (Vibrant Gold) |
skillxp(), huntingxp(), cataxp(), slayerxp(), emanxp(), vampirexp(), perk() |
| Market, Auctions & Taxes | §9 (Royal Blue) |
bzb(), bzsell(), lowestbin(), npc(), price(), sack(), ah(), ahbin() |
| Radix Literals & Functions | §d (Light Purple / Magenta) |
0xFF, 0b1010, 0o77, hex(), bin(), oct(), pct() |
| Built-in Variables & Constants | §b (Vibrant Aqua) |
ans, pi, e, $purse, $mana, $hp, $mithril, $hunting, $cata |
| Custom Variables | §3 (Cyan / Dark Aqua) |
$myset, $tax, $profit, $goal |
| Variable Prefix ($) | §6 (Vibrant Gold) |
$ prefix preceding any variable |
| Item IDs & Quoted Strings | §d (Light Purple / Pink) |
"HYPERION", 'SUPERBOOM_TNT', COBBLESTONE |
| Mathematical Operators | §c (Light Red) |
+, -, *, /, ^, %, x, !, &, \|, ~, <<, >> |
| Delimiters & Parentheses | §7 (Neutral Light Gray) |
(, ), , |
| Result Equals Sign (=) | §6 (Vibrant Gold) |
= separator preceding calculated output |
| Calculated Result Value | §a (Bright Lime Green) |
50,000,000 |
Shortcuts & Search Bar Controls
| Action / Shortcut | Key Combination / Input | Description |
|---|---|---|
| Undo Calculation History | Ctrl+Z / Cmd+Z |
Recall previous calculations backward in search bar |
| Redo Calculation History | Ctrl+Y / Cmd+Y |
Go forward in calculation history in search bar |
| Copy Full Equation | Ctrl+C / Cmd+C |
Copies full equation (1+1 = 2) to clipboard when no text is selected |
| Cut Full Equation | Ctrl+X / Cmd+X |
Cuts full equation to clipboard and clears search bar |
| Partial Selection Copy/Cut | Ctrl+C / Ctrl+X |
Copies or cuts only highlighted text snippet when text is selected |
| Select All Text | Ctrl+A / Cmd+A |
Selects all text in search bar |
| Jump Cursor by Word | Ctrl+Left / Right |
Moves search bar cursor by word boundaries |
| Delete Word | Ctrl+Backspace / Delete |
Deletes entire word to left or right of cursor |
| Jump to Line Start / End | Home / End |
Moves cursor to start or end of text |
| Commit Calculation | Enter / Numpad Enter |
Commits calculation into history while keeping input focus |
| Drag & Reposition Bar | Shift+Drag / Right-Click Drag |
Freely move and position the standalone search bar anywhere on screen |
| Click-to-Copy Result | Mouse Click in Chat | Clicking any /calc result printed in chat copies result to clipboard |
Commands & In-Game Help
Commands
| Category | Command | Syntax | Description | Example |
|---|---|---|---|---|
| Core Calculation | /calc |
/calc <expression> |
Calculate directly in chat with click-to-copy result | /calc 100m - 25m |
| Calculation History | /calchist |
/calchist |
Show up to 15 recent session calculations | /calchist |
| Clear History | /calcclear |
/calcclear |
Clear current session calculation history | /calcclear |
| Custom Variables | /calcset |
/calcset <name> <expression> |
Set or update a persistent custom variable from chat | /calcset profit 100m-50m |
| Settings GUI | /calcconfig |
/calcconfig |
Open settings and custom variables manager screen | /calcconfig |
| Position Editor | /calcconfig position / /calcpos |
/calcconfig position (or /calcpos) |
Open interactive search bar repositioning screen | /calcpos |
| Help System | /calchelp |
/calchelp [topic] |
Open interactive in-game guide covering all topics | /calchelp functions |
Help Menu Pages (/calchelp [topic])
| Topic | Command | Description |
|---|---|---|
| Main Menu | /calchelp |
Main menu with quick start, commands list, and shortcuts |
| Operators | /calchelp operators |
Arithmetic (+, -, *, /, ^, %, !), bitwise (&, |, ~, <<, >>), and radix literals (0b, 0x, 0o) |
| Functions | /calchelp functions |
Math, logarithms, trigonometry, min/max, clamp, avg, pct, gcd, lcm, radix conversions, and XP tables |
| Units | /calchelp units |
Coin multipliers (k, m, b, t) and container storage amounts (s, e, h, sc, dc, eb) |
| Variables | /calchelp variables |
Built-in constants (ans, pi, e), custom variables ($name), and variable usage guide |
| Player Stats | /calchelp stats |
Currencies, powders, essences, pets, bestiary, trophy fish, player stats, skills, slayers, and HotF ($hotf, $whispers) |
| Market Queries | /calchelp market |
Real-time Bazaar, Lowest BIN, NPC, Motes, and Sack query functions |
| Tax Formulas | /calchelp tax |
Bazaar payout and Auction House BIN listing/claim tax formulas |
| Examples | /calchelp examples |
Practical flipping, crafting, mining, and inventory calculation examples |
| Config Guide | /calchelp config |
Mod configuration settings and config file details |
Config & Settings GUI
| Setting Name | Config Key | Default | Behavior (ON vs OFF) |
|---|---|---|---|
| Open Settings Screen | Command /calcconfig |
N/A | Opens interactive GUI settings & custom variables manager screen (or via Mod Menu) |
| Custom Variables | customVariables |
{} |
Persistent key-value variables created via /calcset or GUI manager |
| Custom Variables Manager | GUI Tab Custom Variables |
N/A | Interactive GUI tab to add, edit, delete, and paginate (< / >) custom variables |
| Inline Results | showInlineResults |
true |
ON: Renders live calculation results (= 50m) directly inside the search bar as you type.OFF: Hides live result overlays in search bars. |
| Unit Suggestions | showUnitSuggestions |
true |
ON: Displays unit conversions and item equivalents (e.g. (1 double chest)) below the search bar.OFF: Hides unit conversion tooltips. |
| Comma Formatting | enableCommaFormatting |
true |
ON: Formats large numbers with thousand separator commas (e.g. 1,000,000).OFF: Outputs plain numbers without commas (e.g. 1000000). |
| Shorthand Results | enableShorthandResults |
false |
ON: Formats results in compact SkyBlock notation (e.g. 1.5m, 2.5b).OFF: Displays the full numeric value with comma formatting. |
| Syntax Highlighting | enableSyntaxHighlighting |
true |
ON: Color-codes numbers (cyan), units (aqua), math functions (yellow), progression (gold), market (royal blue), variables (aqua/cyan), operators (red), and results (green). OFF: Renders search bar text in plain standard white. |
| Decimal Precision | decimalPrecision |
10 |
Configures maximum decimal places for outputs (1 to 50). Numbers exceeding this scale are rounded using HALF_UP. |
| Bazaar Flipper Perk | bazaarFlipperLevel |
0 |
Selects your account's Community Center perk: Lvl 0 (1.25% tax), Lvl 1 (1.125% tax), or Lvl 2 (1.0% tax). |
| History Shortcuts | enableHistoryNavigation |
true |
ON: Traverses calculation history in search bars using Ctrl+Z (Undo) and Ctrl+Y (Redo).OFF: Disables Ctrl+Z/Ctrl+Y history recall. |
| Full Equation Copy | enableFullEquationCopy |
true |
ON: Pressing Ctrl+C with no text selected copies the entire equation and answer (e.g. 100m - 25m = 75m).OFF: Copies only the formatted result value ( 75m). |
| Force Standalone Mode | forceStandaloneMode |
false |
ON: Unhooks calculator from REI & Item List search bars, using our dedicated standalone bar (dynamically sized and moveable). OFF: Integrates directly inside the active REI or Item List search bar. |
| Edit GUI | GUI Button Edit GUI |
N/A | Opens interactive GUI positioning editor to drag and place search bar anywhere on screen. |
| Reset Position | GUI Button §f§l⟲ / Edit GUI |
N/A | Resets search bar position back to default (beside active search bar or centered at bottom). |
| Item List Integration | enableItemListIntegration |
true |
ON: Enables calculator within SkyBlock Item List search bar (when installed). OFF: Disables calculator hooks in SkyBlock Item List. |
Dependencies
Important Note
-
Dependencies and version numbers listed above apply specifically to the latest release of the mod. If you are using an older build or playing on a different Minecraft version, please check that specific release for its dependency requirements or launch the game once with the mod installed and a popup window will display all required dependencies.
-
Standalone mode was introduced in v2.7.0. All versions prior to v2.7.0 require REI to be installed.
Required
| Name | Version |
|---|---|
| Fabric Loader | 0.19.5+ |
| Fabric API | 0.155.3+ |
| Fabric Language Kotlin | 1.14.1+kotlin.2.4.20+ |
Optional / Recommended
| Name | Version |
|---|---|
| Roughly Enough Items (REI) | 26.1.819+ |
| Skyblock Item List | 0.0.21+ |
| Mod Menu | 18.0.1+ |
How to Install
- Download the required mods and place them into your Minecraft
mods/folder:- Fabric API
- Fabric Language Kotlin
- Roughly Enough Items (REI) (Optional)
- Skyblock Item List (Optional)
- Mod Menu (Optional)
- Not Enough Calculator (this mod)
- Launch Minecraft using the Fabric loader
- Open any inventory screen (chest, crafting table, etc.)
- Start typing calculations into the search bar (REI's search bar if REI is installed, Skyblock Item List's search bar if Item List is installed, or the standalone calculator bar at the bottom of the screen)
Support
Important Version Notice:
- Following Hypixel SkyBlock's Modern Update, only the latest two major Minecraft versions are supported. This mod will not receive updates for older versions. Please ensure you are using a supported version to avoid issues.
Need help or found a bug?
Please report issues on GitHub: Issues
Or join our Discord for support: Discord
Common Issues & Troubleshooting
Calculator search bar not showing up?
- Standalone Mode (No Search Mods Installed): Open any inventory screen (chest, crafting table, player inventory). The standalone search bar renders automatically at the bottom of your screen.
- REI Integration (REI Installed): Click inside REI's search bar to start calculating directly.
- Skyblock Item List Integration (Item List Installed): Click inside Skyblock Item List's search bar to start calculating.
Search bar position is off-screen or misplaced?
- Open
/calcconfigand click the Reset button (§f§l⟲) next to the Edit GUI button. - Alternatively, run
/calcpos(or/calcconfig position) and click Reset to Default to snap the search bar back to its default position.
How do I move or drag the search bar anywhere?
- Quick In-Game Dragging: While viewing an inventory screen, hold
Shiftand drag the bar with Left-Click, or drag directly usingRight-Click Drag. - Interactive Editor: Run
/calcposor click Edit GUI in/calcconfigto enter the visual positioning screen with alignment guides and drag preview.
How do I disable REI or SkyBlock Item List search bar hooks?
- If you prefer having a dedicated separate calculator bar rather than typing in REI / Skyblock Item List, open
/calcconfigand turn ON Force Standalone Mode. - To disable Item List integration specifically, toggle Item List Integration to OFF in
/calcconfig.
Calculator is unresponsive or not showing results?
- Make sure the search bar (REI, Skyblock Item List, or Standalone) is actively in focus (clicked into). If you click elsewhere on the screen, focus is lost.
- Check that Inline Results is enabled in
/calcconfig.
SkyBlock API stats showing 0 or unavailable?
- API stats (like
$mithrilpowder,$skills,$slayer,$essence, etc.) might not have loaded yet. Try opening your menus (e.g. running/hotm,/skills,/pets, etc., or ensure you have the relevant tab widgets turned on in/tablist).
Item price queries (`bzb`, `bzs`, `lb`, `lba`) return unknown item error?
- Make sure you are using exact Hypixel item IDs (e.g.
SUPERBOOM_TNT,HYPERION,ENCHANTED_CARROT). - If the item ID contains spaces, hyphens, or special characters, wrap it in quotes:
bzb("SUPERBOOM_TNT")orlb('HYPERION').
How does Euler's constant `e` differ from enchanted item stacks (`2e`)?
- Standalone
e(likeln(e),e^2, or2 * e) is evaluated as Euler's mathematical constant ($e \approx 2.71828$). - When attached directly to a number without spaces (like
2e,10e), it evaluates as the SkyBlock enchanted item multiplier ($160$). Use2 * eif you want two times Euler's number.
Bazaar / AH tax calculation rate is inaccurate?
- Open the settings screen (
/calcconfig). Under Bazaar Flipper Perk, select your account's Community Center perk level (Lvl 0= 1.25%,Lvl 1= 1.125%,Lvl 2= 1.0%) sobz()calculations match your profile's exact tax rate.
Why is division or math output rounding off decimals?
- Open
/calcconfigand check your Decimal Precision setting (default is 10 decimal places). You can adjust the precision from 1 up to 50 decimal places as needed.
Calculations showing up in chat when pressing Enter?
- Running
/calc <expression>prints the calculation result to your chat window, where you can click the result to instantly copy it. In search bar mode, results show directly inside the search bar.
How to copy the result or full equation?
- Press
Ctrl+Cinside the search bar to copy the full equation (1+1 = 2) to your system clipboard (or highlighted text if selected). - You can also click any
/calcresult printed in chat to copy the full equation with instant chat confirmation.
History navigation (`Ctrl+Z` / `Ctrl+Y`) not recalling calculations?
- Make sure
enableHistoryNavigationis set totruein/calcconfig. Note that calculation history is session-based and resets when joining a new world or server for a fresh start.
How do I clear my calculation history during a session?
- Run
/calcclearin chat to immediately wipe your active session calculation history, or run/calchistto view recent entries.
Custom variables disappeared after restarting the game?
- Custom variables defined via
/calcconfigGUI or/calcset var exprare saved permanently toconfig/notenoughcalculator.json. Make sure you click Save when editing variables in/calcconfig.
Can I use custom variables inside complex expressions or other variables?
- Yes! You can reference custom variables anywhere in equations, including inside function calls (e.g.
sqrt($mysize)), with player stats (e.g.$purse - $target), or combined together (e.g.$profit * $tax).
How do I reset my custom variables or config?
- You can manage or delete variables individually in the
/calcconfigGUI under the Custom Variables tab. To reset everything to default, deleteconfig/notenoughcalculator.jsonin your.minecraftfolder while the game is closed.
Bitwise operations or radix outputs not behaving as expected?
- Hexadecimal (
hex()), Binary (bin()), and Octal (oct()) functions operate on integer values. Floating-point numbers are rounded to nearest integers when performing bitwise operations (&,|,~,<<,>>,xor).
Why does typing a single number like 64 or 6912 not show calculator results in the search bar?
- Standalone plain numbers without operators or units are treated as item count or item ID searches in REI and SkyBlock Item List so normal item searching is not interrupted. To calculate or view unit equivalents for raw numbers, type an expression (e.g.
6912+0,2dc,1sc) or run/calc 6912in chat.
How does radix literal formatting work (0xFF, 0b1010, 0o77)?
- When calculating purely with radix literals, the calculator preserves the original base format on output (
0xFF = 0xFF,0b1010 = 0b1010,0o77 = 0o77). To convert to decimal, use standard math (e.g.0xFF + 0 = 255,0b1010 + 0 = 10). To convert any decimal into a radix format, usehex(255),bin(10), oroct(63).
What is the difference between bzb() and bzs()?
bzb(ITEM)(Bazaar Buy Price): Returns the price to Instant Buy an item. In Hypixel's Bazaar system, instant buyers purchase directly from the lowest active Sell Offer (e.g.106.6coins for Superboom TNT).bzs(ITEM)(Bazaar Sell Price): Returns the coins received to Instant Sell an item. In Hypixel's Bazaar system, instant sellers sell directly into the highest active Buy Order (e.g.55.9coins for Superboom TNT).
Why This Mod?
NEU (NotEnoughUpdates) had a great calculator built into its search bar. NEU doesn't exist for newer Minecraft versions though, so this mod fills that gap. Works with Roughly Enough Items (REI), Skyblock Item List, or runs completely standalone.
Credits
- Original calculator concept inspired by NotEnoughUpdates (NEU).
- Uses SkyblockAPI to fetch/retrieve Hypixel Skyblock data.
Modpacks
Feel free to include this mod in any modpack without restriction! Adding a link back to the mod page is also not mandatory, but is greatly appreciated.
Contributing
Want to help improve Not Enough Calculator? Check out our Contributing Guide.
License
Read Licensing Notice and Transition Statement.
See the full license text here: View License
Maintained by Laze & Rijz
Type. Calculate. Profit.
Last updated: 12-09-2026
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 27d ago | 1 | ||||
| 27d ago | 1 | ||||
| 27d ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 9mo ago | 1 |
Improvements & Fixes:
- Ported to Minecraft 26.3.
- Removed all removed GLFW and switched to InputConstants and MouseHandler.
- Added text input focus handling for the standalone search bar so typing works properly on 26.3.
- Updated REI to 26.3.823.
- Updated Mod Menu to 21.0.0.
- Updated SkyblockAPI to 4.2.32 & Skyblock Item List to 0.0.23.
- Updated Gradle wrapper to 9.7.0.
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v3.0.2...v3.1.0
- Updated SkyblockAPI to 4.2.32.
- Updated Skyblock Item List to 0.0.23.
- Updated
TrophyFishDataProviderto work with latestTrophyFishingAPI. - Updated Gradle wrapper to 9.7.0.
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v3.0.1...v3.0.2
- Updated SkyblockAPI to 4.2.32.
- Updated Skyblock Item List to 0.0.23.
- Updated
TrophyFishDataProviderto work with latestTrophyFishingAPI. - Updated Gradle wrapper to 9.7.0.
- Full Changelog:**
Note: Most of the Skyblock API related features in v3.0.0 were suggested by AI and made with AI.
This release has some overkill stuff thats more than what users need. We already know that lol. Honestly, when making this version, we genuinely werent EVEN sure what we were thinking or what we were even doing with our lives lol.
We’re not saying sorry for this one xd
If you prefer a version without all the Skyblock API stuff or AI slop, which you most probably do, I know, I know. WHAT YOU GUYZ ARE THINKING, WE CAN HEAR YOU. You can use [v2.7.1](https://modrinth.com/mod/notenoughcalculator/version/2.7.1) instead.
Read all the features in this release here:
- [v3.0.0 Release Notes & Features](https://github.com/Rijzzz/NotEnoughCalculator/releases/tag/v3.0.0)**
Special Thanks:
- A massive thanks to **[@kaori-23](https://github.com/kaori-23)** for doing the 26.1.x backport in [#18](https://github.com/Rijzzz/NotEnoughCalculator/pull/18)!
Bug Reports:
- If you run into any bugs or issues with the 26.1.x backport, please report them on [GitHub Issues](https://github.com/Rijzzz/NotEnoughCalculator/issues/new) or in our [Discord](https://discord.com/invite/asPJ4qgs8q)!
- Updated **SkyblockAPI** to
4.2.23. - Updated **Skyblock Item List** to
0.0.21+. - Updated **Fabric API** to
0.160.0+. - Updated **Fabric Loader** to
0.19.5+. - Updated **Fabric Language Kotlin** to
1.14.1+kotlin.2.4.20. - Updated **Mod Menu** to
20.0.2+.
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v3.0.0...v3.0.1
SkyblockAPI Integration & Live Stats:
- Integrated SkyblockAPI to give you real-time player stats, currencies, essences, and skill data right in your calculations.
- Currencies:
$purse,$bank,$personalbank,$coopbank,$bits,$motes,$copper,$sowdust,$kernels,$northstars,$gems,$soulflow. - Essences: Full support for all 12 essences with short and long names (
$w,$u,$d,$sp,$i,$di,$g,$c,$fe,$foss,$sungeck,$saf). - Mining & HotF:
$mithrilpowder,$gemstonepowder,$glacitepowder, lifetime totals,$hotm,$hotmtokens,$hotf,$hotftokens, and$whispers. - Combat & Player Stats:
$hp,$maxhp,$def,$mana,$maxmana,$overflowmana,$vit,$spd,$xplevel,$sblevel,$sblevelprogress,$reputation,$mp. - Dungeons, Pets & Bestiary:
$cata,$classlevel,$party,$petlevel,$petxp,$bestiarylevel, and all Trophy Fish counts ($dtrophy,$gtrophy,$strophy,$btrophy). - Skills & Slayers: Level and XP variables for all 12 skills (
$farm,$mine,$hunt, etc.) and all 6 slayers ($rev,$tara,$sven,$eman,$blaze,$vamp).
Live Market & Economy Queries:
bzb("ITEM")/bzbuy: Real-time Bazaar Instant Buy price (lowest active sell offer).bzs("ITEM")/bzsell: Real-time Bazaar Instant Sell price (highest active buy order).bzm("ITEM")/bzmargin: Real-time Bazaar margin (bzb - bzs).lb("ITEM")/lowestbin: Real-time Lowest BIN auction price.lba("ITEM")/lowestbinavg: 3-Day Lowest BIN average price.npc("ITEM")/npcsell: Hypixel NPC shop sell price.motes("ITEM")/motessell: Rift Motes NPC sell price.price("ITEM"): Unified lowest price across Bazaar and BIN.sack("ITEM")/sackcount: Items stored in your sacks.
Skyblock Item List Integration:
- Added full support for [Skyblock Item List](https://modrinth.com/mod/skyblock-item-list)! The calculator now works directly inside Item List search bars.
- Added
enableItemListIntegrationtoggle in/calcconfig.
XP Milestone Tables & Active Perks:
- Added XP milestone and level difference calculators:
skillxp(lvl, [toLvl]),huntingxp(),runecraftingxp(),socialxp(), andcataxp(). - Added Slayer XP calculators:
slayerxp([boss], lvl),zombiexp(),wolfxp(),spiderxp(),emanxp(),blazexp(), andvampirexp(). - Added
perk("name")to check your active Heart of the Mountain and Heart of the Forest perk levels (e.g.perk(mining_speed)).
New Config GUI & Visual Position Editor:
- Rebuilt
/calcconfiginto a clean 2-tab screen with General Settings and a paginated Custom Variables Manager. - Added a visual positioning editor via
/calcpos(andEdit GUIin/calcconfig) with interactive dragging, screen alignment guides, and a quick reset button (§f§l⟲).
Parser & Performance Improvements:
- Split the parser into clean, modular parts (
ExpressionTokenizer,ExpressionParser,Token,ParseResult). - Fixed parser token leaks and stopped trailing leftover characters from causing issues in [PR #15](https://github.com/Rijzzz/NotEnoughCalculator/pull/15) by [@Spagles](https://github.com/Spagles).
- Cached reflection lookups in
REIHelperandReflectionUtilsto improve performance and prevent lag in [PR #15](https://github.com/Rijzzz/NotEnoughCalculator/pull/15) by [@Spagles](https://github.com/Spagles). - Synchronized custom variable loading and saving in [PR #15](https://github.com/Rijzzz/NotEnoughCalculator/pull/15) by [@Spagles](https://github.com/Spagles).
Code Improvements & Optimization:
- Centralized all UI colors, backgrounds, borders, and syntax highlighting into
ColorConstants. - Cleaned up inline code references across all files.
- Updated in-game interactive help (
/calchelp) with dedicated clickable pages. - Added comprehensive unit tests covering API providers, config, parser, tables, and renderers.
...and more! Check out the full changelog below for details on what else changed.
Special Thanks:
- Huge thanks to **Clyrix** for writing this changelog, updating documentation to reflect all the new stuff, and thoroughly testing v3.0.0 thanks to him, we were able to identify and fix many bugs before release!
Bug Reports:
- While this is an official release, there might still be some bugs waiting to be discovered. If you manage to find any, please report them on [GitHub Issues](https://github.com/Rijzzz/NotEnoughCalculator/issues/new) or on our [Discord](https://discord.gg/asPJ4qgs8q)!
Note: Most of the Skyblock API related features in v3.0.0 were suggested by AI and made with AI.
This release has some overkill stuff thats more than what users need. We already know that lol. Honestly, when making this version, we genuinely werent EVEN sure what we were thinking or what we were even doing with our lives lol.
We’re not saying sorry for this one xd
If you prefer a version without all the Skyblock API stuff or AI slop, which you most probably do, I know, I know. WHAT YOU GUYZ ARE THINKING, WE CAN HEAR YOU. You can use [v2.7.1](https://modrinth.com/mod/notenoughcalculator/version/2.7.1) instead.
Contributors:
- [@Rijzzz](https://github.com/Rijzzz)
- [@LazeXD](https://github.com/LazeXD)
- [@Spagles](https://github.com/Spagles) ([PR #15](https://github.com/Rijzzz/NotEnoughCalculator/pull/15): parser token leaks, custom variable persistence, and reflection caching)
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.7.1...v3.0.0
- Full Equation Copy Toggle**: Added a setting in
/calcconfigto enable or disable full equation copying (1+1 = 2). - Text Selection Fix**: Highlighting text with
Ctrl+Aor Shift+Arrows now copies your raw selected text (126.855m). - Compressed Icon**: Reduced
icon.pngsize by almost 90% (24.7 KB -> 2.4 KB).
...and more! Check out the full changelog below for details on what else changed.
By [@Rijzzz](https://github.com/Rijzzz) & [@LazeXD](https://github.com/LazeXD)
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.7.0...v2.7.1
Standalone Search Bar Mode:
- REI is now completely optional! Not Enough Calculator runs 100% standalone in gameplay-related screens or hooks into REI's search bar when installed.
Full Equation Copy & Cut:
- Pressing
Ctrl+CorCtrl+Xin the search bar now copies or cuts the full equation (e.g.100m - 50m = 50,000,000) to system clipboard when no text or full text is selected. Highlighting partial text copies/cuts only the selected snippet.
Chat Click-to-Copy Full Equations:
/calccommand and chat history outputs now feature click-to-copy that copies full equations (e.g.100m - 50m = 50,000,000) to clipboard with interactive/calccopyconfirmation feedback.
Advanced Keyboard Shortcuts:
- Added
Ctrl + Left/Rightword jumping,Ctrl + Backspace/Deleteword deletion,Home/Endcursor positioning, and full Numpad Enter support (GLFW_KEY_KP_ENTER).
Code Improvements:
- Refactored SkyBlock tax formulas, chat help text formatting, reflection utilities, and overlay rendering engine into dedicated helper classes.
Improvements & Fixes:
- Refined logger warning and error messages with clear context and full file paths.
- Removed unused localization keys in
en_us.json. - Updated settings GUI header title to
v2.7.0. - Added unit test coverage for standalone search field, selection bounds, key navigation, SkyBlock tax curves, and reflection helpers (337 total unit tests).
- Promoted v2.7.0-beta to official stable v2.7.0 release after testing and code cleanup.
All features and improvements in this release were contributed by [@Rijzzz](https://github.com/Rijzzz)
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.6.1...v2.7.0
Standalone Search Bar Mode:
- REI is now completely optional! Not Enough Calculator runs 100% standalone in inventory screens or hooks into REI's search bar when installed.
Full Equation Copy & Cut:
- Pressing
Ctrl+CorCtrl+Xin the search bar now copies or cuts the full equation (e.g.100m - 50m = 50,000,000) to system clipboard when no text or full text is selected. Highlighting partial text copies/cuts only the selected snippet.
Advanced Keyboard Shortcuts:
- Added
Ctrl + Left/Rightword jumping,Ctrl + Backspace/Deleteword deletion,Home/Endcursor positioning, and full Numpad Enter support (GLFW_KEY_KP_ENTER).
Improvements & Fixes:
- Refined logger warning and error messages with clear context and full file paths.
- Removed unused localization keys in
en_us.jsonand deleted empty provider package. - Added comprehensive unit test coverage for standalone search field, text selection math, and key navigation (333+ total unit tests).
All features and improvements in this release were contributed by [@Rijzzz](https://github.com/Rijzzz)
- Note:** This is a beta build released to gather feedback. It may contain issues, bugs, or other unexpected problems. Once fully tested, it will be re-released as a full release! If you do find any bugs or issues, please report them here: [Report Issues](https://github.com/Rijzzz/NotEnoughCalculator/issues/new)
- Chat Result Spacing Fix**: Added leading space to equal sign translation string (
" §f= ") so/calcchat outputs and interactive click-to-copy messages have clean spacing between expression and result ([NEC] 100 + 50 = 150). - Header Title Update**: Updated
/calcconfigsettings GUI header version title tov2.6.1.
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.6.0...v2.6.1
Live Syntax Highlighting:
- Numbers & Decimal values: Pure Bright White (
§f) - SkyBlock Units (
k,m,b,t,s,e,h,sc,dc,eb): Vibrant Cyan (§b) - Math Functions (
sqrt,bz,ah,fmt,rad,deg, etc.): Bright Yellow (§e) - Built-in constants (
ans,pi,e) and custom variables ($var): Bright Green (§a) - Math Operators (
+,-,*,x,/,^,%,!,&,|,~,<<,>>): Bright Gold (§6) - Delimiters & Parentheses (
(,),,): Light Gray (§7)
Custom Variables Manager GUI Tab:
- Added a new GUI tab in
/calcconfigto easily add, edit, delete, and paginate (</>) custom variables in-game.
Focus-Aware Search Bar Border:
- Search bar border dynamically switches to Pure Bright White (
0xFFFFFFFF) when actively typing/focused, and Unfocused Gray (0xFF8B8B8B) when unfocused.
Improvements & Fixes:
- Centralized all color codes in
SyntaxHighlighter.java. - Centralized math functions (
FUNCTIONS), unit multipliers (UNITS), and built-in constants (BUILTIN_VARIABLES) inExpressionEvaluator.java. - Token regex patterns in
SyntaxHighlighter.javaandCalculatorManager.javaare fetched dynamically fromExpressionEvaluator. Adding a new unit or function now updates evaluation, autocompletion, regex matching, and syntax highlighting. - Refactored
ResultFormatterto reuse cachedExpressionEvaluator.UNITSBigDecimalinstances, eliminating temporary object allocations during render loops. - Added new test coverage for syntax highlighting token rules (325+ total unit tests).
All features and improvements in this release were contributed by [@Rijzzz](https://github.com/Rijzzz)
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.5.0...v2.6.0
- Settings GUI Fix (
/calcconfig): Fixed/calcconfigcommand failing to open the settings screen in production builds by replacing non-remapped reflection string lookups with direct API calls. - Escape Key & Exit Flow: Fixed Escape key and Cancel button handling so closing the settings menu when opened from chat returns players smoothly back to gameplay.
- Heuristics & Typing Detection: Expanded
isExpressionComplete()heuristic regex inCalculatorManagerto cover all 26 supported functions (bz,ah,ahbin,fmt,hex,bin,oct,rad,deg, etc.), preventing premature error popups while typing. - Dependency & Version Updates: Updated target build for **Minecraft 1.21.11** with updated Fabric API (
0.141.6), REI (21.11.816), and ModMenu (17.0.1-beta.1).
New Features:
SkyBlock Tax Calculators:
bz(price)→ Calculates net Bazaar payout accounting for your configured Bazaar Flipper Perk level (Lvl 0 = 1.25%, Lvl 1 = 1.125%, Lvl 2 = 1.0%).ah(price, [hrs])→ Standard Auction net payout (5% listing fee + 1% claim tax + duration fee).ahbin(price, [hrs])→ BIN Auction net payout (1% <10m, 2% 10m-100m, 2.5% >100m + 1% claim tax + duration fee).
Standalone Shorthand Helper & Global Option:
fmt(x)→ Converts any number directly to SkyBlock shorthand (fmt(1500000)=1.5m).- Global
Shorthand Resultsconfig toggle to automatically format default calculation results in SkyBlock shorthand notation (1,500,000→1.5m).
Base Conversion Functions & Number Literals:
hex(x)(0xFF),bin(x)(0b1010), andoct(x)(0o77) functions.- Number Literals: Binary (
0b), Hexadecimal (0x), and Octal (0o) with underscore formatting (0b1010_0001= 161).
Bitwise Operators:
&(AND),|(OR),~(NOT),<<(Left Shift),>>(Right Shift), andxor(a, b)function.
Angle & Math Helpers:
rad(deg)°(rad)angle converters.avg(a, b, ...)(variadic average),pct(part, total)(ratio percentage),gcd(a, b)/lcm(a, b), andclamp(val, min, max).
Constants & Factorial:
pi(3.14159...) ande(Euler's number standalone vs enchanted unit2e).- Postfix factorial
!(e.g.5!= 120,10!= 3,628,800).
Redesigned Settings GUI (
/calcconfig): - Dark panel GUI with category headers, native Minecraft floating hover tooltips, Bazaar Flipper Perk selector pills (
Lvl 0,Lvl 1,Lvl 2), and global Shorthand Results toggle.
Interactive Click-to-Copy Chat Results:
- Blue
[NEC]prefix, green results (§a), and click-to-copy clipboard handling with hover tooltips.
Keyboard & UX Shortcuts:
Ctrl+Z/Cmd+Z(undo),Ctrl+Y/Cmd+Y(redo),Ctrl+C/Cmd+C(copy result), and Numpad Enter (GLFW_KEY_KP_ENTER) support.
Persistent Custom Variables:
- Custom variables set with
/calcsetautomatically save tonotenoughcalculator.jsonand persist across restarts.
Credits:
- A massive special thanks and appreciation to [@ninjaguardian](https://github.com/ninjaguardian) for authoring ([#10](https://github.com/Rijzzz/NotEnoughCalculator/pull/10)) and adding backport support for 1.21.11!
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v1.0.14...v2.5.0-Backport-1.21.11
Minecraft Version Notice: Officially supported for Minecraft 1.21.11. Works on 1.21.9 and 1.21.10 as well, but no official support or bug fixes will be provided for 1.21.9 or 1.21.10.
SkyBlock Tax Calculators:
bz(price)→ Calculates net Bazaar payout accounting for your configured Bazaar Flipper Perk level (Lvl 0 = 1.25%, Lvl 1 = 1.125%, Lvl 2 = 1.0%).ah(price, [hrs])→ Standard Auction net payout (5% listing fee + 1% claim tax + duration fee).ahbin(price, [hrs])→ BIN Auction net payout (1% <10m, 2% 10m-100m, 2.5% >100m + 1% claim tax + duration fee).- Exact 1h-336h duration fee schedule matching Hypixel SkyBlock math.
Standalone Shorthand Helper & Global Option:
fmt(x)→ Converts any number directly to SkyBlock shorthand (fmt(1500000)=1.5m).- Global
Shorthand Resultsconfig toggle to automatically format default calculation results in SkyBlock shorthand notation (1,500,000→1.5m).
Angle Conversion Helpers:
rad(deg)°(rad)→ Converts degrees to radians (rad(180)=3.14159...) and radians to degrees (deg(pi)=180).
Redesigned Settings GUI (
/calcconfig): - Dark panel GUI with colored category headers and native Minecraft floating hover tooltips on all settings.
- Added Bazaar Flipper Perk selector pills (
Lvl 0,Lvl 1,Lvl 2) and global Shorthand Results toggle.
Build Improvements: ([#9](https://github.com/Rijzzz/NotEnoughCalculator/pull/9)):
- Makes
fabric.mod.jsonuse the variables fromgradle.propertiesso it stays up to date, and declares ModMenu as alocalRuntimedependency so it's included inrunClient.
Expanded Test Suite:
- Test suite expanded to **320+ automated unit tests** covering all operators, functions, tax math, and heuristics.
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.4.1...v2.5.0
All features and improvements in this release were contributed by [@LazeXD](https://github.com/LazeXD), with result formatting scale fixes and config compliance tests by [@Rijzzz](https://github.com/Rijzzz), and build improvements/updates by [@ninjaguardian](https://github.com/ninjaguardian) ([#9](https://github.com/Rijzzz/NotEnoughCalculator/pull/9)).
- IMPORTANT:** Please switch to **v2.4.1** immediately if you downloaded v2.4.0!
Fixes & Changes:
- Fixed
fabric.mod.jsonFabric Loader dependency constraint (fabricloaderrestored to>=0.19.3to resolve startup compatibility crashes). - All v2.4.0 features (
hex(),bin(),oct(), bitwise operators&,|,~,<<,>>,xor, click-to-copy chat output, math helpers, persistent variables, and 26.1.x / 26.x support) are included.
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.4.0...v2.4.1
- DO NOT DOWNLOAD THIS VERSION (v2.4.0) - HAS STARTUP ERRORS!**
- Please download and use **[v2.4.1](https://modrinth.com/mod/notenoughcalculator/version/2.4.1)** instead!*
New features:
Base Conversion Functions: ([#8](https://github.com/Rijzzz/NotEnoughCalculator/issues/8)):
hex(x)→ Formats output in Hexadecimal:hex(255)=0xFFbin(x)→ Formats output in Binary:bin(10)=0b1010oct(x)→ Formats output in Octal:oct(63)=0o77
Bitwise Operators: ([#8](https://github.com/Rijzzz/NotEnoughCalculator/issues/8)):
&(AND),|(OR),~(NOT),<<(Left Shift),>>(Right Shift),xor(a, b)- Examples:
0b1010 & 0b1100=8,0x0F << 4=240,~0=-1
Interactive Click-to-Copy Chat Results: ([#8](https://github.com/Rijzzz/NotEnoughCalculator/issues/8)):
- Hover over
/calcresults in chat to see tooltip instructions. - Click the result text to instantly copy the unformatted number to your clipboard!
New Math Helper Functions: ([#8](https://github.com/Rijzzz/NotEnoughCalculator/issues/8)):
avg(a, b, c, ...): Calculate average of multiple numbers (avg(10, 20, 30)=20).pct(part, total): Calculate ratio percentage (pct(50, 200)=25).gcd(a, b)/lcm(a, b): Greatest common divisor and least common multiple.clamp(val, min, max): Restrict a number between bounds.
Persistent Custom Variables: ([#8](https://github.com/Rijzzz/NotEnoughCalculator/issues/8)):
- Variables created with
/calcsetare now automatically saved innotenoughcalculator.jsonand persist across game restarts!
Extended Minecraft Version Support: ([#8](https://github.com/Rijzzz/NotEnoughCalculator/issues/8)):
- Compatible with Minecraft 26.1, 26.1.1, 26.1.2, 26.2, and newer (Fabric API 0.144.0+, REI 26.1.818+, ModMenu 18.0.0+).
Full Version Backport & Support: ([#8](https://github.com/Rijzzz/NotEnoughCalculator/issues/8)):
- All features introduced in versions 2.0.1–2.3.0 (previously available only for Minecraft 26.2) can now be used on Minecraft 26.1, 26.1.1, 26.1.2, 26.2, or newer!
Expanded Test Suite: ([#8](https://github.com/Rijzzz/NotEnoughCalculator/issues/8)):
- Test suite expanded to **291+ automated unit tests** covering all operators, functions, and heuristics.
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.3.0...v2.4.0
All features/improvements in this release were contributed by [@LazeXD](https://github.com/LazeXD) ([#8](https://github.com/Rijzzz/NotEnoughCalculator/issues/8)).
NEU-Style
[NEC] Chat Prefix & Green Formatting ([#5](https://github.com/Rijzzz/NotEnoughCalculator/issues/5)):/calcchat outputs are now prefixed with a blue[NEC]tag (§9[NEC]) matching NEU calculator formatting.- Calculation results in chat are now displayed in green (
§a). - Example:
[NEC] 1+1 = 2
Number Literal Support ([#6](https://github.com/Rijzzz/NotEnoughCalculator/pull/6) by [@ninjaguardian](https://github.com/ninjaguardian)):
- Added support for Binary (
0b), Hexadecimal (0x), and Octal (0o) literals: - Binary:
0b1010= 10,0B1101= 13 - Hexadecimal:
0xFF= 255,0xa1b= 2587 - Octal:
0o77= 63,0o511= 329 - Underscores allowed between digits:
0b1010_0001= 161 - Full arithmetic & function support:
0b10 + 0xA + 0o10= 20,sqrt(0x64)= 10
``
[NEC] 1+1 = 2
[NEC] 0b1010 = 10
[NEC] 0xFF = 255
[NEC] (0b1101! - 0o6_6^0x5) % 0XAaA0B = 607244
`
Improvements & Fixes:
- Added [@ninjaguardian](https://github.com/ninjaguardian) to
fabric.mod.json contributors list.Enforced strict token adjacency to prevent spaced inputs (e.g. 0 b10) from misparsing.Strict out-of-range digit validation (e.g. 0b102 or 0o78 properly throws an invalid number error).Added /calchelp operators` entry for number literals.- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.2.0...v2.3.0
- Added
piconstant (3.14159265...) for use in any expression. - Added
econstant (Euler's number, 2.71828182...) with smart conflict resolution: - Standalone
eoreafter an operator = Euler's number eafter a number (e.g.2e,5e) = Skyblock enchanted unit (160), same as before
``
pi * 2 = 6.283...
e^2 = 7.389...
2e = 320 (still enchanted unit)
ln(e) = 1
`
- Added factorial
! operator (postfix):`
5! = 120
10! = 3,628,800
(3+2)! = 120
`
- Factorial is limited to non-negative integers up to 1000.
Bug fixes & code quality:
- Fixed
/calcset evaluating the expression twice (causing duplicate history entries).Fixed isExpressionComplete() regex only checking 5 of 12 functions (was missing log, ln, sin, cos, tan, min, max).Fixed Ctrl+C shortcut missing from /calchelp output.Removed redundant searchField2 variable in Ctrl+C handler.Removed dead sessionResetNotified field and methods from CalculatorManager.
Documentation:
- Updated
/calchelp operators to include factorial.Updated /calchelp variables to show pi and e as built-in constants.Updated /calchelp functions to include factorial examples.Updated README, Modrinth, and CurseForge descriptions with new features and examples.
Tests:
Added 21 new test cases for pi, e, and factorial (including edge cases).
Added new CalculatorManagerTest with 30+ test cases for looksLikeCalculation()` heuristic.Full Changelog: https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.1.0...v2.2.0
Math engine & function additions:
- Added new math functions:
log(x)(base-10),ln(x)(natural log),sin(x),cos(x),tan(x)(evaluates in degrees),min(a,b), andmax(a,b). - Added implicit multiplication support for expressions like
2(3+4),(3)(4),2sqrt(4),3log(100),5min(10,20), and10k(2+3). - Added smart percentage operator: standalone percentages (
10%= 0.1) and additive/subtractive percentage calculations (100 + 10%= 110,200 - 25%= 150). - Disambiguated adjacent
%(percentage) from spaced%(modulo operator).
Arbitrary precision & formatting fixes:
- Fixed floating-point precision loss on large 30+ digit calculations by replacing
DecimalFormatwith a pureBigDecimalstring comma formatter (insertCommas).
REI Search Bar & UX improvements:
- Added scissor bounds clipping (
enableScissor) to prevent search field text overflow. - Added dynamic horizontal text scrolling for Left/Right arrow key navigation inside long expressions.
- Rendered overflow calculation results in an auto-expanding floating box with smooth ping-pong marquee scrolling (
searchBounds.y - 14). - Fixed
StringIndexOutOfBoundsExceptioncrash in REI by reflectively clamping cursor and selection pointers on text updates (clampSearchField). - Added
Ctrl+C/Cmd+Cshortcut in REI search field to copy unformatted calculation results directly to system clipboard. - Added Numpad Enter (
GLFW_KEY_KP_ENTER) and Mac Command key support for shortcuts.
GUI & Settings updates:
- Integrated
/calcconfigcommand andModMenuto open the native Minecraft GUI screen directly (CalculatorConfigScreen).
Localization & Cleanup:
- Audited
en_us.json: removed non-standard emojis, deleted 15 stale unused translation keys, and localized all help menus and configuration screens. - Expanded automated test suite to 128 passing JUnit 5 unit test cases.
Full Changelog: https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.0.1...v2.1.0
- Updated Minecraft version target to 26.2, Fabric Loader to 0.19.3, and REI to 26.2.820.
- Updated Gradle wrapper to 9.5.0 and CI build target to Java 25.
Configuration & formatting fixes:
- Fixed
enableCommaFormattingconfig option inResultFormatterso turning off comma formatting returns plain numbers as intended. - Removed unused
enableAutoCompleteoption fromCalculatorConfig.
General fixes & metadata updates:
- Corrected relicense version transition in
NOTICE.md. - Updated metadata in
fabric.mod.json, updated source URL, and added [@kaori-23](https://github.com/kaori-23) as a contributor. - Cleaned up stale comments in
CalcCommandsandNotEnoughCalculatorClient.
- Full Changelog:** https://github.com/Rijzzz/NotEnoughCalculator/compare/v2.0.0...v2.0.1
- Updated the mod to support Minecraft 26.2, 26.1.2, 26.1.1, 26.1, and upcoming 26.x releases. ([#4](https://github.com/Rijzzz/NotEnoughCalculator/issues/4))
- Replaced deprecated rendering and API components with Mojang mapped equivalents (e.g. using GuiGraphicsExtractor, Font, AbstractContainerScreen, and Matrix3x2fStack).
Handled the Minecraft 26.2 screen field relocation dynamically:
- Added a reflection-based helper to fetch the active screen from either the Minecraft instance (26.1) or the Gui subclass (26.2+).
- Cached the reflection fields and methods to prevent performance overhead and eliminate render-thread lag.
Improved localization and styling:
- Moved help page content, command syntaxes, and the inline "=" display prefix to en_us.json.
- Replaced all hardcoded string messaging with translatable components.
- Fixed overlay result text color to be white (§f) in both the inline layout and tooltip overlay.
- Cleaned up a lot comments across the codebase.
- Important:** Support for **1.21.9 – 1.21.11** is coming to an end and these versions are no longer actively supported.
- Full Changelog**: https://github.com/Rijzzz/NotEnoughCalculator/compare/v1.0.14...v2.0.0
- Updated license from **ARR** to **LGPL-3.0-or-later**.
- No functional or content changes.
- This might just be the last update for Minecraft 1.21.9; no new features will be added.**
- Updated license from **ARR** to **LGPL-3.0-or-later**.
- No functional or content changes.
- This is the last update for Minecraft 1.21.8; no new features will be added.**
- Updated license from **ARR** to **LGPL-3.0-or-later**.
- No functional or content changes.
- This is the last update for Minecraft 1.21.5 – 1.21.7; no new features will be added.**
- Fixed Enter key behavior in REI (single press works, focus retained, result inserted)
- Enabled calculator usage on REI recipe screens
- Allowed REI screens in
isNonGameplayScreen() - Fixed
xoperator tokenization for unit multiplication
- Expressions like
10kx50kand18x10now evaluate correctly - Variable names containing
xremain unaffected
- Full Changelog**: https://github.com/Rijzzz/NotEnoughCalculator/compare/v1.0.0...v1.0.11 ([<span style="color:#3598DB;">#2</span>](https://github.com/Rijzzz/NotEnoughCalculator/issues/2))
- Fixed Enter key behavior in REI (single press works, focus retained, result inserted)
- Enabled calculator usage on REI recipe screens
- Allowed REI screens in
isNonGameplayScreen() - Fixed
xoperator tokenization for unit multiplication
- Expressions like
10kx50kand18x10now evaluate correctly - Variable names containing
xremain unaffected
- Full Changelog**: https://github.com/Rijzzz/NotEnoughCalculator/compare/v1.0.0...v1.0.10 ([<span style="color:#3598DB;">#2</span>](https://github.com/Rijzzz/NotEnoughCalculator/issues/2))
- Fixed Enter key behavior in REI (single press works, focus retained, result inserted)
- Enabled calculator usage on REI recipe screens
- Allowed REI screens in
isNonGameplayScreen() - Fixed
xoperator tokenization for unit multiplication
- Expressions like
10kx50kand18x10now evaluate correctly - Variable names containing
xremain unaffected
- Full Changelog**: https://github.com/Rijzzz/NotEnoughCalculator/compare/v1.0.0...v1.0.9 ([<span style="color:#3598DB;">#2</span>](https://github.com/Rijzzz/NotEnoughCalculator/issues/2))
- Full Changelog**: https://github.com/Rijzzz/NotEnoughCalculator/compare/v1.0.0...v1.0.8 ([<span style="color:#3598DB;">#2</span>](https://github.com/Rijzzz/NotEnoughCalculator/issues/2))
- Full Changelog**: https://github.com/Rijzzz/NotEnoughCalculator/compare/v1.0.0...v1.0.7 ([<span style="color:#3598DB;">#2</span>](https://github.com/Rijzzz/NotEnoughCalculator/issues/2))
- Full Changelog**: https://github.com/Rijzzz/NotEnoughCalculator/compare/v1.0.0...v1.0.6 ([<span style="color:#3598DB;">#2</span>](https://github.com/Rijzzz/NotEnoughCalculator/issues/2))