{"id":19432014,"url":"https://github.com/szeweq/mc-repack","last_synced_at":"2025-04-24T20:30:41.577Z","repository":{"id":65973385,"uuid":"601110492","full_name":"szeweq/mc-repack","owner":"szeweq","description":"A Minecraft mod repacking tool to optimize size and loading speed of mods.","archived":false,"fork":false,"pushed_at":"2024-10-16T09:07:55.000Z","size":605,"stargazers_count":9,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-17T20:26:56.719Z","etag":null,"topics":["minecraft","minecraft-mod","optimization","optimizer","repack","rust","rust-cli"],"latest_commit_sha":null,"homepage":"https://szeweq.xyz/mc-repack","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/szeweq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"szeweq","ko_fi":"szeweq"}},"created_at":"2023-02-13T11:46:39.000Z","updated_at":"2024-10-16T09:07:58.000Z","dependencies_parsed_at":"2023-10-14T22:06:37.286Z","dependency_job_id":"98ede59d-10bc-400d-a783-7714ed3a5b91","html_url":"https://github.com/szeweq/mc-repack","commit_stats":{"total_commits":127,"total_committers":1,"mean_commits":127.0,"dds":0.0,"last_synced_commit":"e85782a1395343a71f23e8dde33fb00bd7a14362"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szeweq%2Fmc-repack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szeweq%2Fmc-repack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szeweq%2Fmc-repack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szeweq%2Fmc-repack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szeweq","download_url":"https://codeload.github.com/szeweq/mc-repack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223966320,"owners_count":17233187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["minecraft","minecraft-mod","optimization","optimizer","repack","rust","rust-cli"],"created_at":"2024-11-10T14:33:41.490Z","updated_at":"2024-11-10T14:33:41.939Z","avatar_url":"https://github.com/szeweq.png","language":"Rust","readme":"# MC-Repack\n![Logo](https://raw.githubusercontent.com/szeweq/mc-repack/master/mc-repack-logo.png)\n\n![Crates.io Version](https://img.shields.io/crates/v/mc-repack)\n[![Rust Build](https://github.com/szeweq/mc-repack/actions/workflows/rust-build.yml/badge.svg)](https://github.com/szeweq/mc-repack/actions/workflows/rust-build.yml)\n[![dependency status](https://deps.rs/repo/github/szeweq/mc-repack/status.svg)](https://deps.rs/repo/github/szeweq/mc-repack)\n\nA repacking tool for Minecraft mods and resource packs to optimize size and loading speed.\n\n## Features\n- Minifying JSON files, using [`serde-json`](https://crates.io/crates/serde-json), and removing comments\n- Optimizing PNG files, using [`oxipng`](https://crates.io/crates/oxipng)\n- Optimizing TOML files, using [`toml`](https://crates.io/crates/toml)\n- Optimizing OGG files, using [`optivorbis`](https://crates.io/crates/optivorbis)\n- Optimizing NBT files\n- Removing unwanted files – some project files (from Blender, Photoshop, etc.) are mistakenly packed in mods. This operation will detect and remove (ignore while repacking) these files.\n- Stripping Unicode BOM\n- Removing comment lines in many file types: `.cfg, .obj, .mtl, .zs, .vsh, .fsh`\n- Recompressing files more efficiently\n- Now with Zopfli support (slower, but better compression)\n- Configurable (it reads `mc-repack.toml` or other TOML file specified by `--config` argument)\n\n## Comparison table\nThese mods are tested and repacked by MC-Repack with the following results:\n| File name | Original | 0.18 | 0.20 (*) | 0.21 (*) |\n|----|----:|----:|----:|----:|\n| minecolonies-1.19.2-1.0.1247-BETA.jar | 72.8 MB | 63.7 MB | 63.4 MB | 62.7 MB |\n| twilightforest-1.19.3-4.2.1549-universal.jar | 22.5 MB | 21.9 MB | 21.8 MB | 21.2 MB |\n| TConstruct-1.18.2-3.6.3.111.jar | 15.2 MB | 14.0 MB | 13.9 MB | 13.6 MB |\n| BloodMagic-1.18.2-3.2.6-41.jar | 13.6 MB | 11.9 MB | 11.7 MB | 11.6 MB |\n| create-1.19.2-0.5.0.i.jar | 13.1 MB | 12.8 MB | 12.7 MB | 12.6 MB |\n| Botania-1.19.2-437-FORGE.jar | 10.9 MB | 10.1 MB | 10.1 MB | 10.0 MB |\n| ImmersiveEngineering-1.19.3-9.3.0-163.jar | 10.3 MB | 10.0 MB | 9.65 MB | 9.46 MB |\n| thermal_foundation-1.19.2-10.2.0.47.jar | 4.58 MB | 4.38 MB | 4.35 MB | 4.35 MB |\n| cfm-7.0.0-pre35-1.19.3.jar | 2.11 MB | 1.92 MB | 1.87 MB | 1.84 MB |\n\n\\* - Using Deflate (faster)\n\nMore mods are available on [My Website](https://szeweq.xyz/mc-repack/mods).\n\n## Installation\nThe fastest way is to get the latest version from [Releases](https://github.com/szeweq/mc-repack/releases/latest) page.\n\nYou can also install this app by using Cargo:\n```sh\ncargo install mc-repack\n```\n\nIf you want to test the latest commit directly from this repo:\n```sh\ncargo install --git https://github.com/szeweq/mc-repack\n```\n\n## Usage\nAfter installation, the tool can be used by typing one of following commands:\n```sh\nmc-repack jars --in \u003cfile|directory\u003e --out \u003cpath\u003e\nmc-repack files --in \u003cfile|directory\u003e --out \u003cpath\u003e\n```\n- The `jars` subcommand looks for entries stored in `.jar` (or `.zip`) files.\n- The `files` subcommand transforms the file tree directly. Files will be minified or copied.\nWhen a file path is provided, then MC-Repack will repack the file contents. If a path is a directory, then all files inside (non-recursive) will be repacked.\n\nMore options are provided by typing `mc-repack --help` in a shell/terminal.\n\n## Library\nMC-Repack can be also purposed for creating your own version of a repacking tool. See [`mc-repack-core` crate on crates.io](https://crates.io/crates/mc-repack-core) for more technical details.\n\n## Why?\nMC-Repack is meant to show how many Minecraft mods and resource packs come with unoptimized files (and I don't mean just pretty-printed JSON files). You will be surprised that in some cases a PNG file's metadata added by Photoshop is much larger than its content.\n\nOne other inportant thing is that MC-Repack determines if a file really needs to be compressed. **Most PNG files and smaller JSON files will usually be stored uncompressed.** This kind of operation saves bytes if a \"compressed\" form is larger than original. Also, uncompressed data can be loaded faster.\n\nThis is a great tool that can be helpful for:\n- Mod developers and resource pack makers – they can provide mods with smaller file sizes, optimized PNGs and correctly formatted JSONs\n- Players and server owners – optimized and repacked files can speed up Minecraft load time while using less memory.\n\nMC-Repack shows all errors happened during repacking. Most of them are errors that can be simply ignored (like `trailing comma at line X column Y`).\n\n## How to contribute?\nThe easiest way to contribute is to share this with others on social media.\n\nThere is a lot of things that should be fixed or optimized. New feature ideas are welcome, just file an issue.\n\n## Can I use it outside Minecraft?\nSure! The tool does not recognize that an archive is not a Minecraft mod nor a resource pack (yet).\n","funding_links":["https://github.com/sponsors/szeweq","https://ko-fi.com/szeweq"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszeweq%2Fmc-repack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszeweq%2Fmc-repack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszeweq%2Fmc-repack/lists"}