Skip to content

Resource Packs

ErikEdits edited this page Nov 9, 2026 · 1 revision

Resource Packs

From JustQuests 0.5.0, a resource pack can change almost everything you see of JustQuests: the quest book, the tracker, the popups, colours, places, the font and the sounds. This works on every version with the quest book (Minecraft 1.20.1 to 26.3).

A JustQuests pack is a normal resource pack. It goes into .minecraft/resourcepacks/, and everything lives in assets/justquests/. The example pack uses every feature once.

Rules

  • Names: folder and file names use only lowercase letters, numbers, _, - and ..
  • Custom icons are named after the ID, not the display name:
    • category technology → icons/categories/technology.png
    • quest justquests:mining/iron → icons/quests/justquests/mining/iron.png
  • Sizes: the listed size or a whole multiple of it (2×, 4× for HD). Keep the aspect ratio.
  • Missing files come from the mod. A pack only needs the files it changes.
  • Old packs keep working. JustQuests looks for a picture in the new folders first, then under its old name (textures/gui/window.png, button_claim_normal.png …), then takes its own.
  • One settings.json per folder. Missing values keep the defaults.
  • Colours: "#RRGGBB", or "#AARRGGBB" with transparency.
  • Animation: any picture can hold frames stacked vertically, with a .png.mcmeta next to it in Minecraft's usual format:
{ "animation": { "frametime": 2 } }

Folders

assets/justquests/
├── textures/gui/
│   ├── quest_book/
│   │   ├── book.png, background.png, separator.png, settings.json
│   │   ├── rows/ available.png, active.png, claimable.png, completed.png, locked.png, hover.png, selected.png, header.png
│   │   └── progress/ track.png, fill.png, state_1.png … state_100.png, settings.json
│   ├── buttons/ <button>_<state>.png
│   ├── icons/
│   │   ├── categories/<category>.png
│   │   ├── quests/<namespace>/<path>.png
│   │   └── glyphs/ check.png, lock.png, clock.png, repeat.png, star.png, exclamation.png, gift.png, pin.png
│   ├── tracker/ tracker.png, settings.json, progress/
│   └── popup/ quest_done.png, quest_new.png, settings.json
├── sounds.json
├── sounds/
├── font/book.json
└── lang/

The quest book

File What Size
quest_book/book.png The book (the old window.png) 280×184
quest_book/background.png A picture behind the book (see background below) any
quest_book/separator.png The line under group headers like "Active" and between quest rows 112×1
quest_book/rows/<state>.png Quest rows: available, active, claimable, completed, locked, hover, selected 112×18
quest_book/rows/header.png Behind a group header like "Combat" (none by default) 112×18

completed.png and locked.png carry their symbol in the picture; the other rows get a symbol from icons/glyphs/ on top.

Progress bar

File What Size
quest_book/progress/track.png Empty bar 100×6
quest_book/progress/fill.png Full bar, cut from the left as progress grows 100×6
quest_book/progress/state_1.png … state_100.png Optional: one picture per step, used instead of fill.png 100×6

JustQuests counts the state_N pictures itself (they must go 1, 2, 3 … without a gap). With 10 states and a goal of 10 items, every item is one step. track.png is shown while nothing is done yet.

quest_book/progress/settings.json:

{ "size": [100, 6] }

quest_book/settings.json

Positions are in pixels from the top-left corner of the book, at the 1× size, also for HD pictures. These are the defaults:

{
  "size": [280, 184],
  "list": { "x": 7, "y": 44, "row_width": 112, "row_height": 18, "rows": 6 },
  "page": { "x": 137, "y": 24, "width": 134, "bottom": 153 },
  "buttons": {
    "title": [9, 7], "hint": [48, 7],
    "action": [137, 156], "pin": [213, 156], "close": [260, 6],
    "stats": [212, 3], "corner": [228, 3], "hud": [244, 3],
    "sort": [7, 22], "filter": [25, 22], "search": [44, 23],
    "page_prev": [8, 164], "page_next": [108, 164]
  },
  "colors": {
    "title": "#161616", "text": "#282828", "muted": "#4C4C4C",
    "heading": "#24395C", "link": "#24395C", "done": "#2E7D32", "warning": "#9E2A2A",
    "group": "#FFFFFF", "group_count": "#C6C6C6"
  },
  "background": { "blur": true, "mode": "none", "color": "#80000000" },
  "text_shadow": false
}
Key What
list Where the quest list starts, the size of a row and how many rows a page has
page The quest page on the right; it scrolls above bottom
buttons Each button's top-left corner. title and hint are the book's title and the hint text next to it
colors title: quest titles. text: normal text. muted: grey text. heading: "Objectives", "Rewards". link: required quests. done: finished goals. warning: "progress resets on death". group / group_count: a group header's name and count
background.blur The game's normal background behind the book (blurred from 1.20.5, darkened before). false turns it off
background.mode A layer on top: none, color (uses background.color), stretch (background.png over the whole screen) or tile (background.png repeated at its own size)
text_shadow A shadow under every text of the book

Buttons

The name is buttons/<button>_<state>.png:

