Welcome to Theo's Questlog JSON Quest Generator! Whilst attempting to create a quest for Questlog, Neko noted how confusing it all was for various reasons! I, not knowing a lick of JSON, was also lost! But I've also been on a big tool creation kick, so I set out to create the Questlog Generator! The documentation on Questlog can be confusing and lacking in data, so I've presented it here in a more human way, and even supplied modpack creators with a handy dandy generator to make life easier!
Display
Title: The name of your quest! Shows up in the Questlog UI. Description: What your quest is about! Use /n to create new lines. Icon: The icon that shows up for your quest. Item: Input an item ID from vanilla or a mod to set it as your quest's icon. Texture: This option is there to point to an image in a directory. This is to make the icon render as a block rather than an item! Sound: The sound that will play upon completion of the quest or when the quest is triggered (set via the dropdown). The dropdown is pre-populated with oodles of minecraft's sound IDs, but there is also a text field for custom sounds from mods - should you need it. Notifications Toast on Trigger: A little popup will show up when the quest is triggered. Toast on Complete: A little popup will show up when the quest is completed. Show Popup: Yay or nay? Do you want the popup at all, or would you prefer the quest stay to it's UI? Hide: Checking this box will hide the quest in the Questlog UI when opened after completion.
Objectives
Types:
questlog:stat Tracksincestart questlog:block_mine/questlog:block_place Tracks when a block is mined or placed. Which block, how many, etc. questlog:entity_breed
questlog:entity_death Does not track kills, only deaths. questlog:entity_kill Tracks the kills by the player unto the specified enemy. questlog:item_craft
questlog:item_drop
questlog:item_equip
questlog:item_obtain
questlog:item_pickup
questlog:item_use
questlog:visit_biome
questlog:visit_dimension
questlog:visit_position
questlog:trample
questlog:enchant
questlog:effect_added
Triggers
This entire section is effectively just the objective types repeated, but for a different function. These fields will be the determining factor for what will trigger your quest to be given to a player.
Rewards
Types: questlog:item: Recieve an item for your reward. questlog:command: Run a command for your reward. Awesome for something like granting temporary buffs or debuffs for a player's actions, but you could do anything! questlog:experience: Grant the player EXP for completing the quest. questlog:loot_table: Grant the player any item from a loot table in the game. questlog:quest: Triggers another quest, allowing for follow-ups.
Name: This is the title that shows up only on the quest completion popup! Description: This is the description that will show up after the quest is complete and you've gained your reward. Icon: Same deal with the other icon fields! Sound: Same deal with the other sound fields!
Style
Style guide available once I also figure out how to use it...
Using The JSON Output
After you've generated a quest through the Questlog Generator, you can use it in Questlog! To do this, make sure you've downloaded the latest version of the mod here. Once the mod is installed, go ahead and generate your quest using the guide above! Download your JSON file, and place it in the datapacks location in your world's folder. I use curseforge, so that filepath looks something like this for me:
In the questlog folder, you should also have a quests.JSON file that directs the mods to your quests. A template can be found here. Be extra sure all your filenames are input correctly. I recommend having at least one quest that will popup as soon as you join the world so that testing will allow you to know immediately if the quests installed correctly.