### Renderable Texture JSON structure and example Source: https://moddedmc.wiki/en/project/questlog/latest/docs/questlog/quest_definition Defines a quest icon using a texture file. The texture must be a 16x16 image. The first block shows the required JSON structure with a "texture" key; the second is a concrete example using the luck effect texture. ```json { "texture": "ResourceLocation" } ``` ```json { "texture": "minecraft:textures/mob_effect/luck.png" } ``` -------------------------------- ### Renderable Item JSON structure and example Source: https://moddedmc.wiki/en/project/questlog/latest/docs/questlog/quest_definition Defines a quest icon using an item ID. The mod respects item models, so any item ID can be used, not just regular 2D items. The first block shows the required JSON structure with an "item" key; the second is a concrete example using a grass block. ```json { "item": "ResourceLocation" } ``` ```json { "item": "minecraft:grass_block" } ``` -------------------------------- ### Item Components Example for questlog:item_obtain Source: https://moddedmc.wiki/en/project/questlog/latest/docs/questlog/objective_types Use this objective definition to require the player to obtain an item with specific Data Components, such as a custom name. The `components` field uses matching rules, and `required_amount` sets the number of items needed. ```json { "type": "questlog:item_obtain", "item": "minecraft:feather", "components": { "minecraft:custom_name": "'Magic Feather'" }, "required_amount": 1 } ``` -------------------------------- ### Chapter JSON configuration for Questlog Source: https://moddedmc.wiki/en/project/questlog/latest/docs/questlog/chapter_definition Defines the JSON structure for a chapter file placed in the `config/questlog/chapters/` directory. All fields are optional; `name` defaults to `questlog.chapter..`, `translatable` defaults to `false`, `order` defaults to `0`, and `hidden` completely removes the chapter from the UI. ```json { // The display name of the chapter. // If omitted, it defaults to: questlog.chapter.. "name": "string (optional)", // Whether the name is a translatable string key. "translatable": "boolean (optional, default: false)", // The icon to display for the chapter tab in the Questlog UI. // Uses standard Renderable formatting (Texture or Item). "icon": { "item": "minecraft:knowledge_book" }, // Specifies the display order of the chapter tabs. // Lower numbers appear first. Defaults to 0 if not provided. "order": 0, // Whether this chapter should be treated as the default main chapter. "default_chapter": true, // Completely hides the chapter from the UI. "hidden": false } ``` -------------------------------- ### RewardDisplay JSON configuration Source: https://moddedmc.wiki/en/project/questlog/latest/docs/questlog/quest_definition Defines the display properties for a reward, including optional name, icon, translatable flag, and claim sound. Use when configuring reward display settings in quest definitions. The name defaults to an auto-generated value if omitted, translatable defaults to false, and claim_sound is optional. ```json { // The name of the reward. // Example: "100 Experience" // If omitted, a name will be automatically generated based on the reward type. "name": "string (optional)", // The icon to display for the reward. // This is used in the quest details screen. // If not provided, the reward will use the default icon for its type. "icon": "Renderable (optional)", // Whether the name is a translatable string. // If true, the name will be treated as a translation key, // and the client will attempt to translate them using the player's language settings. // Defaults to: false "translatable": false, // The sound to play when a reward is claimed. "claim_sound": "ResourceLocation (optional)" } ``` -------------------------------- ### ObjectiveDisplay JSON configuration Source: https://moddedmc.wiki/en/project/questlog/latest/docs/questlog/quest_definition Defines the display properties for an objective, including optional name, icon, and translatable flag. Use when configuring objective display settings in quest definitions. The name defaults to an auto-generated value if omitted, and translatable defaults to false. ```json { // The name of the objective. // Example: "Mine 100 Stone" // If omitted, a name will be automatically generated based on the objective type. "name": "string (optional)", // The icon to display for the objective. // This is used in the quest details screen. // If not provided, no icon will be displayed. "icon": "Renderable (optional)", // Whether the name is a translatable string. // If true, the name will be treated as a translation key, // and the client will attempt to translate it using the player's language settings. // Defaults to: false "translatable": false } ``` -------------------------------- ### questlog:entity_approach objective with custom name Source: https://moddedmc.wiki/en/project/questlog/latest/docs/questlog/objective_types JSON definition for an entity approach objective that triggers when the player is within 5 blocks of a villager named 'Elder Villager'. The 'custom_name' field is optional and requires the entity to have that exact custom name. ```json { "type": "questlog:entity_approach", "entity": "minecraft:villager", "custom_name": "Elder Villager", "range": 5 } ``` -------------------------------- ### Quest definition JSON schema Source: https://moddedmc.wiki/en/project/questlog/latest/docs/questlog/quest_definition Defines the full JSON schema for a quest definition file placed in config/questlog/quests/. Use this as a template when creating quests; it includes optional fields for objectives, rewards, UI sizing, text customization, and palette colors. Defaults are noted inline, such as sort_order 0, chapter "questlog:main", and translatable false. ```json { // A list of objectives that will trigger the quest to appear and start tracking. // If the array is empty or omitted, the quest will be available to start immediately. "requirements": "Objective[] (optional)", // A list of objectives that the player must complete to finish the quest. // If the array is empty or omitted, the quest will be completed immediately. "objectives": "Objective[] (optional)", // A list of objectives that, if completed, will cause the quest to fail. // When a quest fails, it will no longer track progress and must be reset. "failures": "Objective[] (optional)", // A list of rewards that the player will receive upon completing the quest. // If the array is empty or omitted, the player will receive no rewards. "rewards": "Reward[] (optional)", // The title of the quest. "title": "string", // The description of the quest. // Can be a string using inline rich text, or a JSON text component. "description": "string | object | array", // An alternative description shown only when the quest is completed. "description_completed": "string | object | array (optional)", // An alternative description shown only when the quest has failed. "description_failed": "string | object | array (optional)", // The sort order of the quest in the list. Quests evaluate this before alphabetical sorting. // Defaults to 0. "sort_order": "integer (optional)", // The icon to display for the quest. "icon": "Renderable (optional)", // Whether the title and descriptions are translatable string keys. Defaults to false. "translatable": false, // The chapter this quest belongs to. Defaults to "questlog:main". "chapter": "string (optional)", // Whether this quest should also be included in the main chapter. "include_in_main": "boolean (optional)", // Hides the quest from the quest log entirely. "hidden": false, // Hides the quest from the quest log once all of its objectives are completed. // The quest stays visible until any rewards it has are collected, so rewards can't be lost. // Defaults to false, which keeps completed quests in the log. "hide_when_completed": false, // --- SOUND OPTIONS --- "completed_sound": "ResourceLocation (optional)", "triggered_sound": "ResourceLocation (optional)", // --- NOTIFICATION OPTIONS --- "toast_on_unlock": true, "toast_on_complete": true, "show_popup_on_unlock": false, // --- UI CUSTOMIZATION --- // Disables the details button on the quest screen, locking the panel out entirely (unless opened by default). "disable_details_button": false, // Forces the details/objectives panel to be open by default. "details_open_by_default": false, // The background texture of the main (left) panel. "background_texture": "ResourceLocation (optional)", // A separate 9-sliced texture for the right panel. Defaults to the background_texture. "right_panel_texture": "ResourceLocation (optional)", // The texture used for UI peripherals like buttons, dividers, and toasts. // Defaults to the mod's standard peripheral texture. "peripheral_texture": "ResourceLocation (optional)", // An optional texture that is overlaid on top of the main (left) panel. "overlay": "ResourceLocation (optional)", "overlay_width": "integer (optional)", "overlay_height": "integer (optional)", "overlay_x_offset": "integer (optional)", "overlay_y_offset": "integer (optional)", // --- UI SIZING OPTIONS --- "left_panel_width": 275, "right_panel_width": 170, "panel_height": 166, // Position offsets for the panels. Defaults to 0. "left_panel_x_offset": 0, "left_panel_y_offset": 0, "right_panel_x_offset": 0, "right_panel_y_offset": 0, // --- TEXT CUSTOMIZATION --- "back_button_text": "gui.back", "collect_button_text": "questlog.reward.collect", "uncollected_text": "questlog.reward.uncollected", "collected_text": "questlog.reward.collected", // --- PALETTE OPTIONS --- "text_color": "#4C381B", "completed_text_color": "#529E52", "hovered_text_color": "#FFFFFF", "title_color": "#4C381B", "progress_text_color": "#9E7852" } ``` -------------------------------- ### Define a custom quest badge with texture, dimensions, and animation Source: https://moddedmc.wiki/en/project/questlog/latest/docs/questlog/quest_definition Add a custom badge to a quest definition to override the default exclamation mark icon. The badge object supports static images and animated vertical spritesheets; set frames greater than 1 to enable animation. For animated badges, the texture must be a vertical spritesheet with frames stacked top-to-bottom, and the game shifts rendering down by the height value each frame_time. ```json { // ... other quest properties ... "badge": { // The path to your custom texture "texture": "namespace:textures/gui/custom_badge.png", // The X and Y coordinates on the texture sheet to start rendering from (Defaults to 0) "u": 0, "v": 0, // The dimensions of the badge to render (Defaults to 16x16) "width": 16, "height": 16, // The total size of your texture file (Defaults to 256x256) "texture_width": 256, "texture_height": 256, // --- ANIMATION PROPERTIES (Optional) --- // The number of frames in your vertical spritesheet. // If greater than 1, the badge will be animated! (Defaults to 1) "frames": 4, // The duration (in milliseconds) each frame should be displayed (Defaults to 100) "frame_time": 150 } } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.