Buttons States Size
claim (accept, claim, accept all) normal, hover, disabled 72×20
abandon normal, hover 72×20
pin normal, hover, on 20×20
close normal, hover 11×11
stats, hud normal, hover, on 14×14
corner_top_left, corner_top_right, corner_bottom_left, corner_bottom_right normal, hover 14×14
sort normal, hover 16×16
filter normal, hover, on 16×16
page_prev, page_next normal, hover, disabled 12×12
search normal, focused 74×14
search_clear – 10×10

Icons

All icons are 16×16.

  • icons/categories/<id>.png: an icon for any category, also the ones from datapacks. Without one, the built-in categories use their own icon and the others custom.png.
  • icons/quests/<namespace>/<path>.png: a picture for a quest instead of its item, in the book, the tracker and the popups.
  • icons/glyphs/: check, lock, clock, repeat, star, exclamation, gift and pin.

The tracker

tracker/tracker.png is the box behind the tracker. It can be any size: the outer border pixels stay as they are and the middle stretches, so the same picture fits one quest or three. Without it, the tracker draws its translucent box in colors.box.

tracker/settings.json with the defaults:

{
  "max_text_width": 140,
  "border": 3,
  "icon": { "x": 4, "y": 4 },
  "title": { "x": 23, "y": 5 },
  "goal": { "x": 23, "y": 15, "line_height": 9 },
  "max_goals": 3,
  "progress_bar": false,
  "offset": [4, 4],
  "text_shadow": true,
  "colors": {
    "title": "#FFFFFF", "goal": "#D0D0D0", "done": "#55FF55",
    "more": "#A0A0A0", "claim": "#FFAA00", "box": "#AA000000"
  }
}
  • Places are counted from the top-left corner of the box for the first quest; every further quest moves down by its height.
  • max_goals: goals shown per quest, then "+2 more".
  • progress_bar: a bar under every goal. It uses tracker/progress/ (track.png, fill.png or state_N.png) if the pack has them, else the book's.
  • offset: the distance from the screen corner. The corner itself is the player's choice in the quest book.
  • How many quests the tracker shows stays the player's setting.

tracker/progress/settings.json: { "size": [0, 3] }. A width of 0 makes the bar as wide as the goal text.

Popups

Small notices for a completed quest (popup/quest_done.png: icon, title and "Quest completed!", or "Press J to claim" while the reward waits) and for a newly unlocked quest (popup/quest_new.png: icon, title and "New quest!"). Both are 160×32. Players can turn them off with the box on the quest book's overview page.

popup/settings.json with the defaults:

{
  "corner": "top_right",
  "offset": [4, 4],
  "seconds": 5,
  "size": [160, 32],
  "icon": { "x": 8, "y": 8 },
  "title": { "x": 30, "y": 7 },
  "line": { "x": 30, "y": 18 },
  "text_shadow": false,
  "colors": { "title": "#FFFF00", "line": "#FFFFFF" }
}

corner can be top_left, top_right, bottom_left, bottom_right, top_center or bottom_center.

Sounds

Every moment has its own sound ID. Where JustQuests has no sound by default, the ID is empty, so a pack can add one.

Sound ID When Default
justquests:quest.complete A quest is completed Minecraft's challenge sound
justquests:quest.accept A quest is accepted none
justquests:quest.abandon A quest is abandoned none
justquests:quest.unlock A new quest unlocks none
justquests:reward.claim A reward is claimed none
justquests:goal.progress A goal counts up none
justquests:goal.complete A goal is done none
justquests:book.open The quest book opens none
justquests:book.close The quest book closes none
justquests:book.page A page is turned none
justquests:book.click A button or quest is clicked button click
justquests:popup.show A popup appears none

assets/justquests/sounds.json in a pack:

{
  "quest.complete": { "replace": true, "sounds": ["justquests:fanfare"] },
  "book.page": { "replace": true, "sounds": [{ "name": "minecraft:item.book.page_turn", "type": "event" }] }
}

justquests:fanfare is the file assets/justquests/sounds/fanfare.ogg. "type": "event" plays one of Minecraft's own sounds.

The completion sound comes from the server, so the world setting completionSound still turns it off. When several things happen at once (a quest unlocks and is accepted), only the most important sound plays.

Font

The quest book, the tracker and the popups use the font justquests:book. By default it is the normal Minecraft font. A pack sets its own in assets/justquests/font/book.json, for example Minecraft's "uniform" font:

{ "providers": [ { "type": "reference", "id": "minecraft:uniform" } ] }

The font in the rest of the game stays the same.

Texts

Every text of JustQuests comes from assets/justquests/lang/<language>.json, so a pack can rename anything:

{
  "justquests.book.title": "Adventure Journal",
  "justquests.category.technology": "Technology",
  "justquests.dimension.stellaris.moon": "the Moon"
}

All keys are in the mod's assets/justquests/lang/en_us.json.

pack.mcmeta

Each Minecraft version has its own pack_format, for example 15 for 1.20.1, 34 for 1.21.1 and 46 for 1.21.4. For another version, the game shows a warning but still loads the pack.

Clone this wiki locally