Bring the power of calculation to your Minecraft chat with CalcMod! Enjoy features from simple calculations to advanced tools for optimizing gameplay.
|/calc 3+(28/8)^2|
|:-:|
||
|/calc craft piston 3 sb|
|:-:|
||
|/calc nether ~ ~ ~|
|:-:|
||
Click any green text to copy it to your clipboard!
# 🔄 Compatibility
CalcMod supports [Fabric](https://fabricmc.net), [Forge](https://files.minecraftforge.net/net/minecraftforge/forge/), [Quilt](https://quiltmc.org/en), and [Paper](https://papermc.io/) mod loaders, down to Minecraft version 1.12.
CalcMod can be installed on **both the client and server**, and also works on clients **without requiring servers to have the mod** (and vice versa.)
# ✅ Features:
See a few examples in [gallery](https://modrinth.com/mod/calcmod/gallery)
🔢 Simple Calculator
An intuitive calculator with some handy variables. To see a list of variables run /calc variables.
Supported Operators
| **Symbol(s)** | **Syntax** | **Operation** |
|:-------------:|:----------:|:----------------------:|
| + | a+b | Addition |
| – | a–b | Subtraction |
| * , × , ∙ | a*b | Multiplication |
| / , : , ÷ | a/b | Division |
| ^ | a^b | Exponentiation (power) |
| ! | n! | Factorial |
| # | a#b | Modulo |
| % | x% | Percentage |
| ^^ | a^^b | Tetration |
| √ | √x | Square root |
| ∛ | ∛x | Cube root |
| ∜ | ∜x | Fourth root |
> CalcMod has some more advanced functions and variables that can be used within expressions in [this spreadsheet](https://docs.google.com/spreadsheets/d/1L3jCFO6ZiUymXbRJKOJIWGpcOQjfvU3TpCcFPeUJDNA/edit?usp=sharing).
>Usage: ```/calc ```
📦 Storage Utils
When given a rate of items per hour *(expressions allowed)*, returns the minimum number of item sorters needed to sort in time.
Additional input for multiple times hopper speed sorters, and a separate command for Allay based non stackable sorters.
>Usage: ```/calc storage ```
>Usage: ```/calc storage ```
>Usage: ```/calc allaystorage ```
🛠️ Crafting Utils
When given an amount of a recipe to craft *(expressions allowed)*, returns all the items required to craft that quantity of the recipe.
**(CalcMod 1.3.2+)** The optional depth argument specifies how many levels of recursive crafting to perform on the recipe. Default depth is 1.
**(Minecraft 1.21.3+)** Due to Minecraft's crafting system updates, CalcMod's craft command can now only use recipes unlocked in the user's recipe book in single player mode.
>Usage: ```/calc craft ```
>Usage: ```/calc craft ```
🌐 Portal Linking Coords
When given a block position, returns the dimension in the command's corresponding coordinates. If no coordinates are given, command assumes current player position.
>Usage: ```/calc nether ```
>Usage: ```/calc overworld ```
🌾 Farm Rates Calculator
When given an amount of items and a farm run time in seconds *(expressions allowed)*, returns the items per hour of the farm.
>Usage: ```/calc rates ```
🎲 Generate Random Number
When given a maximum and/or minimum value, returns a random number between those values (inclusive). If just a maximum value is entered, picks a random number from 0 to the max value (inclusive).
>Usage:```/calc random ```
>Usage: ```/calc random minmax ```
💪 Comparator Power Level Finder
When given a container and a desired comparator power level *(expressions allowed)*, returns the number of items needed to achieve that power level.
>Usage: ```/calc signaltoitems ```
🐷 Piglin Bartering Utils
Calculates the average number of gold ingots needed to barter for a specific quantity of a desired item *(togold)*, or the average number of a desired item received when bartering a specific number of gold ingots *(toitem)*.
>Usage: ```/calc barter togold ```
>Usage: ```/calc barter toitem ```
🧭 Travel Distance Evaluator (New!)
When given two block positions, returns the distance between them. If only one position is given, uses player's location. The 3D mode provides distance including height *(y coord)*.
>Usage: ```/calc dist ```
>Usage: ```/calc dist ```
>Usage: ```/calc dist 3d ```
>Usage: ```/calc dist 3d ```
🧮 Custom Functions
Custom functions are reusable commands that perform a specific computation. Custom functions can be run in any number field formatted with the function name and its parameters in parentheses ```functionName(, ...,)```.
**Creating a Function:**
Custom functions can have any number of parameters, specified in [square] brackets when adding a function.
|⚠️ Using any numbers, special characters, or variables in a parameter may result in a broken function.|
|:-:|
e.g. ```/calc custom add blockstoingots [numBlocks]*9```
| /calc blockstoingots(72) |
|:-:|
|  |
>Usage: ```/calc custom add ```
>Usage: ```/calc custom run ```
>Usage: ```/calc ()```
>Usage: ```/calc custom list```
>Usage: ```/calc custom remove ```
### ➡️ Converters:
Shulker Boxes ↔ Items
When given an amount of full shulker boxes *(expressions allowed)*, returns the number of items they contain, or vice versa.
>Usage: ```/calc itemtosb ```
>Usage: ```/calc sbtoitem ```
Items ↔ Stacks:
When given an amount of stacks *(expressions allowed)*, returns the number of items in those stacks, or vice versa.
>Usage: ```/calc itemtostack ```
>Usage: ```/calc stacktoitem ```
Seconds → Hopper Clock Items
When given a time in seconds *(expressions allowed)* returns the number of items to put in a hopper clock to achieve that time.
*Uses formula and hopper clock from [hoppertimer.net](https://hoppertimer.net/).*

>Usage: ```/calc secondstohopperclock ```
Seconds → Repeater Delay
When given a time in seconds *(expressions allowed)*, returns the number of repeaters and their delays to achieve that time.
> Usage: ```/calc secondstorepeater ```