Skip to content

Releases: ncolyer11/S2RM

S2RM v1.3.3

03 Apr 17:23
Compare
Choose a tag to compare

Download S2RM v1.3.3: Windows | Linux

New Features

  • Version Selection: A new menu has been added letting you select or enter a specific version of the game to create the raw materials table from:

If you try to enter an invalid version you will get an error (below left), but you can try forcing a version if you believe it's valid like so (e.g. an april fools snapshot) (below right):

You can enter latest, and snap or snapshot to download the latest release and snapshot versions, respectively.

Upon loading the program, the user will also be prompted to update their raw materials table if a new version of Minecraft has come out.
And they will also be notified if a new version of S2RM itself comes out.

Note, these notifications will only show once if a user declines them (this preference can be reset in settings though).

The S2RM version link just takes you to the latest releases page for S2RM on Github, but the new Minecraft version will actually download, process, and store the recipe and item data for the latest version once you click 'yes'.

But yea the biggest thing about all this, is now the process of creating a raw materials list for every item, block, and entity in the game for any version has now been fully automated, with 2 big caveats:
- File structure changes significantly throughout the versions, and currently I only have navigation support for 1.21.4+ (lowest version I've tested that works)
- There honestly isn't even that many crafting changes between versions, maybe copper trapdoors, and lodestones but recipe changes are few and far between, so this was more of just a personal challenge for me to implement using GET and scraping, apis, parsing tools, etc.

  • Loading Bar: A loading bar now appears when importing and processing .litematica and/or material list .csv/.txt files.
    image
    And with this, the listed selected files at the top is now properly truncated and shows the number of additional files selected.
    In the future I'll add a tooltip to this to display even more of them.

  • Multi-item Blocks: The materials table now directly stores recipes for every valid block in the game, including some that are composed of multiple items such as filled cauldrons and candle cakes.

  • Console Log: The console/terminal will now display with the program when you open it:
    image
    This was done to show important information such as download and version status, logs, errors, etc. In a perfect world this would all be part of the GUI somehow, but for now this will do.

A Few Bug Fixes

  • Ice type buttons get switched around when importing material_table.json files
  • Fixed json version 8 files not opening properly from versions 1.3.0 and 1.3.1. I'll fully fix porting in 1.3.4, but it seems to be good for now just as long as you update to 1.3.3
  • End crystal entities weren't getting decomposed into raw materials properly
  • Filled cauldrons and candle cakes weren't showing up on the input items table
  • Collected item checkboxes not saved properly to json/csv
  • CSV headers not correct on export
  • Added debug config.json menu option under 'View'
  • Selected file processing time is mistimed
  • Names of exported json and csv files are the same regardless of the selected input file - should have some relevancy to the names
  • Various import errors with older recipe-graph construction modules
  • Sugar recipe requires expensive honey bottles instead of sugar cane

There's also been a metric f**k-ton of refactoring done to all the code which took around 70% of the time for this update, along with me switching to working on WSL which caused it's own set of problems but I'm trying to optimise my workflow rn so a bit of hurt in growth is expected.

Windows Defender Workaround: For those struggling to get this to run on Windows due to Windows Defender, see how to whitelist the program in the README.md.

Downloads

Apologies for the large file size, I'm really not sure what I'm doing wrong with PyInstaller, especially on Linux. Would appreciate some help with lowering this.

Feedback and Contributions

I welcome any feedback so please report any issues or suggestions on this release or contact me on discord.
E.g. if anyone wants to turn this into a website feel free, ik .exe's can be scary.

S2RM v1.3.2

05 Mar 09:50
Compare
Choose a tag to compare

Download S2RM v1.3.2 Here

New Features

  • Added Reading Gear + Enchantments from Entities: For some enchantments on certain pieces of gear, we include them in the materials list if they are deemed useful, and hence intentional. These include:
    • Sharpness V on swords and axes, used in villager conversion.
    • Frost walker II on boots, used on armour stands to generate moving water sources.
    • Looting III on swords, for TNT looting.
  • Dual Tables: The input and raw material-related columns have now been split off into their own tables for clarity. Each now has its own scroll bar, and in the future they'll also have their own search bar too!
  • A Few Bug Fixes:
    • Netherite gear wasn't getting broken down into base material + addition item.
    • Armour trims didn't include the other ingredients required to duplicate them.
    • Bundles and light block recipes didn't exist.
    • Stripped logs and carved pumpkins were considered raw materials.
    • Enderdragon cost 4x less end crystals than it should have.
  • Windows Defender Workaround: For those struggling to get this to run on Windows due to Windows Defender, see how to whitelist the program in the README.md.

Download

See attached .exe file below:

Feedback and Contributions

I welcome any feedback so please report any issues or suggestions on this release or contact me on discord.
E.g. if anyone wants to turn this into a website feel free, ik .exe's can be scary.

Armour trim raw materials definition (an odd one as it requires itself in the recipe):

Wow this stuff's expensive!

S2RM v1.3.1

04 Mar 17:36
Compare
Choose a tag to compare

Download S2RM v1.3.1 Here

New Features

  • Extensive Entity Raw Materials Support: WDYM? Well, now the program:
    • Breaks down golems, the Wither, and the Ender Dragon, into the items it takes to spawn one in.
    • It scans the inside of container entities such as hopper minecarts and chest boats.
    • It checks the inside of item frames and if a lead is attached to an entity.
    • It checks the name of falling blocks.
    • The headgear of mobs.
    • End crystals, fish (--> buckets), but it does skip items (usually these aren't purposefully left in a schematic).
  • A Few Bug Fixes:
    • HOTFIX: Raw material names would show as input materials.
    • Item counting inside inventories didn't account for varying 'count' and 'Count' fields, same with 'Item' and 'Items'.
    • Enderdragon cost 9x more end crystals than it should've as each of its hitboxes were being counted as separate entities.
    • Wall hanging signs were being set to just normal signs
    • Boats weren't assigned a wood type.
    • Music discs and fragments with numbers in them were getting filtered out.
    • Certain blocks with no item form weren't included in the raw_materials_table.json (e.g. end gateways, frosted ice).
    • Total inputted schematic/material list files didn't show cut off amount.
    • Entities would brick the program counter as they aren't included in the raw_materials.json file.
    • Raw material search bar just wasn't having it.

Note: backporting on this version is untested so maybe wait for the next release before trying to open old material table json's.

Download

See attached .exe file below:

Feedback and Contributions

I welcome any feedback so please report any issues or suggestions on this release or contact me on discord.
E.g. if anyone wants to turn this into a website feel free, ik .exe's can be scary.

S2RM v1.3.0

04 Mar 09:47
Compare
Choose a tag to compare

Download S2RM v1.3.0 Here

New Features

  • .litematic, Entity, & Container Items Support: Can now drag and drop a .litematic file directly into the program, which stores a lot more information than just a material_list.csv/txt, and it'll count up all the entities, deduce if they're craftable--similiar, or not, and also look inside any containers in your schematic too and include those items.
  • Variable Stack Sizes: Numerous bug fixes to do with 16 and non-stackable items not breaking down into the correct amount of shulker boxes + stacks, also numerous bug fixes in this regard with some blocks not combining.

There was a lot of refactoring done in this release too.

Upcoming

  • Input materials search bar as well as the current raw materials one (see the branch, it's a bit tricky).
  • User-defined raw materials list/config.
  • Web version??

Download

See attached .exe file below:

Feedback and Contributions

I welcome any feedback so please report any issues or suggestions on this release or contact me on discord.
E.g. if anyone wants to turn this into a website feel free, ik .exe's can be scary.

S2RM v1.2.0

01 Mar 16:52
Compare
Choose a tag to compare

Download S2RM v1.2.0 Here

New Features

  • Shulker Box & Stack Quantities in Input: Now, when entering material quantities, the "exclude shulker box and stack" format remains persistent. Previously, values like 2s would convert to 128, but now they stay in their original format.
  • Dark Mode + Style Improvements: Updated the dark mode theme with rounder icons and higher contrast. This also fixes a bug where white elements occasionally appeared in tables.
  • Multiple Material Lists Input: You can now input multiple material lists at once, whether in .txt or .csv format, to generate a combined materials list.
  • Massively Enhanced Search Functionality:
    • Support for multiple search terms by separating them with commas.
    • Added regex support to the search bar for advanced filtering.
  • material_table.json Forward Compatibility: Added forward-porting support for material table JSON versions 3 to 7. This ensures older material tables remain compatible and usable with newer versions.

Upcoming

  • Input materials search bar as well as the current raw materials one.
  • Input a .litematic directly, and materials list file input will be drag & drop too or click to open file explorer.
  • User-defined raw materials list/config.
  • Web version??

Download

See attached .exe file below:

Feedback and Contributions

I welcome any feedback so please report any issues or suggestions on this release or contact me on discord.
E.g. if anyone wants to turn this into a website feel free, ik .exe's can be scary.

not as scary as light mode though...

S2RM v1.1.1

01 Mar 02:47
Compare
Choose a tag to compare

S2RM: Schematic to Raw Materials - v1.1.1 Release

New Features

  • Export CSV's: Export all the data in the materials table to a csv to do whatever else you want with it.
  • Open Material List.csv's: The program can now handle litematica material lists in both the rich text .txt format and its .csv format, with thorough error checking for validating the format of each input file type.
  • Generate New Raw Material Lists from just a .json: Now you can regenerate a raw materials list from a saved .json file of the materials table, without needing the original litematica materials list.txt/.csv file, meaning you can more conveniently share raw material lists now.
  • Materials Table.json Backporting: The raw_materials.json version has been updated to v4, but it now has support for handling older raw_materials.json still using version v3 (but not below that; v2, or 'not specified').

Download

See attached .exe file below:

Feedback and Contributions

I welcome any feedback so please report any issues or suggestions on this release or contact me on discord.
E.g. if anyone wants to turn this into a website feel free, ik .exe's can be scary.

S2RM v1.1.0

28 Feb 17:08
Compare
Choose a tag to compare

S2RM: Schematic to Raw Materials - v1.1.0 Release

New Features

  • Exclude Materials: Skip calculating the raw materials cost for some of the items you already have!
  • More Versatile Save Format: Material table json files are a lot more robust now and work with any number of columns of the table filled, and have a version verification system that may support back-porting of varying material table versions in the future.

How to Exclude Items from the Materials List

If you already have all or some of a final material, you can specify the amount you have in the 'Exclude' column by typing in any number of items and also stacks and shulker boxes by using the suffixes 's' and 'sb' respectively.

e.g. here's a list of examples of possible exclude item quantity input, and the actual amount:

        ("1s 2Sb 3 4S 5sb", 12419),
        ("1 ", 1),
        ("2s", 128),
        ("3sb ", 5184),
        ("1s1s1s", 192),
        ("1sb1sb1sb", 5184),
        ("1 2 3", 6),
        ("1S 2sb 3", 3523),
        ("1 2s 3sb", 5313),
        ("", -1),
        ("0s", 0),
        ("0sb", 0),
        ("0", 0),
        ("1a", -1),
        ("1-", -1),
        ("1#", -1),
        ("1 s b", -1),
        ("1 ss", -1),
        ("1 sss", -1),
        ("1s 2b", -1),
        ("1s 2s 3x", -1),
        ("1s 2s 3-", -1),
        ("a1s", -1),
        ("1s a", -1),

Note a value of -1 means you didn't match the format and will result in 0 items being excluded for that item type.

Download

See attached .exe file below:

Feedback and Contributions

I welcome any feedback so please report any issues or suggestions on this release or contact me on discord.
E.g. if anyone wants to turn this into a website feel free, ik .exe's can be scary.

S2RM: Schematic to Raw Materials v1.0.0

28 Feb 11:13
Compare
Choose a tag to compare

S2RM: Schematic to Raw Materials - v1.0.0 Release

I'm happy to announce the initial release of S2RM (Schematic to Raw Materials), a tool designed to streamline your Minecraft building projects. Say goodbye to tedious manual calculations or guesswork, and hello to efficient resource gathering.

What is S2RM?

S2RM takes your Litematica-generated material list (.txt files) and processes it to provide a comprehensive breakdown of the raw materials needed for your schematics. It empowers you to:

  • Optimise resource gathering: Know exactly how many raw materials you need to gather before starting your build.
  • Efficiently manage materials: Easily track collected resources with built-in checkboxes.
  • Save & load your raw material lists: Preserve your material lists and collected progress for future sessions.

Key Features

  • Material List Processing: Converts Litematica material lists (.txt files) into raw material requirements.
  • JSON Support: Open and save material lists in JSON format.
  • Output Options: Choose between displaying materials in ingots or blocks.
  • Ice Type Selection: Select outputting ice type blocks as normal ice, or maintain the original type.
  • Collected Material Tracking: Checkboxes to track collected materials.
  • Search Functionality: Filter materials by name for easy navigation.
  • Quantity Formatting: Displays quantities in shulker boxes, stacks, and individual items for clarity.
  • Dark Mode/Light Mode: Toggle between dark and light themes for comfortable viewing.
  • User-Friendly Interface: Intuitive design for easy operation.
  • Raw Materials Table Generation: Included scripts for generating the master raw materials table from game recipe data. (Graphs, recursion, and more!)

How to Use

  1. Select Material List File: Browse and select your Litematica material list (.txt or .json).
  2. Process Materials: Click "Process" to generate the raw material list.

And optionally:

  • Track Collected Items: Use the checkboxes to mark collected materials.
  • Choose Output Type: Select "Ingots" or "Blocks" for material display.
  • Choose Ice Type: Select outputting all ice type blocks as normal ice, or maintain the original type.
  • Search: Use the search bar to filter materials.
  • Save/Open JSON: Save your progress or open existing material lists.

Download

See attached .exe file below:

Known Issues

  • Dark mode can reveal some light spots if you dig deep enough.
  • Not an issue but in the future I'd like to add the option to read litematica files directly to skip one step for the user.

Source Code

The source code includes the scripts used to generate the master raw items table from the game's recipe data. This process involves graphs, recursion, and other interesting techniques. Feel free to explore and contribute!

Credits

Made by ncolyer.

Feedback and Contributions

I welcome any feedback so please report any issues or suggestions on this release or contact me on discord.
E.g. if anyone wants to turn this into a website feel free, ik .exe's can be scary.

Enjoy streamlining your Minecraft building projects with S2RM!