A production cost calculator for Minecraft items. It records farming/crafting sessions, calculates the production cost of each item using proportional allocation, and compares it with market prices to identify what is worth selling.
Item registration with support for:
- Regular and enchanted items (linked to a base item)
- Composite items (crafted from other items)
- Crafting recipes (ingredients and quantities)
- Preferred price source: market, custom price, or recipe
Manual registration of each item's market price, including update date and notes.
Equipment registration with total uses (durability). Used to calculate depreciation per session.
Each technique represents a farming or crafting method (e.g., mining, fishing, blaze farm). The melt value — value generated per hour of work — is configured globally in the Techniques tab and used by all techniques.
Recording of gameplay sessions per technique, including:
- Duration
- Items gained (income) and consumed (expenses)
- Equipment used (uses per session)
Calculates production prices for a technique based on the average of recorded sessions:
- Total value = average time × global melt
- Expense cost = sum of consumed items × effective price
- Depreciation = average equipment usage × (price / total uses)
- Remaining value = total value − expenses − depreciation
- The remaining value is distributed among gained items via proportional allocation, with saturation at market price (no item receives a suggested price higher than the market)
Calculated custom prices can be saved and used as input costs in other techniques. A technique never uses its own calculated prices as input (no circular dependency).
Displays items with saved custom prices that can be sold for profit (production price ≤ market price). Automatically updates when prices are saved in the Calculator.
- Qt 6 (Core, Gui, Widgets, Sql)
- CMake 3.16+
- C++17 compiler
- SQLite (included with Qt)
mkdir build && cd build
cmake ..
make -j$(nproc)The database (minepricecalc.db) is automatically created in the same directory as the executable on first run.
| File | Description |
|---|---|
models.h |
Data structs (Item, Session, Technique, etc.) |
database.h/cpp |
SQLite access and calculations |
mainwindow.h/cpp |
Main window with tabs |
itemswidget |
Items management tab |
marketpriceswidget |
Market prices tab |
equipmentwidget |
Equipment tab |
techniqueswidget |
Techniques tab |
sessionswidget |
Sessions tab |
calculatorwidget |
Price calculator tab |
selllistwidget |
Sell list tab |
