Clue Creation

Learn everything you need to know about clue creation

Overview

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.

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.

Here you can find a detailed list with links to use if you are running another server version

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:
Completing a clue

When completing a clue and revealing a new clue:
Completing a clue and revealing a new clue

Basic examples

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

ASkyBlock

  • 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

AuctionHouse

  • auctionhouse_sell (soldprice, material, itemdata, itemname)
  • auctionhouse_start (startingprice, material, itemdata, itemname)
  • auctionhouse_win (soldprice, material, itemdata, itemname)

Auctions

Auctions

  • auctions_sell (soldprice, bidincrement, material, itemdata, itemname)
  • auctions_start (startingprice, bidincrement, material, itemdata, itemname)
  • auctions_win (soldprice, bigincrement, material, itemdata, itemname)

AutoRank

AutoRank

  • autorank_promote (fromgroup, togroup, world)

AutoSell

AutoSell

  • autosell_autosell (material, itemdata)
  • autosell_sellall (material, itemdata)
  • autosell_signsellall (material, itemdata)

Boss

Boss

  • boss_death (entitytype, entitycustomname, bossname, world)

ChatReaction

ChatReaction

  • chatreaction_win (word)

CrateReloaded

CrateReloaded

  • cratereloaded_opencrate (cratename, cratetype)

CrazyCrates

CrazyCrates

  • crazycrates_opencrate (cratename, cratetype)

DeluxeChat

DeluxeChat

  • deluxechat_chat (sentence, idenfitier)

EpicBosses

EpicBosses

  • epicbosses_death (entitytype, bossname, world)

MoreFish

MoreFish

  • morefish_catch (length, name, rarity)

MythicMobs

MythicMobs

  • mythicmobs_death (entitytype, entitycustomname, mythicmobtype, world)

Towny

Towny

  • towny_townenter (town, world)
  • towny_townexit (town, world)
  • towny_towncreate (town, world)
  • towny_nationenter (nation, world)
  • towny_nationexit (nation, world)
  • towny_nationcreate (nation, world)

UltimateTimber

UltimateTimber

Blocks represents a number of how many blocks existed in that tree

  • ultimatetimber_fell (blocks, world)

uSkyBlock

uSkyBlock

  • uskyblock_islandcreate (schematicname)
  • uskyblock_joinisland (islandowner)
  • uskyblock_leaveisland (islandowner)
  • uskyblock_islandrestart ()

Votifier

Votifier

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)

World Guard

WorldGuard

In order to use these WorldGuard clues, you must have the WorldGuard Region Events dependeny installed!

  • worldguard_regionenter (region, world)
  • worldguard_regionexit (region, world)