Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/VazkiiMods/Quark/llms.txt

Use this file to discover all available pages before exploring further.

Quark gives you complete control over every one of its features through two complementary interfaces: the in-game Q menu for interactive, real-time configuration, and a standard NeoForge TOML config file for scripted or automated workflows. Whether you are a player who wants to turn off a single feature or a modpack author shipping a curated configuration to hundreds of users, both paths give you full access to the same settings.
The Q menu is the recommended way to configure Quark. It shows you every option with its description and current value, applies changes instantly without a restart, and writes the results to disk automatically. The config file is best treated as an artifact you manage through the menu rather than something you edit by hand — though manual editing is fully supported when you need it.

The Q Button

Quark adds a Q button to inventory screens. By default it appears in the bottom-left corner of the screen. Clicking it opens the Q menu — a full-screen configuration panel that lists every Quark module organised by category. The button appears on:
  • The vanilla player inventory screen
  • Chest, barrel, and other container screens
  • Any screen that vanilla Minecraft handles (class names starting with net.minecraft.)
  • A built-in list of popular modded screens (Applied Energistics 2’s sky chest, Iron Chests, Supplementaries’ sack screen, Curios, and the Quark Oddities crate and backpack screens)
If a screen from another mod is not showing the Q button and you want it to, see the allowedScreens and useScreenListBlacklist options below. The Q menu is divided into the same eight categories as Quark’s modules: Building, Automation, World Generation, Mobs, Tools, Tweaks, Client, and Management, plus Oddities. Select a category in the left-hand panel to see the modules it contains. Each module shows:
  • Its name and a short description.
  • An enable/disable toggle — click to instantly activate or deactivate the entire module.
  • An expand arrow that reveals the module’s individual config options when clicked.
Use the search bar at the top of the menu to filter by name across all categories and all options simultaneously. Changes are applied and written to config/quark-common.toml immediately. There is no “save” step.

General Configuration Options

The following options are part of Quark’s general configuration and control the behaviour of the Q button and menu itself. They can be set in the Q menu under the general settings panel, or edited directly in the config file.
Type: Boolean | Default: trueControls whether the Q button is shown on inventory screens at all. Set this to false to hide the button entirely. The Q menu can still be accessed via other means (such as a dedicated keybind if configured), but hiding the button is a clean option for servers or modpacks that want a tidier UI.
Type: Boolean | Default: falseWhen set to true, the Q button is placed in the bottom-right corner of the screen rather than the bottom-left. Useful when another mod’s button occupies the left side.
Type: Boolean | Default: falseThe Q menu plays a subtle animation and background effect when it opens. Set this to true to disable those visual effects for a plain, static panel. Helpful on lower-end hardware or for players who prefer a minimal UI.
Type: Integer | Default: 2 | Minimum: 1Controls how many advancements deep the advancement screen will show at once. The vanilla default is 2. Increasing this value reveals more of the advancement tree simultaneously. Decrease it if the advancement screen feels cluttered.
Type: List of strings | Default: all 17 vanilla shulker box variantsA list of block registry names that Quark should treat as shulker boxes. Quark features that interact with shulker boxes — such as Shulker Packing — will apply to every entry in this list. Add modded shulker-like containers here to extend compatibility.
Type: Boolean | Default: trueWhen true, Quark automatically treats any item whose registry ID contains the string shulker_box as a shulker box, in addition to the explicit entries in the shulkerBoxes list. Disable this if a mod uses that naming convention for something that is not actually a shulker box container.
Type: List of strings | Default: [] (empty)A list of fully-qualified Java class names for modded screens that Quark should show the Q button on. By default, Quark uses an internal whitelist of known compatible screens; entries here are added on top of that list. Use printScreenClassnames to find the right class name for any screen.Example entry: "com.example.mymod.client.screen.MyCustomScreen"
Type: Boolean | Default: falseWhen set to true, the allowedScreens list is treated as a blacklist rather than a whitelist — the Q button will appear on all screens except those listed. This is a power-user option intended for situations where you want the button everywhere. Use with caution: some modded screens may not render Quark’s button correctly.
Enabling this option may cause visual glitches or layout conflicts on screens from mods that are not designed to host additional UI elements. Only enable it if you know what you are doing.
Type: Boolean | Default: trueWhen true, Quark shows a brief popup message the first time a new player opens their inventory, letting them know they can configure Quark using the Q button. Set this to false to suppress the message entirely — useful for modpacks where you don’t want players to be prompted to change configuration.

