A resource pack converter from Optifine format to newer and alternative formats. This project uses C++ and FLTK as the language and base framework. This might seem odd in the Minecraft community, but allows using 25MB of RAM, where other tools use excessive amounts of resources for no reason (LambdAurora's now discontinued MCPP used 50 MB idle). Note that RAM usage varies depending on what is being converted, FSB and zipped resource packs usually will use more. As a native application, it should also perform conversions faster.
This may or may not still work, but the pack versions will be outdated (can be updated in src/constants.h) and future formats will likely change as well.
You can probably use it as a starting point to perform manual conversion.
Sorry if you still relied on this, but it seems interest has waned and my personal motivation has as well. You may reach me through discord (supsm) or through the my server (linked below). Thanks for everything.
Currently, the converter supports Fabricskyboxes and Chime. Fabricskyboxes conversion is the most complete, Chime may require manual correction, and Reselect will be supported if the author continues development.
Some websites have been stealing this project (you'll know what I mean if you search "MCPPPP"). If you are not on github, please refer to the official page instead. Most other websites are outdated, and some might contain unwanted programs. If there is another official website where I distribute binaries (e.g. modrinth), it will be linked on the github.
Windows: download MCPPPP-windows.exe
from releases and double click on it.
Mac: download MCPPPP-mac.zip
from releases and extract it (double click from finder). MCPPPP-mac
should be extracted, click on it to run. Unfortunately this requires macOS >12.
Linux: download MCPPPP-linux-cli
(no gui) or MCPPPP-linux
(has gui). Make it executable and run it.
Newly compiled binaries for linux, windows, and mac can be found as build artifacts. Note that they may not be stable and may not work properly. I will add releases when I feel it is stable enough.
To access build artifacts, head to the compile page, click on the top result, then scroll down to artifacts. Download the artifact corresponding to your system, then unzip it.
MCPPPP-windows.exe
, MCPPPP-mac.zip
, and MCPPPP-linux
will contain a gui.
MCPPPP-windows-cli
, MCPPPP-mac-cli.zip
, and MCPPPP-linux-cli
do not contain a gui. There is additional information below (Section CLI)
If a folder already contains the output directories (such as assets/fabricskyboxes
), it will be skipped. If you want to re-convert this pack, delete the directory. MCPPPP will try to be as least invasive as possible, and will only modify these folders (as well as pack.mcmeta
, which there will be a backup of).
More detailed instructions below
Output Directories
Fabricskyboxes: assets/fabricskyboxes/sky
Varied Mob Textures: assets/minecraft/varied/textures/entity
Chime: assets/mcpppp
, assets/minecraft/overrides
Unofficial releases for rpm-based linux distributions and aur (arch linux) are provided by sharpenedblade.
WARNING: these are unofficial and I cannot guarantee anything. Use at your own risk
To install rpm, run dnf copr enable sharpenedblade/mcpppp
and browse for the appropriate application.
Aur package can be found here
Run MCPPPP-cli --help
Running without any arguments will allow use of the config file.
Fun Fact: On windows, you can "Open With" a zipped resourcepack with MCPPPP, and it will convert (but unfortunately settings will not be settable). Maybe it works on other platforms too, haven't tried
In the GUI version of MCPPPP, you can edit mcpppp.properties
inside the gui. If you want, you can also add your own configuration options in the file. Your options will not be deleted; instead, there will be a GUI section at the bottom of the file. If you add anything here, it may be deleted.
This version can also accept command line arguments, but doing so will remove the gui entirely and function like the CLI version.
Prerequisites: Git, Cmake, compiler with C++20
- Clone the repository with
git clone https://github.com/supsm/MCPPPP --depth=1
and navigate to the MCPPPP folder
To build MCPPPP from source, you should use cmake. There are 3 options for mcpppp, which areMCPPPP_CLI
,MCPPPP_GUI
, andMCPPPP_JNI
(the rest are for fltk and should be ignored).MCPPPP_JNI
defaults to false, the other two default to true.
In cmake-gui, simply check or uncheck these checkboxes.
If you wish to use cmake from the command line, - Configure with
cmake -B build
. You may specify options such as-DMCPPPP_CLI=TRUE
. As an example, if I only want to build jni libraries I would runcmake -B build -DMCPPPP_CLI=FALSE -DMCPPPP_GUI=FALSE -DMCPPPP_JNI=TRUE
- Build with
cmake --build build --config Release
In both cases, the binaries should be inbuild/bin
Prerequisites: JDK, JNI libraries from previous step
- Download or clone the mod branch of MCPPPP
- Copy the libraries compiled in JNI to
src/main/resources
. There will already be compiled libraries there, you may delete them if you want. - Run
./gradlew build
. JARs will be inbuild/libs