Schemventory is a Windows application for creating and tracking Minecraft material lists from schematic files.
It reads supported schematic formats, resolves block states into inventory materials and helps track what has already been collected, what is still missing and which materials have been replaced or ignored.
- Read Litematica
.litematicfiles - Read Sponge Schematic v2 and v3
.schemfiles - Generate material lists from schematic contents
- Track required, collected and remaining material amounts
- Enter collected amounts in stacks and blocks
- Mark materials as missing, collected, replaced or ignored
- Replace a required material with another Minecraft item
- Search available Minecraft items when selecting replacements
- Use virtualised and debounced item search when selecting replacement materials
- Reset a replacement back to the original material
- Filter the material list by state
- Sort materials by state and required amount
- Virtualise material rendering to keep large material lists responsive
- Persist projects and material progress with SQLite
- Display rendered Minecraft item and block icons
- Respect each item's maximum stack size
- Cache item metadata and rendered icons in memory and on disk
- Revalidate cached item metadata and avoid unnecessary repeated downloads
- Cache missing icon lookups to reduce repeated failed requests
| Format | Support |
|---|---|
Litematica .litematic |
Supported |
Sponge Schematic v2 .schem |
Supported |
Sponge Schematic v3 .schem |
Supported |
Each project material can be in one of four states:
| State | Description |
|---|---|
| Missing | The material is still required. |
| Collected | The required amount has been collected. |
| Replaced | The original material has been replaced with another Minecraft item. |
| Ignored | The material is excluded from collection statistics. |
Collected amounts can be adjusted using stacks and individual blocks, so values do not have to be converted manually.
For example:
1 Stack + 24 Blocks
Schemventory uses the selected item's maximum stack size when calculating collected and remaining amounts.
Required materials can be replaced with another Minecraft item while keeping the original schematic material stored separately.
For example:
Oak Planks
↓
Spruce Planks
The replacement dialog provides a searchable, virtualised item list with item IDs, stack-size information and an icon preview.
The search is debounced to avoid unnecessary filtering while typing.
A replacement can also be reset to restore the original material.
Schemventory resolves schematic block states into the corresponding inventory materials.
The resolver includes handling for cases such as:
- doors and beds
- double-height plants
- potted plants
- candle cakes
- wall signs and hanging signs
- wall banners
- wall skull and head variants
- wall coral fans
- crops
- cauldrons
- farmland and dirt paths
- other block-to-item mappings
Blocks that do not represent collectable build materials, such as air, fluids, portals and fire, are excluded.
Projects are stored locally in SQLite.
Stored project data includes:
- project name
- schematic path
- creation and last-opened timestamps
- required material amounts
- collected amounts
- material states
- replacement material IDs
Schemventory uses item metadata from misode/mcmeta to determine Minecraft item stack sizes and populate the replacement-material list.
Item metadata is stored in a compact local cache. Cached metadata is reused between sessions and periodically revalidated to avoid unnecessary downloads.
Rendered item and block icons are provided by blockrender.dev and cached both in memory and on disk to avoid repeated downloads and repeated image decoding.
Missing icon lookups are also cached temporarily so unavailable renders are not repeatedly requested.
The material list uses virtualised rendering so only the material controls currently visible in the viewport are kept active.
Controls are recycled while scrolling instead of recreating the complete list. Item metadata and icon loading can be cancelled when a control is rebound, preventing unnecessary background work during fast scrolling.
Rendered icons are additionally cached in memory once decoded, which reduces repeated disk reads when scrolling back to previously displayed materials.
Schemventory is built with:
- C#
- .NET 10 for Windows
- Windows Forms
- Guna.UI2.WinForms
- Microsoft.Data.Sqlite
- fNbt
Clone the repository:
git clone https://github.com/PIN0L33KZ/Schemventory.gitOpen Schemventory.slnx in Visual Studio, restore the NuGet packages and build the project.
Schemventory targets net10.0-windows and requires Windows.
Schemventory uses or integrates resources from:
misode/mcmetafor Minecraft item metadatablockrender.devfor rendered Minecraft item and block icons- Icons8 as a provider for icons used in the application
- Create or open a project.
- Select a supported schematic file.
- Let Schemventory generate the material list.
- Track collected resources as you gather them.
- Adjust collected amounts in stacks and blocks when needed.
- Replace or ignore materials where appropriate.
- Use the material-state filters to focus on the resources relevant to you.
The application is organised around separate readers, services, data models, forms and controls.
Schemventory/
├── App/
├── Controls/
├── Data/
├── Forms/
├── Interfaces/
├── Properties/
└── Services/
Schematic readers produce block-state data, which is resolved into inventory materials and then persisted as project materials for display and tracking in the Windows Forms UI.
Schemventory is an independent project and is not affiliated with or endorsed by Mojang Studios or Microsoft.