The Config File

Quark stores its configuration in the standard NeoForge config location. After launching Minecraft with Quark installed at least once, you will find the file at:
<instance>/config/quark-common.toml
The file is written and managed by the Zeta configuration framework using NeoForge’s TOML config system. The top-level sections mirror the Q menu’s category structure. Each module has its own [Category.ModuleName] block, with an enabled key followed by the module’s individual options.

Sample Config Snippet

The following example shows what a handful of modules look like in the config file:
# Quark general settings
[General]
    enableQButton = true
    qButtonOnRight = false
    disableQMenuEffects = false
    advancementVisibilityDepth = 2
    interpretShulkerBoxLikeBlocks = true
    printScreenClassnames = false
    useScreenListBlacklist = false
    enableOnboarding = true
    allowedScreens = []
    shulkerBoxes = [
        "minecraft:shulker_box",
        "minecraft:white_shulker_box",
        "minecraft:orange_shulker_box"
        # ... remaining vanilla variants
    ]

[Building.VariantChests]
    enabled = true
    # Adds wooden chest variants for every wood type

[Tweaks.DoubleDoorOpening]
    enabled = true
    # Both doors of a double-door open together

[Automation.Chute]
    enabled = true
    # Adds the Chute block for item transport

[Mobs.Foxhound]
    enabled = true
    # Foxhounds spawn in the Nether

[Oddities.MatrixEnchanting]
    enabled = true
    # Replaces the vanilla enchanting table UI
You can edit this file while the game is running. NeoForge will reload config values automatically, or you can reopen the Q menu to trigger a refresh. Module enabled states changed via file edit will take effect on the next config reload.

Disabling Modules for Modpacks

Modpack authors can ship a pre-configured quark-common.toml to disable (or enable) specific modules for all players in the pack. The recommended workflow is:
  1. Install Quark in a local test instance.
  2. Use the Q menu to set every module to the desired state.
  3. Copy the generated config/quark-common.toml from your instance’s config folder into your modpack’s config/ override directory.
Because the config file uses the module’s class-derived name as the TOML key, it is stable across Quark patch releases as long as module names don’t change. Always test your config against a fresh install after updating Quark to a new build.
If you want to lock players out of the Q menu entirely, set enableQButton = false in the general config section. Players will still be able to edit the config file directly unless you also restrict file-system access, but removing the button reduces accidental changes in casual modpacks.

Adding the Q Button to Custom Screens

If you are a mod developer and want Quark’s Q button to appear on a screen you have written, you have two options: Option 1 — Implement the interface (recommended): Have your Screen or AbstractContainerScreen class implement org.violetmoon.quark.api.IQuarkButtonAllowed. No methods need to be implemented — the interface is purely a marker. Quark checks for it at runtime and will render the Q button on any screen that carries it.
import org.violetmoon.quark.api.IQuarkButtonAllowed;

public class MyCustomScreen extends AbstractContainerScreen<MyMenu>
        implements IQuarkButtonAllowed {
    // ... your screen code
}
Option 2 — Config list: If you cannot modify the screen’s source code (e.g. it’s from a closed mod), add its fully-qualified class name to the allowedScreens list in quark-common.toml or via the Q menu’s general settings panel. Use printScreenClassnames = true to find the exact class name.
Full details on Quark’s mod API — including IQuarkButtonAllowed, Zeta module events, and the config annotation system — are covered in the Modders section of this documentation.

Build docs developers (and LLMs) love