Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/faizul726/matject
Universal batch script made for Windows to dynamically replace .material.bin files of Minecraft Bedrock Edition. With auto backups and many features!
https://github.com/faizul726/matject
1-21-20 1-21-30 1-21-40 1-21-50 batch bedrock iobit-unlocker matject matjectnext minecraft patched renderdragon script shaders windows windows-10 windows-11
Last synced: 16 days ago
JSON representation
Universal batch script made for Windows to dynamically replace .material.bin files of Minecraft Bedrock Edition. With auto backups and many features!
- Host: GitHub
- URL: https://github.com/faizul726/matject
- Owner: faizul726
- Created: 2024-08-29T16:04:00.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-12-23T16:57:44.000Z (18 days ago)
- Last Synced: 2024-12-23T17:41:41.293Z (17 days ago)
- Topics: 1-21-20, 1-21-30, 1-21-40, 1-21-50, batch, bedrock, iobit-unlocker, matject, matjectnext, minecraft, patched, renderdragon, script, shaders, windows, windows-10, windows-11
- Language: Batchfile
- Homepage:
- Size: 158 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Matject v3.4.0
*Last updated: Dec 23, 2024***[How to use?](#how-to-use) | [Features](#features) | [Credits](#credits) | [Known issues](#known-issues) | [FAQ](#faq) | [Changelog](#changelog)**
![matject_1](https://raw.githubusercontent.com/faizul726/faizul726.github.io/main/matject/screenshots/matject_1.png)
|
Settings |
Custom paths |
| :---: | :---: |
|
matjectNEXT |
Restore materials |### What?
Matject is an **advanced material replacer** that allows users to use Minecraft shaders. It dynamically automates the process of replacing and restoring game files.### How?
It uses IObit Unlocker to replace/restore game files since Windows doesn't normally allow modifying apps.### Why?
**[BetterRenderDragon](https://github.com/ddf8196/BetterRenderDragon/) still doesn't support version above v1.21.2 (as of Dec 23).**
Windows players who want to try shaders have to replace game files manually which is a pretty time consuming process.
I made this script so that users don't have to go through the hassle of replacing game files by themselves.>[!IMPORTANT]
> Before you complain about game crashing/invisible blocks, make sure the shader you're using supports **Windows** and the **game version**.
>
> ***You can also enable material-updater in settings to fix invisible blocks.***
>
> **Non RenderDragon shaders (aka HAL) are not supported.**## What's new in v3.4.0?
* Happy New Year!
* Many bug fixes and optimization.
* [See full changelog](#changelog)## Features
* Easy to use.
* Automatically inject shaders based on Global Resource Packs (matjectNEXT).
* Takes less than **60 seconds** to apply a shader.
* Uses [material-updater](https://github.com/mcbegamerxx954/material-updater) to update outdated materials. (not enabled by default)
* Dynamically replace game files. *saving you a lot of time*
* Automatically process provided MCPACK/ZIP file.
* Backup/restore game files.
* Many useful options in settings.
* Auto detect Minecraft version changes and adjust according to that.## Credits
* **[IObit Unlocker](https://www.iobit.com/en/iobit-unlocker.php)** (backbone of Matject)
* **[jq](https://jqlang.github.io/jq)** (used to process JSON files for matjectNEXT)
* **[material-updater by @mcbegamerxx954](https://github.com/mcbegamerxx954/material-updater)** (used to update materials)
* **[@jcau8](https://github.com/jcau8)** (critical bug fixes)
* **[@Veka0](https://github.com/Veka0)** (material compatibility checker)**Honorable Mentions**
People of [YSS](https://discord.gg/UJdvR6WBAe) and [Newb Community](https://faizul726.github.io/newb-discord) for their humble support.[@TrngN0786](https://x.com/TrngN0786) and [@Theffyxz](https://github.com/Theffyxz) for helping me to fix bugs.
[@Sharkitty](https://github.com/Sharkitty), [@FlaredRoverCodes](https://github.com/FlaredRoverCodes) and all other people who tested and gave feedback.> [!TIP]
> Need help?
> Join [Newb Discord server](https://faizul726.github.io/newb-discord) and send message in `#newb-support`. I will be happy to assist you.## How to use?
1. Install [IObit Unlocker](https://www.iobit.com/en/iobit-unlocker.php). (don't change its install location)
![screenshot](https://github.com/user-attachments/assets/4422464e-26a3-4068-993e-adc76817ca9c)
2. Download code as ZIP.
For the pros: `git clone https://github.com/faizul726/matject.git`3. Extract the ZIP file.
4. Open `matject.bat`.
5. The rest is self explanatory.### How to restore to default?
> [!TIP]
> Original files will be restored automatically after the game is updated.1. Open Matject.
2. Go to **[R] Restore & Others**.
3. Go to **[1] Restore default materials**
4. Select **[1] Dynamic Restore** or **[2] Full Restore** (full restore takes a bit more time).## Known issues
* Some terms may be a bit too technical. Suggestions are appreciated.
* Doesn't support manifests with // or /**/ comments (matjectNEXT).
* Doesn't support long folder path and too many shader files.
* May not work properly if working paths contain space.
* Antivirus may prevent IObit Unlocker from working. (e.g. AVG)## FAQ
**Q. What is matjectNEXT?**
A. matjectNEXT is an advanced version of Matject that replaces materials based on the pack the user has set in Global Resource Packs, with help of **[jq](https://jqlang.github.io/jq)**.
*Inspired by [Draco](https://github.com/mcbegamerxx954/draco-injector) by @mcbegamerxx954*.**Q. How is this different from [BetterRenderDragon](https://github.com/ddf8196/BetterRenderDragon/)?**
A. BetterRenderDragon uses *memory injection*, all the changes are made in memory and those don't persist. You have to open BRD each time to use shaders.
*It's not universal, so BRD devs have to update it for newer Minecraft versions to make it work.*
Changes made by Matject persists until next game update. It's mostly universal, so it should work with any Minecraft version.**Q. Virus?**
A. Well, depends on you. (2)**Q. Does it require internet?**
A. Yes, optionally...
* To check for updates and show the changelog. (it can't update itself yet)
* To get [jq](https://jqlang.github.io/jq) by itself (for matjectNEXT).
* To get [material-updater](https://github.com/mcbegamerxx954/material-updater) by itself.**Q. What folders does it access?**
A. It accesses the following folders:
> ###### READ only:
> - `%ProgramFiles(x86)%\IObit\IObit Unlocker\IObitUnlocker` (backbone of Matject)
> - Minecraft app location. *Which is obtained using this PowerShell command:*
> ```powershell
> Get-AppxPackage -Name Microsoft.Minecraft* | Select-Object -ExpandProperty InstallLocation
> ```
> - `%LOCALAPPDATA%\Packages\Microsoft.Minecraft*_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftpe\global_resource_packs.json` (for matjectNEXT)
> - `%LOCALAPPDATA%\Packages\Microsoft.Minecraft*_8wekyb3d8bbwe\LocalState\games\com.mojang\resource_packs\*` (for matjectNEXT)
> - `.settings` `Backups\*` `Backups (Preview)\*` `logs` `MATERIALS` `MCPACK` `modules\*` `tmp`
> - `Custom path: Minecraft app, data, IObit Unlocker`
>
> ###### READ and WRITE:
> - `%ProgramFiles%\WindowsApps` (to unlock WindowsApps)
> - `%ProgramFiles%\WindowsApps\Microsoft.Minecraft*_*_*__8wekyb3d8bbwe\data\renderer\materials`
> - `%LOCALAPPDATA%\Packages\Microsoft.Minecraft*_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftpe\global_resource_packs.json` (to reset global packs)
> - `.settings` `Backups\*` `Backups (Preview)\*` `logs` `MATERIALS` `tmp`
> - `Custom path: Minecraft app, data`**Q. মুরগি কি ধান খায়?** 🐓
A. হ, খায়।*Should I start taking donations?*
## Changelog
v3.4.0 - Dec 23, 2024
- Added subpack support for auto method.
- Added zipped materials support for auto method.
- Added new settings: Don't open folder automatically.
- Added loading text (not everywhere)
- Added reset settings option.
- Added Drop to shell (needs debug mode)
- Can now make shortcuts.
- New icon if using shortcut.
- Optimized folder opening.
- Optimized update checker.
- Should no longer cause crashes when folder name contains space.
- Should no longer fully exit if something goes wrong.
- Preview mode now is automatically disabled when not installed.
- Other minor changes.
v3.3.0 - Dec 10, 2024
- Added Minecraft Preview support.
- matjectNEXT now can be used without DEBUG MODE.
- Improved matjectNEXT functionality.
- Improved extract speed by using
tar
. - Improved settings functionality.
- Improved backup ZIP check.
- Fixed Dynamic Restore comparison.
- Fixed OLDVERSION variable.
- Delete Backups folder if empty.
- Other minor changes.
v3.2.2 - Dec 06, 2024
- Added custom Minecraft launcher support (thanks to @TrngN0786)
- Added custom Minecraft data path support
- Added custom IObit Unlocker path support
- Added interruption check
- Added restore confirmation
- Added an easter egg
- Update checker now shows the changelog
- Fixed colors in some texts
- Fixed RESTORELIST variable (thanks to @TrngN0786)
- Fixed Minecraft app path and Just sync and exit toggle
- Other minor bug fixes
v3.2.1 - Dec 04, 2024
- Fixed matjectNEXT unable to find pack path (once again thanks to @jcau8)
- Added compatibility check for materials (thanks to @Veka0)
- Revamped settings page with tabs
- Several small improvements to functionality
- Added development_resource_packs support (matjectNEXT)
- Improved MCPACK detection
- Added the ability to replace backup using ZIP file (Restore & Others)
v3.2.0 - Nov 26, 2024
- Added matjectNEXT.
- Fixed writing on encrypted drives. (thanks to @jcau8)
- Added curl check.
- Renamed Partial Restore to Dynamic Restore.
- Improved Dynamic Restore speed.
- Fixed some typos.
- Other minor bug fixes.
v3.1.0 - Nov 18, 2024
- Bump version.
- Fix credit names PR #4.
v3.0.3 - Nov 16, 2024
- Added update checker (thanks to @jcau8).
- Moved variables to variables.bat.
- Fixed some typos.
- Delete backup date file after full restore.
- Added GitHub link in others.
- Changed
pushd
tocd /d
.
v3.0.2 - Nov 15, 2024
- Fixed directory changing and unlockWindowsApps (thanks to @Theffyxz).
- Added update checker module as a placeholder.
- Added credits section in README.
v3.0.1 - Nov 13, 2024
- Fixed unlockWindowsApps not saving result.
- Updated "about" details.
- Semantic Versioning (something that I still don't understand properly).
v3.0 - Nov 06, 2024
- Fixed partial restore.
- Added material-updater support.
- Added help (but not helpful).
- Added settings.
- Added date for backup.
- Added the ability to open MCPACK automatically after injection.
- Added first run message.
- Made backup mandatory.
- Improved home screen.
- Only accept
*.material.bin
files. - Removed
openMinecraftFolder.bat
and added it as a separate option.
v2.5 - Oct 20, 2024
- Added colored texts.
- Removed settings.bat placeholder as it's not required before v3.0.
v2.0
- Much more user-friendly than before.
- Dynamically finds Minecraft location.
- Skips questions if user meets requirements.
- Prompts to delete backup if it detects a different Minecraft version.
- Restores vanilla shaders (BETA).
- Shows error if user declines UAC and asks again.
- Automatically opens MCPACK/MATERIALS folder for user to put files.
- Extracts materials from user-provided MCPACK/ZIP (still can't detect if it's an RD shader).
- Dynamically restores only modified bins from previous inject to ensure consistency among different shaders (BETA) (works only if user has made a backup before).
- Added
settings.bat
for tweaking options (WIP). - Added
openMinecraftFolder.bat
to open the Minecraft folder. - Simplified
WindowsApps
unlock procedure; now it unlocks instantly.
v1.0
- Initial release.