Learn everything you need to know about clue creation
Under the clues section of a tier, you can add and edit your clues.
The format to any clue is as follows:
clue0: #What the lore of the scroll displays this clue as lore: '&f* Kill %amount% skeleton: %completed%' #clueType clueType: kill #How many times does this action need to be completed amount: 10 #Displayed as title when clue is completed or if a clue is revealed. See screenshots below. objective: Kill %amount% skeleton #Displayed in chat when clue is completed. See screenshots below. clueName: Skeleton Killer #Optional data tags specifiing in detail what counts towards this clue #If all kills were to count towards this clue, this entire data section could simpliy not be included data: entitytype: skeleton
The clueType must be the name of the clue type. Below this section is a list of all clue types that you can currently use. There are internal clues as well as external clues which hook into various other plugins.
The data is optional, and can be used to specify specific requirements that must be meet in order to count towards that clue. If you don't want to specify any data, you don't need to include it in the config. In the list below this section, there is a list for each clue type with the various data types you can specify. Some are specified with text, numbers, and others are material types, entity types, color types, etc which can be found in the links below.
- Material - https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
- Entity - https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html
- Horse Variant - https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/Horse.Variant.html
- Horse Style - https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Horse.Style.html
- Horse Color - https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/Horse.Color.html
- Dye Color - https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/DyeColor.html
- Bucket Contents - water, lava, or milk (1.13+: cod, pufferfish, salmon, tropical_fish)
If you are not sure of what material should be used for a clue, if you have Essentials installed or another plugin which offers a similar command, you could use /itemdb while holding an item to determine what it's material is.
If a material type doesn't work on the first try, check the material list again searching for the item. There may be another name that's similar which you need to use. Prior to minecraft 1.13, a few of the materials had multiple names whether it was an item or a block. For example in 1.12, if you wanted to have an eat clue with the material to eat as carrot, it was easy to confuse the material names carrot and carrot_item. For the eat clue, you would need to use carrot_item because that represented the item, whereas with carrot that represented the block and would need to be used with a clue such as the break or place clue.
Another example of a problem you may encounter from using the wrong material could be seen with redstone_ore vs glowing_redstone_ore. In a break clue, you could need to use the glowing_redstone_ore because it has a different material name than redstone ore which hasn't been interacted with. If you were to have a place clue, you would need to use redstone_ore in that case because you're placing the item which isn't glowing.
Additionally, when ClueScrolls loads your config it will warn of any invalid data. You should check the clue it warns about and fix the invalid data in order for the clue to function properly. Taking a config which was made for 1.13 will have data types that don't exist in other versions or have been renamed.
Depending on the server version you are running, some of the data names are different.
The above links represent the latest spigotmc version. If you are running a different server version,
be sure to use the correct types.
It is also possible to give multiple values for data as a list of possible values.
For example, a clue may require the player to craft rails, but because there are different types of rails you could specifiy multiple values that could count towards that clue.
multidataexample: lore: '&a&l* &fCraft %amount% rails: %completed%' clueType: craft amount: 32 objective: Craft %amount% rails clueName: Railway Worker data: material: - rail - powered_rail - activator_rail - detector_rail
The amount is simply the amount of times that clue must be completed.
You can also uses ranges such as 10-25. When a range is specified, a random number will be chosen inclusively within that range to represent the amount.
The lore is what is displayed on the scroll item. You can use the %amount% placeholder to display the amount.
The metadata will be used to specify meta data in the future. At the moment, it can be used on clues which use materials for their data. For example, you could specify a specific wool type or fish type by including the metadata.
The objective and clueName are used in title bar messages when you complete a clue, and if you have only one clue being revealed on a scroll at a time, in a chat message telling the player more information on their next clue.
When completing a clue:
When completing a clue and revealing a new clue:
If there is a certain data you don't want to specify, you can either use the wildcard character to skip over and ignore it, or just don't including it in the config. When using the wildcard character * for either a data or metadata, it should be noted that is must always be surrounded by single quotes to prevent errors when loading the plugin configuration. It's just the way YAML treats the character. You should use it as a value like so '*'.
clue0: lore: '&f* Kill %amount% skeleton: %completed%' clueType: kill amount: 10 objective: Kill %amount% skeleton clueName: Skeleton Killer data: entitytype: skeleton entitycustomname: '&bSkelly Man'
clue10: lore: '&f* Shear %amount% pink sheep: %completed%' clueType: shear amount: 32-64 objective: Shear %amount% pink sheep clueName: Pink Shearer data: entitytype: sheep woolcolor: pink
This clue doesn't use any data because it doesn't matter what item or fish is caught.
fisherman: lore: '&f* Fish %amount% items: %completed%' clueType: fish amount: 3 objective: Fish %amount% items clueName: Item Fisher
This clue is for servers with MythicMobs installed.
killmythicmobsclue: lore: '&f* Kill %amount% Angry Sludge: %completed%' clueType: mythicmobs_death amount: 8 objective: Kill %amount% angry sludge clueName: Sludge Killer data: mythicmobtype: AngrySludge
This clue is for servers with Boss installed.
bosskill: lore: '&f* Kill %amount% the James Boss: %completed%' clueType: boss_death amount: 1 objective: Kill James clueName: James Killer data: #File name is James.yml bossname: James
Internal Clues (data)
- break (material, blockdata, blockx, blocky, blockz, world)
breakexample: lore: '&a&l* &fBreak %amount% stone: %completed%' clueType: break amount: 64 objective: Break %amount% stone clueName: Stone Miner data: material: stone
- place (material, blockdata, blockx, blocky, blockz, world)
placeexample: lore: '&a&l* &fPlace %amount% TNT: %completed%' clueType: place amount: 64 objective: Place %amount% TNT clueName: Griefer data: material: TNT
- breed (entitytype, entitycustomname, world)
The breed clue is only available in 1.11.1+ server versions due the the plugin event it needs which does not exist prior to 1.10.
breedexample: lore: '&a&l* &fBreed %amount% wolves: %completed%' clueType: breed amount: 4 objective: Breed %amount% wolves clueName: 'Man''s best friend' data: entitytype: wolf
- bucketfill (bucketcontents, world)
bucketfillexample: lore: '&a&l* &fFill %amount% buckets with lava: %completed%' clueType: bucketfill amount: 10 objective: Fill %amount% lava buckets clueName: Lava Collector data: bucketcontents: lava
- bucketempty (bucketcontents, world)
bucketemptyexample: lore: '&a&l* &fEmpty %amount% buckets: %completed%' clueType: bucketempty amount: 20 objective: Empty %amount% buckets clueName: Disk cleaner
- chat (sentence)
chatexample: lore: '&a&l* &fChat "wb"' clueType: chat amount: 1 objective: 'Chat "wb"' clueName: Greeter data: sentence: wb
- command (command, fullcommand)
commandexample: lore: '&a&l* &fEnable flight' clueType: command amount: 1 objective: Enable flight clueName: Flyer data: command: fly
- craft (material, itemdata, itemname, world)
craftexample: lore: '&a&l* &fBake %amount% cakes: %completed%' clueType: craft amount: 16 objective: Bake %amount% cakes clueName: Baker data: material: cake
- death (cause, world)
deathexample: lore: '&a&l* &fDie of starvation' clueType: death amount: 1 objective: Starve to death clueName: Hungry data: cause: starvation
- eat (material, itemdata, itemname, world)
eatexample: lore: '&a&l* &fEat %amount% golden apples: %completed%' clueType: eat amount: 8 objective: Eat %amount% apples clueName: Notch Food data: material: golden_apple
- enchant (material, itemdata, itemname, world)
Note that the wooden_sword is a 1.13+ material name. If you wanted to use this clue in previous minecraft versions, you would need to use wood_sword.
enchantexample: lore: '&a&l* &fEnchant %amount% swords: %completed%' clueType: enchant amount: 16 objective: Enchant %amount% swords clueName: Enchanter data: material: - diamond_sword - golden_sword - iron_sword - stone_sword - wooden_sword
- expgain (world)
expgainexample: lore: '&a&l* &fGain %amount% experience points: %completed%' clueType: expgain amount: 1000 objective: Gain %amount% experience points clueName: Experience Grinder
- fish (material, itemdata, itemname, world)
fishexample: lore: '&a&l* &fCatch %amount% saddles from fishing: %completed%' clueType: fish amount: 2 objective: Catch %amount% saddles from fishing clueName: Lucky data: material: saddle
- glide (world)
glidexample: lore: '&a&l* &fGlide %amount% blocks: %completed%' clueType: glide amount: 1000 objective: Glide %amount% blocks clueName: Flying Squirrel
- harvest (material, blockdata, world)
For the harvest clue, use the following material names. Depending on server version there many differences so the following names have been assigned to be used to abstract and make it easier to create this clue
Material - wheat, carrot, potato, beetroot (1.9+ servers), nether_wart, cocoa, pumpkin, and melon.
harvestexample: lore: '&a&l* &fHarvest %amount% wheat: %completed%' clueType: harvest amount: 64 objective: Harvest %amount% wheat clueName: Harvester data: material: wheat
- horsejump (variant, color, style, world)
horsejumpexample: lore: '&a&l* &fJump %amount% times on a horse: %completed%' clueType: horsejump amount: 16 objective: Jump %amount% times on a horse clueName: Rider
- interactentity (entitytype, entitycustomname, world)
interactentityexample: lore: '&a&l* &fInteract with a villager %amount% times: %completed%' clueType: interactentity amount: 12 objective: Interact with a villager %amount% times clueName: Village Man data: entitytype: villager
- kill (entitytype, entitycustomname, world)
killexample: lore: '&a&l* &fKill %amount% players: %completed%' clueType: kill amount: 100 objective: Kill %amount% players clueName: Murderer data: entitytype: player
- permission (permission)
This clue can cause your server, especially ones with larger player bases, significant lag. Although this clue exists, it is not recommend using this. By default this clue is disabled in the config.yml. To enable it, you must set the runnableClueRefreshRate.permission field to some amount of time in seconds. It is not recommend to have a refresh rate any quicker than 60 seconds. The more often this refresh runs, the more lag will be cause.
permissionexample: lore: '&a&l* &fGain access to /fly' clueType: permission amount: 1 objective: 'Gain access to /fly' clueName: New Flyer data: permission: essentials.fly
- ride (vehicletype [an entitytype], world)
The vehicletype is any entitytype as with any other clue such as the kill clue and its entitytype data field.
rideexample: lore: '&a&l* &fRide a pig %amount% blocks: %completed%' clueType: ride amount: 500 objective: Ride a pig %amount% blocks clueName: Rider data: vehicletype: pig
- shear (entitytype, woolcolor [DyeColor string] or wooldata [to specify the data id value of the color], world)
shearexample: lore: '&a&l* &fShear %amount% sheep: %completed%' clueType: shear amount: 20 objective: Shear %amount% sheep clueName: Shearer
orangesheepexample: lore: '&f* Shear %amount% orange sheep: %completed%' clueType: shear amount: 10 objective: Shear %amount% orange sheep clueName: Shear data: woolcolor: orange
- swim (world)
swimexample: lore: '&a&l* &fSwim %amount% blocks: %completed%' clueType: swim amount: 1000 objective: Swim %amount% blocks clueName: Swimer
- tame (entitytype, entitycustomname, world)
tameexample: lore: '&a&l* &fTame %amount% cats: %completed%' clueType: tame amount: 5 objective: Tame %amount% cats clueName: Cat Master data: entitytype: ocelot
- walk (world)
walkexample: lore: '&a&l* &fWalk %amount% blocks: %completed%' clueType: walk amount: 1000 objective: Walk %amount% blocks clueName: Walker
External Clues (data)
- askyblock_challengecomplete (challengename, rewardtext)
- askyblock_islandcreate (schematicname, protectionsize)
- askyblock_islandreset ()
- askyblock_enterisland (islandowner [player name], protectionsize)
- askyblock_exitisland (islandowner [player name], protectionsize)
- askyblock_joinisland (islandowner [player name], protectionsize)
- askyblock_leaveisland (islandowner [player name], protectionsize)
- askyblock_minishopbuy (material, itemdata)
- askyblock_minishopsell (material, itemdata)
- askyblock_jointeam (teamleader [player name])
- askyblock_leaveteam (teamleader [player name])
- askyblock_warpcreate ()
- askyblock_warpremove ()
- askyblock_visitisland (islandowner (player name), protectionsize)
- auctionhouse_sell (soldprice, material, itemdata, itemname)
- auctionhouse_start (startingprice, material, itemdata, itemname)
- auctionhouse_win (soldprice, material, itemdata, itemname)
- auctions_sell (soldprice, bidincrement, material, itemdata, itemname)
- auctions_start (startingprice, bidincrement, material, itemdata, itemname)
- auctions_win (soldprice, bigincrement, material, itemdata, itemname)
- autorank_promote (fromgroup, togroup, world)
- autosell_autosell (material, itemdata)
- autosell_sellall (material, itemdata)
- autosell_signsellall (material, itemdata)
- boss_death (entitytype, entitycustomname, bossname, world)
- chatreaction_win (word)
- cratereloaded_opencrate (cratename, cratetype)
- crazycrates_opencrate (cratename, cratetype)
- deluxechat_chat (sentence, idenfitier)
- epicbosses_death (entitytype, bossname, world)
- morefish_catch (length, name, rarity)
- mythicmobs_death (entitytype, entitycustomname, mythicmobtype, world)
- towny_townenter (town, world)
- towny_townexit (town, world)
- towny_towncreate (town, world)
- towny_nationenter (nation, world)
- towny_nationexit (nation, world)
- towny_nationcreate (nation, world)
Blocks represents a number of how many blocks existed in that tree
- ultimatetimber_fell (blocks, world)
- uskyblock_islandcreate (schematicname)
- uskyblock_joinisland (islandowner)
- uskyblock_leaveisland (islandowner)
- uskyblock_islandrestart ()
NuVotifier is a drop in replacement for votifier. You can use this votifier clue as normal with NuVotifier installed as an alternative
- votifier_vote (service, address)