This is a simple version:
- Allows to get text for ftb quests mod more easily, with a lot more effects, using quests methods (aka, using &)
- View items and blocks from the game, download them in a folder (and for blocks, use on Blender) (No parameters yet)
- Divide and merge lang files
- Convert from json to .snbt
- Pack generation and packaging, with different mods, using PackWiz! (Only for NeoForge 1.21.1+)
A tool designed to simplify text generation for FTB Quests mod with enhanced effects using quest methods (utilizing & symbols).
Well, and now a bit more.
You can check more examples on the example folder!
- Enhanced text generation for FTB Quests mod
- Support for various text effects using quest methods
- Cross-platform compilation (Windows and Linux) (Linux uses AppImages)
If you just want executable, check this page (https://github.com/Titop54/QuestiMakinator/releases) You just need to download the correct executable for your system.
I provide two different executables, both do the same!
All rights reserved on the original code, unless otherwise stated.
Third-party licenses are aggregated in licenses.csv generated by licenses.py after you setup the project using setup.sh. Also found on each release.
What does this mean for you?
-
Personal use (Anything that it's public, like a private server or do not generate revenue) - You can use it however you like, but a link somewhere would be nice or redirecting people to this repository when asked which tool you use
-
Commercial use (Anyone can access it or generate revenue in anyway, directly or indirectly, or 2+ people in group/team) - Ask me before, but I don't usually have problems with people using this tool if you ask nicely first.
For the code part, you can use it, if you follows the above mentioned.
-
Some images aren't showing! --> I'm not using MC code, so I have to guess a lot on how it works, and even if it works, some blocks don't have everything in the files this program uses
-
It crashes! --> Open a issue with steps on how to do it
- Python3 - For license management and scripts (Although optional, but recommended for seeing licences)
- CMake - Build system generator
- C/C++ Compiler - Clang is used
- Ninja - Uses for compilation
- CCache - For more speed in multiple compilations (in average)
- Mold/lld linkers - Mold is used by default on Linux and lld for Windows. It can detect if you have mold, lld or ld.
- Git - Version control and dependency management
- Bash-compatible terminal - For running setup scripts
- pkg-config - Needed for configure
- zip - Library used to get vcpkg -> It will tells you about that on an error
- Some libraries will require some other dependecies, which would be told on the messages
- LLVM-Mingw - Cross-compilation toolchain for Windows
- Required LLVM-Mingw tools:
x86_64-w64-mingw32-clang++x86_64-w64-mingw32-clangx86_64-w64-mingw32-windresmakensisYou can get them from here https://github.com/mstorsjo/llvm-mingw/releases
For Windows, you would need to install VSCode and WSL2
-
Run the setup script to install dependencies:
./setup.sh
For systems without Windows compilation support:
./setup.sh --no_win
-
Build the project:
./launch.sh
-
Packaging:
./pack.sh
You can use --help or -h to get more info for all available options!
# Build for Windows with debug symbols
./launch.sh --windows --debug
# Build for Linux release (skip CMake config)
./launch.sh --linux --release --no
# Quick rebuild for current platform
./launch.sh --nQuestiMakinator/
├── build/ # Build outputs
├── examples/ # Images with examples of the app
├── include/ # Headers of this project
├── scripts # Packaging scripts
├── src/ # Source code of this project
├── vcpkg/ # Dependency management
├── vcpkg_installed/ # Installed libraries
├── setup.sh # Initial setup script
├── launch.sh # Build and compilation script
├── pack.sh # Allows to package for different systems
└── licenses.py # License management
The project includes pre-configured VS Code settings:
- Debug configurations for both Linux and Windows
- Build tasks for different configurations
- CMake integration with proper toolchain setup
setup-project- Run initial setupbuild-release-linux- Build Linux release versionbuild-debug-linux- Build Linux debug versionrun-licences- Generate license report- While using WSL2, you can debug for both Windows and Linux code
Managed automatically through vcpkg:
- imgui-sfml - Wrapper of DearImGui to use with SFML
- sfml - Window and other settings
- dearimgui - Mainly GUI component
- nlohmann-json - Used for all JSON shenanigans
- libwebp - For those nice .webp animated
- tinyobjloader - For those special blocks / items
- backward-cpp - For that nice stacktrace instead of "std::bad_alloc" alone
- glfw3 - For windows on Wayland/X11 and DearImGUI
- glad - For modern OpenGL
- tinyfiledialogs - To select paths
-
Missing Compiler Tools
- Ensure all required tools are installed and in PATH
- For Windows cross-compilation, verify LLVM-Mingw installation
-
Build Failures
- Run
./setup.shto ensure all dependencies are installed - Use
--no_configflag for faster rebuilds after configuration changes (it will configurate the project if not done before)
- Run
-
License Generation
- Run
python3 licenses.pyto regenerate license information
- Run
-
Clangd server complaining
- Run the following command
#On the root folder ln -s build/x64-linux/compile_commands.json compile_commands.json -
Program crashing
- This is something I don't like
Got to a Linux distro / WSL, run the setup script and launch script Install libdwsudo apt install libdw-devon Debian/Ubuntu to get a report.
- This is something I don't like

