Quark All Days Matter
📖 Overview
This mod extends the QButton (the "q" button on the main menu) from the Quark mod. It allows you to freely add or remove celebration dates, and supports displaying multiple celebrations on the same day with multi-line tooltips.
Note: Due to the use of reflection, this mod may not work properly in some modpack environments or after future Quark updates.
✨ Features
- Customizable Celebrations: Add new celebrations or remove default ones via configuration file.
- Multiple Celebrations on the Same Day: If multiple celebrations fall on the same date, the "q" button tooltip displays all of them (multi-line).
- Pre-configured Defaults:
- Children's Day (June 1st)
- Workers' Day (May 1st)
- Easy to Extend: Simply add translation entries in language files to set custom greeting messages.
📂 Configuration File
Configuration file location:
config/quark_custom_celebrations.json
Example Format
{
"additions": [
{
"name": "children",
"day": 1,
"month": "JUNE",
"tier": 1
},
{
"name": "workers",
"day": 1,
"month": "MAY",
"tier": 1
}
],
"removals": [
"example_to_remove1",
"example_to_remove2"
]
}
Fields Explanation
additions – List of new celebrations
Each entry contains:
| Field |
Type |
Description |
name |
String |
Unique identifier (used for translation key and removal matching) |
day |
Integer |
Start day (1-31) |
len |
Integer |
Optional, duration in days (default 0, meaning single day only) |
month |
String |
Month name in uppercase (e.g., JUNE, MARCH, …) |
tier |
Integer |
Icon tier (1-4, different colors/styles) |
If len is specified, the celebration lasts from day to day + len - 1.
removals – List of celebration names to remove
Add the name of celebrations you want to remove from Quark's default list (e.g., "example_to_remove").
What celebrations does Quark have? The celebration names can be found in Quark's language files. For example, for quark.gui.celebration.unclesam, the celebration name is unclesam.
🌐 Language Files
After adding a new celebration, you must add its translation entry in the language file; otherwise, the tooltip will display the raw key.
Language File Path
assets/quark/lang/en_us.json
or the corresponding language file (e.g., zh_cn.json).
Example (en_us.json)
{
"quark.gui.celebration.children": "Happy Children's Day! Stay young at heart!",
"quark.gui.celebration.workers": "Happy Workers' Day!"
}
The translation key format is fixed:
quark.gui.celebration.<celebration_name>
📌 Notes
- Requires Quark mod as a dependency, of course.
- Take effect on Client-side.
- The
name of each added celebration must be unique and match the key used in the language file.
- The celebration names can be found in Quark's language files. For example, if there is quark.gui.celebration.unclesam, the celebration name is unclesam.
- Configuration changes require a game restart (or reload, depending on implementation).
📝 Example: Adding "Valentine's Day"
- In
celebration_config.json, add to additions:
{
"name": "valentine",
"day": 14,
"month": "FEBRUARY",
"tier": 1
}
- In
en_us.json, add:
{
"quark.gui.celebration.midautumn": "Happy Valentine's Day!"
}
- Launch the game – on Feb 14th, the "q" button will display the greeting.