Skip to content

Matject - Universal batch script made for Windows to dynamically replace .material.bin files of Minecraft Bedrock Edition. With auto backups and many features!

Notifications You must be signed in to change notification settings

faizul726/matject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matject v3.4.0

Last updated: Dec 23, 2024


How to use? | Features | Credits | Known issues | FAQ | Changelog


matject_1


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 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?


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 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

Honorable Mentions
People of YSS and Newb Community for their humble support.

@TrngN0786 and @Theffyxz for helping me to fix bugs.
@Sharkitty, @FlaredRoverCodes and all other people who tested and gave feedback.


Tip

Need help?
Join Newb Discord server and send message in #newb-support. I will be happy to assist you.


How to use?

  1. Install IObit Unlocker. (don't change its install location)

screenshot

  1. Download code as ZIP.
    For the pros: git clone https://github.com/faizul726/matject.git

  2. Extract the ZIP file.

  3. Open matject.bat.

  4. 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.
Inspired by Draco by @mcbegamerxx954.

Q. How is this different from 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 by itself (for matjectNEXT).
  • To get 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:
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 to cd /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.