Skip to content

Latest commit

 

History

103 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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!

Features

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

License

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.

Getting Help

  • 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

Prerequisites for compilation

Required Tools

  • 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

Additional Tools (for Windows compilation)

  • LLVM-Mingw - Cross-compilation toolchain for Windows
  • Required LLVM-Mingw tools:

Installation & Setup

Using Scripts

For Windows, you would need to install VSCode and WSL2

  1. Run the setup script to install dependencies:

    ./setup.sh

    For systems without Windows compilation support:

    ./setup.sh --no_win
  2. Build the project:

    ./launch.sh
  3. Packaging:

    ./pack.sh

You can use --help or -h to get more info for all available options!

Examples

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

Project Structure

QuestiMakinator/
├── 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

Development

Visual Studio Code Integration

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

Available VS Code Tasks

  • setup-project - Run initial setup
  • build-release-linux - Build Linux release version
  • build-debug-linux - Build Linux debug version
  • run-licences - Generate license report
  • While using WSL2, you can debug for both Windows and Linux code

Dependencies

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

Troubleshooting

Common Issues

  1. Missing Compiler Tools

    • Ensure all required tools are installed and in PATH
    • For Windows cross-compilation, verify LLVM-Mingw installation
  2. Build Failures

    • Run ./setup.sh to ensure all dependencies are installed
    • Use --no_config flag for faster rebuilds after configuration changes (it will configurate the project if not done before)
  3. License Generation

    • Run python3 licenses.py to regenerate license information
  4. Clangd server complaining

    • Run the following command
       #On the root folder
       ln -s build/x64-linux/compile_commands.json compile_commands.json
  5. Program crashing

    • This is something I don't like
      Got to a Linux distro / WSL, run the setup script and launch script Install libdw sudo apt install libdw-dev on Debian/Ubuntu to get a report.

About

A small program to help making FTB quests and a bit more

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages