Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Scrap Mechanic Item Database

This project is a GUI-based application for managing and searching through item databases in the game Scrap Mechanic. It allows users to load JSON item data, search through various attributes, filter items, and save or manage the data in an intuitive interface.

Features

  • Load JSON Files: Load item databases from specified directories (Creative and Survival paths).
  • Search Functionality: Search through item attributes including name, UUID, color, physics material, etc., with a dynamic filter that updates in real-time.
  • Sortable Columns: Columns in the item list can be sorted by clicking on the headers, making it easy to organize and filter data.
  • Column Visibility Management: Show or hide specific columns to tailor the view to your needs.
  • Copy to Clipboard: Double-click on an item to copy specific information to the clipboard.
  • Settings Window: Update the paths for loading item data directly from the settings window.
  • Save to JSON: Save the current list of items back into a JSON file for future use.
  • Appearance Mode: Toggle between light, dark, and system appearance modes.

Requirements

  • Python 3.8+
  • customtkinter: This project uses customtkinter for an improved UI appearance and additional widgets. Install via:
    pip install customtkinter

How to Run

  1. Clone the Repository
    git clone https://github.com/21Suspect/ScrapDatabase.git
  2. Install Dependencies
    pip install customtkinter
  3. Run the Script
    python main.py

Download ScrapDatabase Executable

You can download the compiled executable version of ScrapDatabase if you prefer not to run the Python script. This version does not require Python to be installed and can be run directly on your Windows system.

Screenshot

Screenshot

Usage

  • Loading Items: The program will load items from the specified paths variable in the script. You can modify these paths manually in the script or through the settings window within the application.
  • Searching: Enter a search term in the search bar to filter items based on different attributes (e.g., name, UUID, material).
  • Sorting and Filtering: Click on column headers to sort items. Right-click to manage which columns are visible.
  • Save Functionality: Click the "Save Items" button to export the current view of the items into a JSON file.
  • Viewing Original Code: Select an item and click on "Show Original Code" to see the JSON representation of that item.

Project Structure

  • main.py: The main script containing all the functionality of the application, including GUI setup, data loading, and event handling.
  • .idea/: PyCharm configuration files.

Notes

  • Compatibility: This program is developed for Windows systems, as it uses specific file paths pointing to the Scrap Mechanic directories.
  • JSON Data: Ensure that the paths provided in paths contain valid JSON files that match the expected structure for the program to function correctly.
  • Error Handling: The program skips over JSON files with incorrect formatting or errors during parsing.

Contribution

Feel free to contribute to this project by forking the repository and submitting pull requests. If you encounter any issues, please open an issue in the GitHub repository.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Author

Created by Fabian Vinke.

About

Scrap Mechanic UUID, Blocks and Parts Database

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors