Recipe Flags


WHAT ARE FLAGS ?
  Flags are the stuff that make a recipe very special! You can add various features to a recipe by using flags.
  For examples see advanced recipes.html.

USING FLAGS
  Flags can be added in 4 'zones':
  - at the beginning of the file - which are copied to all recipes from that file.
  - after recipe type (CRAFT, COMBINE, etc) - where they affect that specific recipe, you may even overwrite file flags for that specific recipe!
  - after recipe ingredients - to apply basic item requirements to a specific ingredient.
  - after recipe's individual results - to apply flags for the result items.

ABOUT ARGUMENTS
  Flags have arguments but not always are they all required.
  Arguments enclosed between < and > are required and those enclosed between [ and ] are optional.
  Some arguments may have 'or false', that means you can just type false in there to make it do something special (most likely disable the flag or a feature)

ALIASES
  They're just other names for the flag that you can use, they have no special effect if used, only for your preference.



CONTENTS

RECIPE FLAGS - @addtobook - @biome - @blockpowered - @broadcast - @command - @cooldown - @displayresult - @explode - @failmessage - @forchance - @fordelay - @forpermission - @forrepeat - @gamemode - @group - @height - @holditem - @individualresults - @ingredientcondition - @inventory - @itemlore - @itemname - @itemnbt - @keepitem - @launchfirework - @lightlevel - @message - @modexp - @modlevel - @modmoney - @needexp - @needlevel - @needmoney - @override - @permission - @potioneffect - @remove - @restrict - @secret - @setblock - @sound - @spawnparticle - @summon - @temperature - @weather - @world INGREDIENT FLAGS - @banneritem - @bookitem - @custommodeldata - @enchantedbook - @enchantitem - @fireworkitem - @fireworkstaritem - @itemattribute - @itemlore - @itemname - @itemnbt - @itemunbreakable - @leathercolor - @localizedname - @monsterspawner - @potionitem - @repaircost - @skullowner - @suspiciousstewitem RESULT FLAGS - @applyenchantment - @banneritem - @biome - @blockpowered - @bookitem - @broadcast - @cloneingredient - @command - @cooldown - @custommodeldata - @enchantedbook - @enchantitem - @explode - @fireworkitem - @fireworkstaritem - @forchance - @fordelay - @forpermission - @forrepeat - @gamemode - @getrecipebook - @group - @height - @hide - @holditem - @ingredientcondition - @inventory - @itemattribute - @itemlore - @itemname - @itemnbt - @itemunbreakable - @keepitem - @launchfirework - @leathercolor - @lightlevel - @localizedname - @message - @modexp - @modlevel - @modmoney - @monsterspawner - @needexp - @needlevel - @needmoney - @noresult - @permission - @potioneffect - @potionitem - @repaircost - @secret - @setblock - @skullowner - @sound - @spawnparticle - @summon - @suspiciousstewitem - @temperature - @weather - @world
^ Contents @addtobook <book id> [volume <num>] This flag is a shortcut for quickly adding recipe(s) to books. Using this flag more than once will overwrite the previous one. The book must exist first, you must create it, see 'recipe books.html' for how to do that. The '<book id>' argument must be an existing book's ID/filename, case insensitive. Optionally you can specify which volume to add it to, otherwise it will be added in its 'recipes' node and left to be added automatically to the latest volume with free slots. NOTE: To properly remove recipes from books you must first remove this flag (to avoid re-adding them) then go to the book's YML file and remove them from there as well. Setting to 'false' or 'remove' will disable the flag. Examples: @addtobook testing book // matches a 'Testing Book.yml' book for example @addtobook random stuff volume 3 // matches a 'Random Stuff.yml' with volume 3 book for example Aliases: @recipebook
^ Contents @applyenchantment <arguments> Applies the enchantments from books onto the result Using this flag more than once will overwrite the previous one. As '<arguments>' you must define at least one feature to copy from the ingredient to the result. Arguments can be one or more of the following, separated by | character: ingredientaction <action> = (default largest) merge action for all of the ingredients resultaction <action> = (default largest) merge action applied to the result ignorelevel = Ignore enchantment level restrictions maxlevel <level> = Restrict the maximum level onlybooks = Only copies enchantments from Enchanted Books. Without this, all item enchantments will be copied Actions include: largest = Use the largest of the two enchantments if two are merged (Sharpness I + Sharpness III = Sharpness III) combine = Add the enchantment levels together (Sharpness I + Sharpness III = Sharpness IV) anvil = Combine enchantments similar to anvils (Sharpness I + Sharpness II = Sharpness II) and (Sharpness II + Sharpness II = Sharpness III) Setting to 'false' or 'remove' will disable the flag. Examples: @applyenchantment @applyenchantment resultaction combine // Combines the levels with the resulting item's enchants @applyenchantment ingredientaction combine | ignorelevels | onlybooks // Combines all ingredients levels from books while allowing higher than vanilla allowed enchants Aliases: @applyenchant, @applyenchantments, @applyenchants
^ Contents @banneritem <basecolor> | [pattern] <color> | [...] Creates a custom banner Using this flag more than once will overwrite the previous one. The <basecolor> argument is required Values: white, orange, magenta, light_blue, yellow, lime, pink, gray, light_gray, cyan, purple, blue, brown, green, red, black Patterns can be added after the base color and are separated by the '|' character [pattern] is the banner pattern type Values: name index.html#bannerpattern <color> is required for each pattern, color values are the same as <basecolor> Multiple patterns can be added Setting to 'false' or 'remove' will disable the flag. Examples: @banneritem black @banneritem red | circle_middle blue | skull yellow @banneritem green | half_horizontal yellow | circle_middle orange Aliases: @banner
^ Contents @biome <types> | [fail message] Sets the biome required to allow crafting. Using this flag more than once will overwrite the previous one. For '<types>' you can list the biomes you want to allow or disallow. It needs at least one biome name and you can add more separated by , character. Also you can disallow biomes by prefixing them with ! character. Biomes: name index.html#biomes Setting to 'false' or 'remove' will disable the flag. Examples: @biome jungle, jungle_hills @biome !mushroom_fields, !mushroom_field_shore
^ Contents @blockpowered [arguments] Requires the workbench or furnace block to be powered by redstone. Optionally you can use the following arguments separated by | character and in any order: indirect = check for indirect redstone power, through other blocks. failmsg <message> = overwrite the failure message. Setting to 'false' or 'remove' will disable the flag. Examples: @blockpowered @blockpowered failmsg <red><bold>YOU HAVE NO (indirect) POWAAH!!! | indirect Aliases: @poweredblock, @blockpower, @redstonepowered
^ Contents @bookitem title [text] @bookitem author [text] @bookitem addpage [text] Changes book's contents. Using this flag more than once will configure the same flag. Supports colors and format (e.g. <red>, <blue>, &4, &F, etc). Use 'title <text>' and 'author <text>' only on written books, it doesn't work on book and quill therefore they're optional. Title and author must not exceed 64 characters, colors included (2 chars each). Use 'addpage <text>' to add a new page, the text can contain \n to add new lines to it, but it mainly word-wraps itself. Page contents must not exceed 256 characters, colors (2 chars each) and new line (1 char each) included. Optionally you can leave the text blank to add a blank page. Supported items: written book, book and quill. Allows quotes to prevent spaces being trimmed. Setting to 'false' or 'remove' will disable the flag. Examples: @bookitem title The Art of Stealing @bookitem author Gray Fox @bookitem addpage <bold>O<reset>nce upon a time... @bookitem addpage // added blank page @bookitem addpage \n\n\n\n<italic> The End. @bookitem title " The Art of Stealing " // Quotes at the beginning and end will be removed, but spaces will be kept. @bookitem author " Gray Fox " @bookitem addpage " <bold>O<reset>nce upon a time... " Aliases: @book
^ Contents @broadcast <text> | [permission] Prints a chat message for all online players. Using this flag more than once will overwrite the previous message. Optionally you can set a permission node that will define who sees the message. Colors are supported (<red>, &5, etc). You can also use these variables: {player} = crafter's name or '(nobody)' if not available {playerdisplay} = crafter's display name or '(nobody)' if not available {result} = the result item name or '(nothing)' if recipe failed. {recipename} = recipe's custom or autogenerated name or '(unknown)' if not available {recipetype} = recipe type or '(unknown)' if not available {inventorytype} = inventory type or '(unknown)' if not available {world} = world name of event location or '(unknown)' if not available {x} = event location's X coord or '(?)' if not available {y} = event location's Y coord or '(?)' if not available {z} = event location's Z coord or '(?)' if not available Relative positions are supported: {x-1},{y+7},{z+12} {rand #1-#2} = output a random integer between #1 and #2. Example: {rand 5-10} will output an integer from 5-10 {rand #1-#2, #3} = output a random number between #1 and #2, with decimal places of #3. Example: {rand 1.5-2.5, 2} will output a number from 1.50 to 2.50 {rand n} = reuse a random output, where n is the nth {rand} used excluding this format Allows quotes to prevent spaces being trimmed. Setting to 'false' or 'remove' will disable the flag. Examples: @broadcast {playerdisplay} <green>crafted something! @broadcast '{player}' crafted '{recipename}' at {world}: {x}, {y}, {z} | ranks.admins @broadcast " Extra space " // Quotes at the beginning and end will be removed, but spaces will be kept. Aliases: @announce, @msgall
^ Contents @cloneingredient <arguments> Clones the ingredient matching material of the result used on. Using this flag more than once will overwrite the previous one. As '<arguments>' you must define at least one feature to copy from the ingredient to the result. Arguments can be one or more of the following, separated by | character: data [<mod> <value>] = copy data value with optional modifier, <mod> can be +,-,/,* or % as math operator and <value> a number. amount [<mod> <value>] = copy stack amount with optional modifier, <mod> can be +,-,/,* or % as math operator and <value> a number. enchants = copies the enchantments. name = copies the custom item name. lore [number or text or regex:pattern] = copies all the custom item lore/description unless conditions are added to copy specific lines. [number] = copies only the lore on line number. More lore conditions can be added to copy more lines [text] = copies any lore lines that contain the text [regex:pattern] = copies any lore lines that match the regex pattern. Escape for '|' is a double '||'. Any double pipes will be converted back to single pipes for regex parsing. special = copies item's special feature like leather armor color, firework effects, book contents, skull owner, etc. allmeta = copies enchants, name, lore and special. all = copies entire item (data, amount, enchants, name, lore, special) allowedtypes <type, ...> = set material types other than the result type that can be cloned from NOTE: If the result's material is present in the ingredients more than once, when using the recipe it will clone the details of first item in the grid. To apply conditions for ingredients (ranged data values, specific names, etc) then you can use the @ingredientcondition flag too. Setting to 'false' or 'remove' will disable the flag. Examples: @cloneingredient data // just copy data value @cloneingredient data +2 // copy data value and add 2 to it @cloneingredient amount * 2 // copy amount and multiply it by 2 @cloneingredient data % 2 // get the remainder from data divided by 2. @cloneingredient data | amount | lore // only copy these things @cloneingredient all // copy entire ingredient @cloneingredient all | allowedtypes stone_axe, iron_axe // copy ingredients from the first ingredient that matches a stone axe, iron axe, or the result type Aliases: @clone, @copy, @copyingredient
^ Contents @command <text or false> Executes the command when recipe is successful. This flag can be used more than once to add more commands to the list. Commands are executed server-side, if you add / prefix it will execute the command on the crafter. You can also use these variables: {player} = crafter's name or '(nobody)' if not available {playerdisplay} = crafter's display name or '(nobody)' if not available {result} = the result item name or '(nothing)' if recipe failed. {recipename} = recipe's custom or autogenerated name or '(unknown)' if not available {recipetype} = recipe type or '(unknown)' if not available {inventorytype} = inventory type or '(unknown)' if not available {world} = world name of event location or '(unknown)' if not available {x} = event location's X coord or '(?)' if not available {y} = event location's Y coord or '(?)' if not available {z} = event location's Z coord or '(?)' if not available Relative positions are supported: {x-1},{y+7},{z+12} {rand #1-#2} = output a random integer between #1 and #2. Example: {rand 5-10} will output an integer from 5-10 {rand #1-#2, #3} = output a random number between #1 and #2, with decimal places of #3. Example: {rand 1.5-2.5, 2} will output a number from 1.50 to 2.50 {rand n} = reuse a random output, where n is the nth {rand} used excluding this format Setting to 'false' or 'remove' will disable the flag. Examples: @command /say I crafted {result}! @command kick {player} Aliases: @cmd, @commands
^ Contents @cooldown <number>[suffix] | [arguments] @cooldown false Sets a cooldown time for crafting a recipe or result. Once a recipe/result is used, the crafter can not craft it again for the specified amount of time. If set on a result, the result will be unavailable to the crafter for the cooldown time but the rest of results and the recipe will work as before. NOTE: cooldown is reset when reloading/restarting server. The <number> argument must be a number, by default it's seconds. The [suffix] argument defines what the <number> value is scaled in, values for suffix can be: s = for seconds (default) m = for minutes h = for hours You can also use float values like '0.5m' to get 30 seconds. Optionally you can add some arguments separated by | character, those being: global = make the cooldown global instead of per-player. msg <text> = overwrites the information message; false to hide; supports colors; use {time} variable to display the new cooldown time. failmsg <text> = overwrites the failure message; false to hide; supports colors; use {time} variable to display the remaining time. Setting to 'false' or 'remove' will disable the flag. Examples: @cooldown 30 @cooldown 30s // exactly the same as the previous flag @cooldown 1.75m | failmsg <red>Usable in: {time} // 1 minute and 45 seconds or 1 minute and 75% of a minute. @cooldown .5h | global | failmsg <red>Someone used this recently, wait: {time} | msg <yellow>Cooldown time: {time} // half an hour Aliases: @cooltime
^ Contents @custommodeldata <number> Changes result's custom model data. Used with custom datapacks Setting to 'false' or 'remove' will disable the flag. Examples: @custommodeldata 7 @custommodeldata 1234567 Aliases: @modeldata
^ Contents @displayresult <item or first> | [silentfail] Sets the display result of the recipe. Using this flag more than once will overwrite the previous message. As 'item' argument you can define an item like in a result, material:data:amount. Or you can set the item as 'first' to use the first display result available, very useful for multiple results having @ingredientcondition flag on them. Optionally, using 'silentfail' argument you can make the recipe print no result if it wouldn't give anything in the case of no results being allowed to craft (by other flags, like @ingredientcondition). NOTE: If there is no item to be displayed (all are secret or unavailable), using this with 'first' will not do anything. NOTE: Can only be used on workbench recipes because it can not have effect on other recipes. Setting to 'false' or 'remove' will disable the flag. Examples: @displayresult first // displays the first available result @displayresult diamond_helmet:120 // damaged diamond helmet Aliases: @resultdisplay, @showresult
^ Contents @enchantedbook <enchant> [level or max] Adds stored enchantments in a enchanted book item. This flag may be used more times to add more enchantments to the item. You must specify an enchantment name or id, see name index.html#enchantment Optionally you can set the level of enchantment Default is the enchantment's start level You can use 'max' to set it to enchantment's max level. You can use 'remove' to remove the enchantment (from a cloned ingredient) Enchantments are forced and there is no level cap! Specific item: enchanted_book Setting to 'false' or 'remove' will disable the flag. Examples: @enchantedbook efficiency // dig_speed alias @enchantedbook damage_all max @enchantedbook arrow_fire 127 @enchantedbook sharpness remove Aliases: @enchantbook, @enchantingbook
^ Contents @enchantitem <enchantment> [level] Enchants the result with the specified enchantment at specified level. You must specify an enchantment name, see name index.html#enchantment Optionally you can set the level of enchantment Default is the enchantment's start level You can use 'max' to set it to enchantment's max level. You can use 'remove' to remove the enchantment (from a cloned ingredient) Enchantments are forced and there is no level cap! This flag may be used more times to add more enchantments to the item. Setting to 'false' or 'remove' will disable the flag. Examples: @enchantitem OXYGEN // enchant with oxygen at level 1 @enchantitem DIG_SPEED max // enchant with dig speed at max valid level @enchantitem ARROW_INFINITE 127 // enchant with arrow infinite forced at level 127 @enchantitem SHARPNESS remove // removes a sharpness enchant Aliases: @enchant, @enchantment
^ Contents @explode <arguments or false> Makes the workbench/furnace/player explode when recipe is crafted. This flag can only be declared once per recipe and once per result. Replace <arguments> with the following arguments separated by | character: power <0.0 to ...> = (default 2.0) Set the explosion power, value multiplied by 2 is the range in blocks; TNT has 4.0 fire = (default not set) Explosion sets fires. nobreak = (default not set) Makes explosion not break blocks. nodamage [self] = (default not set) Explosion doesn't damage players or only the crafter if 'self' is specified. fail = (default not set) Explode if recipe failed as opposed to succeed. fuel <start,end,random> = (default start) Causes the explosion to happen at different times. Can only be used on fuel recipes. All arguments are optional and you can specify these arguments in any order. Setting to 'false' or 'remove' will disable the flag. Examples: @explode // will explode when recipe succeeds with power 2 and breaks blocks @explode nobreak | fire | power 6 // will explode without block damage but sets fires @explode fail | power 2 // will explode when recipe fails @explode fuel end // On a fuel recipe, will cause the explosion to happen after the fuel runs out @explode fuel random // On a fuel recipe, will cause the explosion to happen sometime randomly before the fuel runs out Aliases: @explosion, @boom, @tnt
^ Contents @failmessage [message or false] Changes the message when recipe fails due to failure chance. Using this flag more than once will overwrite the previous message. The message supports colors (<red>, &3, etc). You can also use the following variables inside the message: {failchance} = recipe's chance of failure as a number. {successchance} = recipe's chance of success as a number. {resultchance} = result's chance of success as a number. The same effect can be achieved by using @message on the fail result item. Allows quotes to prevent spaces being trimmed. Setting to 'false' or 'remove' will disable the flag. Examples: @failmessage <red>YOU FAILED, MWaHahahah! @failmessage " Extra space " // Quotes at the beginning and end will be removed, but spaces will be kept. Aliases: @failmsg
^ Contents @fireworkitem effect <effect data> @fireworkitem power <0-128> Configures firework rocket's effects. Using this flag more than once will append changes to the item. The 'effect' setting adds an effect to the rocket. Replace '<effect arguments>' with the following arguments separated by | character. Effects can be: color <red> <green> <blue>, ... = (Required) Sets the primary explosion color(s), you can define more colors separated by comma. fadecolor <red> <green> <blue>, ... = (Optional) Color(s) of the explosion fading, you can define more colors separated by comma. type <explode type> = (Optional) Shape/size of explosion, see: name index.html#fireworkeffect trail = (Optional) Adds a trail to the explosion flicker = (Optional) Adds a flicker to explosion Effects can be listed in any order. Colors must be 3 numbers ranging from 0 to 255, basic RGB format. The 'power <number 0-128>' value sets how long rocket will fly, each number is 0.5 seconds of flight, default 2, recommended max 4. Specific item: firework. Setting to 'false' or 'remove' will disable the flag. Examples: @fireworkitem effect color 0 255 0 @fireworkitem effect trail | color 255 0 0 | type burst @fireworkitem effect color 255 0 200, 0 255 0, 255 128 0 | trail | type ball_large | fadecolor 255 0 0, 0 0 255, 0 255 0 @fireworkitem power 1 Aliases: @firework, @fireworkrocket
^ Contents @fireworkstaritem <effect arguments> Configures firework charge's effect. Using this flag more than once will overwrite previous changes since the item only supports one effect. Replace '<effect arguments>' with the following arguments separated by | character. Effects can be: color <red> <green> <blue>, ... = (Required) Sets the primary explosion color(s), you can define more colors separated by comma. fadecolor <red> <green> <blue>, ... = (Optional) Color(s) of the explosion fading, you can define more colors separated by comma. type <explode type> = (Optional) Shape/size of explosion, see: name index.html#fireworkeffect trail = (Optional) Adds a trail to the explosion flicker = (Optional) Adds a flicker to explosion Effects can be listed in any order. Colors must be 3 numbers ranging from 0 to 255, basic RGB format. Specific item: firework_star. Setting to 'false' or 'remove' will disable the flag. Examples: @fireworkstaritem trail | color 255 0 0, 0 255 0 | type ball_large @fireworkstaritem type creeper | color 0 255 0 | fadecolor 255 0 0, 0 255 0 | flicker Aliases: @fireworkstar, @fireworkchargeitem, @fireworkcharge, @fireworkeffect
^ Contents @forchance <group> [chance]% [^]@[flag declaration] @forchance <chance>% [^]@<flag declaration> Triggers other flags or groups of flags by specified chance. Using this flag more than once will add more flags. The 'group' argument defines a group for the flags (not permission related), can be any combination of letters only, no spaces either. Grouping flags makes the system pick only one flag from the bunch which means it's also limited to 100% total chance. If a group is not defined then the flags will be added to the default group which is a special group that will trigger flags randomly according to their chance, it can trigger all at once or even none at all. The 'chance' argument suggests a chance value that can be between 0.01 and 100 and the '%' suffix is required. The chance argument is only optional if there's a group defined, then the remaining chance will be evenly split between all flags with undefined chance. The 'flag declaration' is a flag like you'd add a flag to a recipe or result, you can even add this flag into itself to make multi-chance structures. The flag declaration argument is only optional if there's a group defined and will act as literally nothing. Optionally you can prefix the flag declaration with the '^' character to append the data from the flag to the previous flag of the same type from the same group (no group is still a group, but a special one). NOTE: If using '^' prefix, always use '^' and '@' together like '^@', no space in between. NOTE: In a group there must be at least a chance value or a flag declaration. Setting to 'false' or 'remove' will disable the flag. Examples: // some simple example @forchance 25% @explode // 25% chance to explode // appending to flags example @forchance 80% @command say high chance message! @forchance 50% @command say 50-50 message... // this is a totally new flag, individual from the previous one. @forchance ^@command say extra message! // this command will be appended to the previous command flag. @forchance ^@command say extra-large message!!! // this will also add append to the same previous command flag, now it has 3 commands. // all flags in a group must have a total of 100% chance since only one triggers, in this case the chance is calculated and it would be 33.33% for each. @forchance mystuff @sound level_up @forchance mystuff @sound note_bass @forchance mystuff @sound hurt // example of empty flag definition as nothing chance @forchance dostuff @broadcast yay! @forchance dostuff 75% // this sets the 'dostuff' group to do nothing 75% of the time // forchanception @forchance 50% @forchance 25% @forchance test @broadcast chanception occurred! // NOTE all of the examples above can be used in a single recipe if you want, there's no limit to the combinations! Aliases: @bychance, @chance
^ Contents @fordelay <delay> @<flag declaration> @fordelay @<flag declaration> // Add more flags to the previous one Run other flags after a delay. You can specify this flag more than once. The <delay> is the number of ticks that the <flag declarations>'s will be delayed by. The '<flag declaration>' must be a flag that will work without affecting the result. Setting to 'false' or 'remove' will disable the flag. Examples: @fordelay 100 @command /summon lightning_bolt ~ ~ ~ // 100 ticks after craft, summon lightning @fordelay 100 @forrepeat 5 10 @command /summon lightning_bolt ~{rand -5-5} ~ ~{rand -5-5} // @fordelay can be chained with @forrepeat for even more customization Aliases: @delay
^ Contents @forpermission <permission node> @<flag declaration> Adds other flags with permission requirements. You can specify this flag more than once to add more permissions or more flags to a permission. Basically this is a storage for flags and will only trigger them if the crafter has the required permission. This is useful for using different values for flags on the same recipe but for different permissions. The '<permission node>' argument must be a permission node. The '<flag declaration>' must be a flag that will work on the current recipe or result. For extra awesomeness you can even add this flag inside itself! NOTE: This will trigger all flags that player has permission for which means that flag effects will stack up. Setting to 'false' or 'remove' will disable the flag. Examples: @exp -2 // you can use original flag as is for players that do not have the permission @forpermission farmer.newbs @exp 4 // add 4 exp to the original -2 exp so player will have +2 exp @forpermission farmer.uber @exp 50 // add 50 exp to the original -2 exp and also add 4 exp if the player has that node too @forpermission farmer.uber @level 1 // if has required give the crafter 1 level Aliases: @forperm
^ Contents @forrepeat <times to repeat> <delay per repeat> @<flag declaration> @forrepeat <times to repeat> @<flag declaration> // Defaults to a <delay per repeat> of 0 @forrepeat @<flag declaration> // Add more flags to the previous one Run other flags multiple times with an optional delay between them. You can specify this flag more than once. The <times to repeat> is the number of times the contained flags will be repeated. The <delay per repeat> is the number of ticks that each repeat after the first will be delayed by. The '<flag declaration>' must be a flag that will work without affecting the result. Setting to 'false' or 'remove' will disable the flag. Examples: @forrepeat 5 10 @command /summon lightning_bolt ~{rand -5-5} ~ ~{rand -5-5} // Summon lightning 5 times, with a 10 tick delay between them Aliases: @repeat
^ Contents @gamemode <game mode> @gamemode <game mode> | [message] @gamemode false Requires the crafter to be in a specific game mode. Using this flag more than once will overwrite the previous ones. Values for <game mode> can be: c or creative, a or adventure, s or survival Optionally you can specify a failure message, should be short because it prints in the display result. Additionally you can use the following variables in the message: {playergm} = player's game mode (which is not allowed) {gamemodes} = list of required game modes Setting to 'false' or 'remove' will disable the flag. Examples: @gamemode creative // only creative @gamemode s // only survival @gamemode a,s // only adventure and survival @gamemode false // disable flag, allow all gamemodes Aliases: @needgm
^ Contents @getrecipebook <book id> [volume <num>] Overwrites result with the specified recipe book. For the '<book id>' argument you need to specify the book ID/filename, case insensitive. Optionally you can set which volume to give, will give first by default, using a bigger number than the number of volumes will pick the last volume. Setting to 'false' or 'remove' will disable the flag. Examples: @getrecipebook recipe stuff // matches a 'Recipe Stuff.yml' book for example. @getrecipebook vanilla_recipes volume 2 // matches a 'vanilla_recipes.yml' with volume 2 for example. Aliases: @getbook, @bookresult
^ Contents @group [!]<group>, [...] | [fail message] Makes the recipe or item require the crafter to be in a permission group. Using this flag more than once will add more groups, the player must be in at least one group. The '<group>' argument must be a permission group. Adding ! character as prefix to individual groups will do the opposite check, if crafter is in group it will not craft. You can also specify more groups separated by , character. Optionally you can specify a failure message that will be used on the specific group(s) defined. The messages can have the following variables: {group} = group that was not found or was found and it's unallowed. {groups} = a comma separated list of the allowed or unallowed groups. NOTE: Vault with a supported permission plugin is required for this flag to work. Setting to 'false' or 'remove' will disable the flag. Examples: @group ranks.vip @group !jobs.builder | <red>Builders can't use this! @group jobs.farmer, jobs.trader | <red>You must be a farmer or trader! @group ! ranks.newbs, ! ranks.newbies | <yellow>Noobs can't use this. // valid with spaces too Aliases: @groups, @permissiongroup, @permgroup
^ Contents @height <min or min-max> | [fail message] Checks if crafter or furnace is at least at 'min' height and optionally at most 'max' height. Using this flag more than once will overwrite the previous one. Optionally you can overwrite the fail message or you can use 'false' to hide it. In the message the following variables can be used: {height} = height or height range Setting to 'false' or 'remove' will disable the flag. Examples: @height 200 // must be high in the sky @height 0-30 | <red>You need to be deep underground! Aliases: @depth
^ Contents @hide <arguments> Configures hide attributes for items Replace '<arguments>' with the following arguments separated by | character. Arguments can be: attributes = Hide attributes like Damage destroys = Hide what the item can break/destroy enchants = Hide enchants placedon = Hide where this item can be placed on potioneffects = Hide potion effects on this item unbreakable = Hide the unbreakable state all = Hides everything Arguments can be listed in any order. Setting to 'false' or 'remove' will disable the flag. Examples: @hide attributes // Removes Damage on a sword @hide placedon | destroys // Removes placed on line and break/destroy lines
^ Contents @holditem <item or false> | [conditions] Makes the recipe require crafter to hold an item. This flag can be used more than once to add more items, the player will need to hold one to craft. Using the flag more than once with slot conditions will require an item in each slot added. The <item> argument can be in this format: material:data For [conditions] argument you may further specify what item must be used. Conditions must be separated by | and can be specified in any order. Condition list: slot <slotname> Changes the slot that is checked Slot name values: mainhand: selected hotbar slot. Defaults to this. offhand or shield: offhand slot. helmet: Helmet slot. chest or chestplate: Chestplate slot. legs or leggings: Leggings slot. boots: Boots slot. inventory: Any inventory slot. data <[!][&]num or min-max or all or vanilla or damaged or new>, [...] Condition for data/damage/durability, as argument you can specify data values separated by , character. One number is required, you can add another number separated by - character to make a number range. Additionally instead of the number you can specify 'item:data' to use the named data value. Special data values: all: Flips the data check to allow all data values instead of none initially. vanilla: Only allow data values within the vanilla ranges. new: Equivalent to 0, or an undamaged item. damaged: On weapons and armor, this is everything within vanilla limits that is considered a damaged item. Prefixing with '&' would make a bitwise operation on the data value. Prefixing with '!' would reverse the statement's meaning making it not work with the value specified. Optionally you can add more data conditions separated by ',' that the held item must match against one to proceed. Defaults to the equivalent of !all. enchant <name> [[!]num or min-max], [...] Condition for applied enchantments (not stored in books). This argument can be used more than once to add more enchantments as conditions. The name must be an enchantment name, see name index.html#enchantment The 2nd argument is the levels, it's optional A number can be used as level to set that level as requirement. You can also use 'max' to use the max supported level for that enchantment. Additionally a second number separated by - can be added to specify a level range, 'max' is also supported in ranged value. Prefixing with '!' would ban the level or level range. noenchant or !enchant Held item must have no enchantment Overrides enchant condition if set bookenchant <name> [[!]num or min-max], [...] Condition for book enchantments (not applied enchantments) This argument can be used more than once to add more enchantments as conditions. The name must be an enchantment name, see name index.html#enchantment The 2nd argument is the levels, it's optional A number can be used as level to set that level as requirement. You can also use 'max' to use the max supported level for that enchantment. Additionally a second number separated by - can be added to specify a level range, 'max' is also supported in ranged value. Prefixing with '!' would ban the level or level range. nobookenchant or !bookenchant Held item must have no book enchantment Overrides bookenchant condition if set amount <num> = stack amount name <text or regex:pattern> = check the item name against exact text or if prefixed with 'regex:' it will check for a regex pattern. Note for regex:pattern Escape for '|' is a double '||'. Any double pipes will be converted back to single pipes for regex parsing. noname or !name Held item must have no/default name Overrides name condition if set localizedname <text or regex:pattern> = check the item's localizedname against exact text or if prefixed with 'regex:' it will check for a regex pattern. Note for regex:pattern Escape for '|' is a double '||'. Any double pipes will be converted back to single pipes for regex parsing. nolocalizedname or !localizedname Ingredient must have no localizedname Overrides localizedname condition if set lore <text or regex:pattern> = checks each lore line for a specific text or if prefixed with 'regex:' it will check for a regex pattern. Note for regex:pattern Escape for '|' is a double '||'. Any double pipes will be converted back to single pipes for regex parsing. nolore or !lore Held item must have no lore Overrides lore condition if set color <colorname or R,G,B> = only works for leather armor, checks color values can be individual values or ranged separated by - char or you can use a color name constant, see name index.html#dyecolor nocolor or !color Only works for leather armor Held item must have default/vanilla color Overrides color condition if set unbreakable = Ingredient must have the unbreakable flag nounbreakable or !unbreakable = Ingredient must not have the unbreakable flag custommodeldata = Ingredient must have custom model data nocustommodeldata or !custommodeldata = Ingredient must not have custom model data nometa or !meta Ingredient must have no metadata (enchants, bookenchants, name, lore, color, unbreakable, localizedname, custommodeldata) Overrides enchant, name, lore, color, unbreakable, localizedname, custommodeldata conditions if set Equivalent to noenchant | nobookenchant | noname | nolore | nocolor | nounbreakable | nolocalizedname | nocustommodeldata potion <condition>, [...] type <potiontype> = Type of potion, see name index.html#potiontype level = Potion's level/tier, usually 1(default) or 2, you can enter 'max' to set it at highest supported level extended or !extended = Potion's extended duration potioneffect <condition>, [...] type <effecttype> = Type of potion effect, see name index.html#potioneffect duration <num or min-max> = Duration of the potion effect in seconds, default 1 (does not work on HEAL and HARM) amplify <num or min-max> = Amplify the effects of the potion, default 0 (e.g. 2 = <PotionName> III, numbers after potion's max level will display potion.potency.number instead) ambient or !ambient = Check effect's extra visual particles setting particles or !particles = Check effect's particles setting icon or !icon = Check effect's icon setting suspiciousstew <condition>, [...] type <effecttype> = Type of potion effect, see name index.html#potioneffect duration <num or min-max> = Duration of the potion effect in seconds, default 1 (does not work on HEAL and HARM) amplify <num or min-max> = Amplify the effects of the potion, default 0 (e.g. 2 = <PotionName> III, numbers after potion's max level will display potion.potency.number instead) ambient or !ambient = Check effect's extra visual particles setting particles or !particles = Check effect's particles setting icon or !icon = Check effect's icon setting banner <condition>, [...] color <dyecolor> pattern <pattern> [dyecolor] Dye Colors: white, orange, magenta, light_blue, yellow, lime, pink, gray, light_gray, cyan, purple, blue, brown, green, red, black Patterns: name index.html#bannerpattern spawnegg <entitytype> = Type of entity contained in a spawn egg, see name index.html#entitytype Setting to 'false' or 'remove' will disable the flag. Examples: @holditem iron_pickaxe // any data/damage value @holditem iron_axe:0 // only undamaged axe! @holditem chainmail_helmet | enchant protection_fire 1 // requires chain helmet with any level of damage and fire protection enchant level 1 @holditem false // makes all previous statements useless Aliases: @hold
^ Contents @individualresults Allows multi-result recipes to have individual result outcomes, instead of a chance based outcome between all results. With this flag set, the first valid recipe found will be the one crafted A percent chance on a result will cause the recipe to fail the rest of the percent out of 100. Setting to 'false' or 'remove' will disable the flag. Examples: @individualresults Aliases: @individual
^ Contents @ingredientcondition <item> | <conditions> Adds conditions for individual ingredients like ranged data values, enchantments or using stacks. This flag can be called more than once to add more ingredients with conditions. The <item> argument must be an item that is in the recipe, 'material:data' format. If you're planning to add ranged data values the data value must be the wildcard '*' or not set at all in order to work. For <conditions> argument you must specify at least one condition. Conditions must be separated by | and can be specified in any order. Condition list: data <[!][&]num or min-max or all or vanilla or damaged or new>, [...] Condition for data/damage/durability, as argument you can specify data values separated by , character. One number is required, you can add another number separated by - character to make a number range. Additionally instead of the number you can specify 'item:data' to use the named data value. Special data values: all: Flips the data check to allow all data values instead of none initially. vanilla: Only allow data values within the vanilla ranges. new: Equivalent to 0, or an undamaged item. damaged: On weapons and armor, this is everything within vanilla limits that is considered a damaged item. Prefixing with '&' would make a bitwise operation on the data value. Prefixing with '!' would reverse the statement's meaning making it not work with the value specified. Optionally you can add more data conditions separated by ',' that the ingredient must match against one to proceed. Defaults to the equivalent of !all. enchant <name> [[!]num or min-max], [...] Condition for applied enchantments (not stored in books). This argument can be used more than once to add more enchantments as conditions. The name must be an enchantment name, see name index.html#enchantment The 2nd argument is the levels, it's optional A number can be used as level to set that level as requirement. You can also use 'max' to use the max supported level for that enchantment. Additionally a second number separated by - can be added to specify a level range, 'max' is also supported in ranged value. Prefixing with '!' would ban the level or level range. noenchant or !enchant Ingredient must have no enchantment Overrides enchant condition if set bookenchant <name> [[!]num or min-max], [...] Condition for book enchantments (not applied enchantments) This argument can be used more than once to add more enchantments as conditions. The name must be an enchantment name, see name index.html#enchantment The 2nd argument is the levels, it's optional A number can be used as level to set that level as requirement. You can also use 'max' to use the max supported level for that enchantment. Additionally a second number separated by - can be added to specify a level range, 'max' is also supported in ranged value. Prefixing with '!' would ban the level or level range. nobookenchant or !bookenchant Ingredient must have no book enchantment Overrides bookenchant condition if set amount <num> = stack amount, this will also subtract from the ingredient when crafted! name <text or regex:pattern> = check the item name against exact text or if prefixed with 'regex:' it will check for a regex pattern. Note for regex:pattern Escape for '|' is a double '||'. Any double pipes will be converted back to single pipes for regex parsing. noname or !name Ingredient must have no/default name Overrides name condition if set localizedname <text or regex:pattern> = check the item's localizedname against exact text or if prefixed with 'regex:' it will check for a regex pattern. Note for regex:pattern Escape for '|' is a double '||'. Any double pipes will be converted back to single pipes for regex parsing. nolocalizedname or !localizedname Ingredient must have no localizedname Overrides localizedname condition if set lore <text or regex:pattern> = checks each lore line for a specific text or if prefixed with 'regex:' it will check for a regex pattern. Note for regex:pattern Escape for '|' is a double '||'. Any double pipes will be converted back to single pipes for regex parsing. nolore or !lore Ingredient must have no lore Overrides lore condition if set color <colorname or R,G,B> = only works for leather armor, checks color values can be individual values or ranged separated by - char or you can use a color name constant, see name index.html#dyecolor nocolor or !color Only works for leather armor Ingredient must have default/vanilla color Overrides color condition if set unbreakable = Ingredient must have the unbreakable flag nounbreakable or !unbreakable = Ingredient must not have the unbreakable flag custommodeldata = Ingredient must have custom model data nocustommodeldata or !custommodeldata = Ingredient must not have custom model data nometa or !meta Ingredient must have no metadata (enchants, bookenchants, name, lore, color, unbreakable, localizedname, custommodeldata) Overrides enchant, name, lore, color, unbreakable, localizedname, custommodeldata conditions if set Equivalent to noenchant | nobookenchant | noname | nolore | nocolor | nounbreakable | nolocalizedname | nocustommodeldata needed <num> Sets the number of ingredients that need to match this condition Defaults to all of the ingredientcondition type potion <condition>, [...] type <potiontype> = Type of potion, see name index.html#potiontype level = Potion's level/tier, usually 1(default) or 2, you can enter 'max' to set it at highest supported level extended or !extended = Potion's extended duration potioneffect <condition>, [...] type <effecttype> = Type of potion effect, see name index.html#potioneffect duration <num or min-max> = Duration of the potion effect in seconds, default 1 (does not work on HEAL and HARM) amplify <num or min-max> = Amplify the effects of the potion, default 0 (e.g. 2 = <PotionName> III, numbers after potion's max level will display potion.potency.number instead) ambient or !ambient = Check effect's extra visual particles setting particles or !particles = Check effect's particles setting icon or !icon = Check effect's icon setting suspiciousstew <condition>, [...] type <effecttype> = Type of potion effect, see name index.html#potioneffect duration <num or min-max> = Duration of the potion effect in seconds, default 1 (does not work on HEAL and HARM) amplify <num or min-max> = Amplify the effects of the potion, default 0 (e.g. 2 = <PotionName> III, numbers after potion's max level will display potion.potency.number instead) ambient or !ambient = Check effect's extra visual particles setting particles or !particles = Check effect's particles setting icon or !icon = Check effect's icon setting banner <condition>, [...] color <dyecolor> pattern <pattern> [dyecolor] Dye Colors: white, orange, magenta, light_blue, yellow, lime, pink, gray, light_gray, cyan, purple, blue, brown, green, red, black Patterns: name index.html#bannerpattern spawnegg <entitytype> = Type of entity contained in a spawn egg, see name index.html#entitytype failmsg <text> = overwrite message sent to crafter when failing to provide required ingredient. This flag can be used on recipe results to determine a specific outcome for the recipe depending on the ingredients. However, you would need 'failmsg false' along with @displayresult flag, see advanced recipes.html for an example. NOTE: this flag can not be used in recipe header, needs to be defined on individual results or recipes. Setting to 'false' or 'remove' will disable the flag. Examples: @ingredientcondition wood | data 3 // pointless use of this flag, just use wood:3 as ingredient. @ingredientcondition wood | data 1-3, 39, 100 // this overwrites the data condition to the previous one. @ingredientcondition dirt | amount 64 // needs a full stack of dirt to work. @ingredientcondition iron_sword | data 0-25 // only accepts iron swords that have 0 to 25 damage. @ingredientcondition wool | data vanilla, !wool:red // no red wool @ingredientcondition wool | data all, !vanilla // only modded data values @ingredientcondition iron_sword | data new // Only allow undamaged iron swords @ingredientcondition golden_sword | data damaged // Only allow damaged gold swords @ingredientcondition splash_potion | potion !extended // checks if potion is splash and NOT extended @ingredientcondition diamond_helmet | enchant fire_resistance 1-3 | enchant thorns | data 0, 5, 50-100 // makes ingredient require 2 enchantments and some specific data values. @ingredientcondition stick | nometa // makes ingredient require a vanilla stick. @ingredientcondition stick | !meta // Same as above. @ingredientcondition stick | name Crafted Stick | nolore | noenchant // makes ingredient require a stick with a name of 'Crafted Stick', but no lore or enchantments. Aliases: @ingrcondition, @ingrcond, @ifingredient, @ifingr
^ Contents @inventory <inventory type> , ... | [arguments] Checks if crafting in the specific type of inventory The <inventory type> argument is required Values: name index.html#inventory Can declare multiple inventory types separated by commas Optional arguments: title <text> - Add an inventory title restriction You can add more titles seperated by a , character to set the allowed titles. Also you can disallow titles by prefixing them with a ! character. Checks if any allowed titles are matched and all disallowed titles are not matched. failmsg <message> - Overwrite the fail message or you can use 'false' to hide it. In the message the following variables can be used: {inventory} = name of inventory type(s) {title} = title of inventory Setting to 'false' or 'remove' will disable the flag. Examples: @inventory crafting // Player crafting menu @inventory workbench // Must use a crafting table @inventory workbench | title Custom // Must use a crafting table named 'Custom'
^ Contents @itemattribute <attribute> [modifier]<num> @itemattribute <attribute> [modifier]<num> | slot <slot> Adds an attribute, such as max health to the result <attribute> The attribute you want to modify. Values: all, or see: name index.html#itemattribute Values starting with 'GENERIC_' such as GENERIC_MAX_HEALTH can be used without 'GENERIC_' for ease of use. max_health would be valid in this case. [modifier] can be x for multiplication otherwise it will use addition <num> is the amount you want the attribute modified by. If you're not using multiplication as a modifier, the value with be added/subtracted. Note that with multiplication, 1 = 100%. Values are expected in decimal/double format: '1.5'. The <slot> argument is the slot you want the attribute to affect. Default is HAND. Values: all, hand, off_hand, feet, legs, chest, head 'all' will let the attribute affect all of the equipment slots offhand can be used instead of off_hand as well. Setting to 'false' or 'remove' will disable the flag. Examples: @itemattribute max_health 5 // Adds 2.5 hearts of health, defaults to HAND slot @itemattribute movement_speed -.1 | slot feet // Reduce speed by .1 when worn in the feet/boots slot @itemattribute armor x.2 | slot offhand // Adds +20% Armor Aliases: @attribute
^ Contents @itemlore <text> @itemlore <text> | display @itemlore <text> | result Adds a line to result's lore (description) Supports colors (e.g. <red>, <blue>, &4, &F, etc). You can also use these variables: {player} = crafter's name or '(nobody)' if not available {playerdisplay} = crafter's display name or '(nobody)' if not available {result} = the result item name or '(nothing)' if recipe failed. {recipename} = recipe's custom or autogenerated name or '(unknown)' if not available {recipetype} = recipe type or '(unknown)' if not available {inventorytype} = inventory type or '(unknown)' if not available {world} = world name of event location or '(unknown)' if not available {x} = event location's X coord or '(?)' if not available {y} = event location's Y coord or '(?)' if not available {z} = event location's Z coord or '(?)' if not available Relative positions are supported: {x-1},{y+7},{z+12} {rand #1-#2} = output a random integer between #1 and #2. Example: {rand 5-10} will output an integer from 5-10 {rand #1-#2, #3} = output a random number between #1 and #2, with decimal places of #3. Example: {rand 1.5-2.5, 2} will output a number from 1.50 to 2.50 {rand n} = reuse a random output, where n is the nth {rand} used excluding this format Allows quotes to prevent spaces being trimmed. Optional Arguments: display = only show on the displayed item when preparing to craft (only relevant to craft/combine recipes) result = only show on the result, but hide from the prepared result Default behavior with neither of these arguments is to display in both locations Setting to 'false' or 'remove' will disable the flag. Examples: @itemlore <red>Awesome item @itemlore <magic>some scrambled text on line 2 @itemlore <gray>Crafted at {world}:{x},{y},{z} @itemlore " Extra space " // Quotes at the beginning and end will be removed, but spaces will be kept. Aliases: @lore, @itemdesc
^ Contents @itemname <text> @itemname <text> | display @itemname <text> | result Changes result's display name. Supports colors (e.g. <red>, <blue>, &4, &F, etc). You can also use these variables: {player} = crafter's name or '(nobody)' if not available {playerdisplay} = crafter's display name or '(nobody)' if not available {result} = the result item name or '(nothing)' if recipe failed. {recipename} = recipe's custom or autogenerated name or '(unknown)' if not available {recipetype} = recipe type or '(unknown)' if not available {inventorytype} = inventory type or '(unknown)' if not available {world} = world name of event location or '(unknown)' if not available {x} = event location's X coord or '(?)' if not available {y} = event location's Y coord or '(?)' if not available {z} = event location's Z coord or '(?)' if not available Relative positions are supported: {x-1},{y+7},{z+12} {rand #1-#2} = output a random integer between #1 and #2. Example: {rand 5-10} will output an integer from 5-10 {rand #1-#2, #3} = output a random number between #1 and #2, with decimal places of #3. Example: {rand 1.5-2.5, 2} will output a number from 1.50 to 2.50 {rand n} = reuse a random output, where n is the nth {rand} used excluding this format Allows quotes to prevent spaces being trimmed. Optional Arguments: display = only show on the displayed item when preparing to craft (only relevant to craft/combine recipes) result = only show on the result, but hide from the prepared result Default behavior with neither of these arguments is to display in both locations Setting to 'false' or 'remove' will disable the flag. Examples: @itemname <light_purple>Weird Item @itemname <yellow>{player}'s Sword @itemname " Extra space " // Quotes at the beginning and end will be removed, but spaces will be kept. Aliases: @name, @displayname
^ Contents @itemnbt <nbtRaw> @itemnbt <nbtRaw> | display @itemnbt <nbtRaw> | result Sets raw nbt data on the result. WARNING: This exists only to support features that may not exist in the Bukkit/Spigot API yet. Support is NOT GUARANTEED, especially across future versions. If you find you need to use this flag a lot, please consider creating a ticket about adding support for the features you are using. I wll do my best to support what I can in better ways. WARNING: There is NO VALIDATION on <nbtRaw> values. Test all outputs carefully before adding to a live server. Format should include outer brackets: '{}' Optional Arguments: display = only show on the displayed item when preparing to craft (only relevant to craft/combine recipes) result = only show on the result, but hide from the prepared result Default behavior with neither of these arguments is to display in both locations Setting to 'false' or 'remove' will disable the flag. Examples: @itemnbt {display:{Name: '{"text":"CUSTOM NAME"}'}} // Basic example, but should use @itemname instead. Aliases: @nbt
^ Contents @itemunbreakable [false] Makes the result unbreakable Optionally, adding false will make the result breakable again Examples: @itemunbreakable // Makes the result unbreakable @itemunbreakable false // Remove the unbreakable status, allowing for the item to be destroyed Aliases: @unbreakable
^ Contents @keepitem <ingredient> @keepitem <ingredient> | damage <num> @keepitem <ingredient> | replace <item> Keeps the specified ingredient material from being used when crafting. This flag can be used more than once to specify more ingredients. The <ingredient> argument can be a material:data combination of the ingredient, data value being optional, just like defining an ingredient. For the optional 'damage <num>' argument you can specify the amount of damage to add or remove from a damageable item. Damaging the item beyond its max durability will break it. This argument only works for damageable items and the <num> can be a positive number to damage the item or negative to repair it. For the optional 'replace <item>' argument you can specify an item that will replace the ingredient. The <item> on 'replace' argument can support material:data:amount and enchantments, just like recipe results. This argument only works for unstackable ingredients. The item specified as replacement can be stackable. Setting to 'false' or 'remove' will disable the flag. Examples: @keepitem iron_axe // makes the iron_axe ingredient persistent @keepitem potion | replace bottle // using any kind of potion would return an empty bottle @keepitem diamond_pickaxe | damage 5 // keeps the diamond pickaxe but damages it by 5 points @keepitem shears | damage -99999 // keeps shears and fully repairs it Aliases: @returnitem, @replaceitem
^ Contents @launchfirework effect <effects> @launchfirework power <number 0-128> Launches a firework from workbench/player/furnace when recipe or result item is crafted. This flag can be defined multiple times add effects and set power to the same rocket. The 'effect' setting adds an effect to the rocket. Replace <effects> with the effects separated by | character. Effects can be: color <red> <green> <blue>, ... = (Required at least 1 color) Sets the primary explosion color(s), you can define more colors separated by comma. fadecolor <red> <green> <blue>, ... = (Optional) Color(s) of the explosion fading, you can define more colors separated by comma. type <explode type> = (Optional) Shape/size of explosion, see: name index.html#fireworkeffect trail = (Optional) Adds a trail to the explosion flicker = (Optional) Adds a flicker to explosion Effects can be listed in any order. Colors must be 3 numbers ranging from 0 to 255, basic RGB format. The 'power <number 0-128>' value sets how long rocket will fly, each number is 0.5 seconds of flight, values above 4 are NOT recommended because it heavily affects client performance, default 2. Setting to 'false' or 'remove' will disable the flag. Examples: @launchfirework effect color 0 255 0 @launchfirework effect trail | color 255 0 0 | type burst @launchfirework effect color 255 0 200, 0 255 0, 255 128 0 | trail | type ball_large | fadecolor 255 0 0, 0 0 255, 0 255 0 @launchfirework power 2 Aliases: @setfirework
^ Contents @leathercolor <red> <green> <blue> Changes result's leather armor color, colors must be 3 numbers ranged from 0 to 255, the red, green and blue channels. Specific items: leather armor. Setting to 'false' or 'remove' will disable the flag. Examples: @leathercolor 255 100 50 Aliases: @leathercolour, @color, @colour
^ Contents @lightlevel <min or min-max> [type] | [fail message] Checks for the light level. Using this flag more than once will overwrite the previous one. The first argument must be a number from 0 to 15 to set a minimum light level, or you can specify a number range separated - character. Optionally you can set the [type] argument to specify light type: any = (default) any kind of light. sun = sun light only. blocks = light from blocks (torches, furnaces, etc) only. Be careful using blocks light level with furnace recipes as the furnace will provide light to itself. You can also overwrite the fail message or use 'false' to hide it. Setting to 'false' or 'remove' will disable the flag. Examples: @lightlevel 14 sun @lightlevel 0-4 blocks | <red>Kill the lights! Aliases: @blocklight, @sunlight, @light
^ Contents @localizedname <text or false> Changes result's localized name. Supports colors (e.g. <red>, <blue>, &4, &F, etc). You can also use these variables: {player} = crafter's name or '(nobody)' if not available {playerdisplay} = crafter's display name or '(nobody)' if not available {result} = the result item name or '(nothing)' if recipe failed. {recipename} = recipe's custom or autogenerated name or '(unknown)' if not available {recipetype} = recipe type or '(unknown)' if not available {inventorytype} = inventory type or '(unknown)' if not available {world} = world name of event location or '(unknown)' if not available {x} = event location's X coord or '(?)' if not available {y} = event location's Y coord or '(?)' if not available {z} = event location's Z coord or '(?)' if not available Relative positions are supported: {x-1},{y+7},{z+12} {rand #1-#2} = output a random integer between #1 and #2. Example: {rand 5-10} will output an integer from 5-10 {rand #1-#2, #3} = output a random number between #1 and #2, with decimal places of #3. Example: {rand 1.5-2.5, 2} will output a number from 1.50 to 2.50 Allows quotes to prevent spaces being trimmed. Setting to 'false' or 'remove' will disable the flag. Examples: @localizedname <light_purple>Weird Item @localizedname <yellow>{player}'s Sword @localizedname " Extra space " // Quotes at the beginning and end will be removed, but spaces will be kept.
^ Contents @message <text> Prints a message when recipe or item is successfully crafted. This flag can be used more than once to add more messages. Colors are supported (<red>, &5, etc). You can also use these variables: {player} = crafter's name or '(nobody)' if not available {playerdisplay} = crafter's display name or '(nobody)' if not available {result} = the result item name or '(nothing)' if recipe failed. {recipename} = recipe's custom or autogenerated name or '(unknown)' if not available {recipetype} = recipe type or '(unknown)' if not available {inventorytype} = inventory type or '(unknown)' if not available {world} = world name of event location or '(unknown)' if not available {x} = event location's X coord or '(?)' if not available {y} = event location's Y coord or '(?)' if not available {z} = event location's Z coord or '(?)' if not available Relative positions are supported: {x-1},{y+7},{z+12} {rand #1-#2} = output a random integer between #1 and #2. Example: {rand 5-10} will output an integer from 5-10 {rand #1-#2, #3} = output a random number between #1 and #2, with decimal places of #3. Example: {rand 1.5-2.5, 2} will output a number from 1.50 to 2.50 {rand n} = reuse a random output, where n is the nth {rand} used excluding this format Allows quotes to prevent spaces being trimmed. Setting to 'false' or 'remove' will disable the flag. Examples: @message <green>Good job! @message <gray>Now you can die&c happy<gray> that you crafted that. @message " Extra space " // Quotes at the beginning and end will be removed, but spaces will be kept. Aliases: @craftmsg, @msg
^ Contents @modexp [modifier]<amount> | [fail message] Modifies crafter's experience points. Using this flag more than once will overwrite the previous one. The '[modifier]' argument can be nothing at all or you can use + (which is the same as nothing, to add) - (to subtract) = (to set) The '<amount>' argument must be the amount of experience to modify. The '[fail message]' argument is optional and can be used to overwrite the default message or you can set it to false to hide it. Message will be printed in chat. For the fail message you can use the following arguments: {amount} = amount defined in the flag, never has modifier prefix. {modifier} = the modifier prefix. {actualamount} = (only works for - modifier) the actual amount lost. NOTE: This is for total experience points, for experience levels use @modlevel NOTE: This flag does not check if player has enough experience when subtracting! Use in combination with @needexp if you want to check. Setting to 'false' or 'remove' will disable the flag. Examples: @modexp 25 // gives 25 experience to crafter @modexp +25 // exactly the same as above @modexp -50 | <red>You lost {amount} exp! // takes at most 50 experience from crafter, if he does not have that amount it will be set to 0. @modexp = 0 | <red>You lost all your experience! // sets crafter experience to 0, that space is valid there too. Aliases: @expmod, @modxp, @xpmod, @exp, @xp, @giveexp, @givexp, @takeexp, @takexp
^ Contents @modlevel [modifier]<number> | [fail message] Modifies crafter's level. Using this flag more than once will overwrite the previous one. The '[modifier]' argument can be nothing at all or you can use + (which is the same as nothing, to add) - (to subtract) = (to set) The '<number>' argument must be the amount of levels to modify. The '[fail message]' argument is optional and can be used to overwrite the default message or you can set it to false to hide it. Message will be printed in chat. For the fail message you can use the following arguments: {amount} = amount defined in the flag, never has modifier prefix. {modifier} = the modifier prefix. {actualamount} = (only works for - modifier) the actual amount lost. NOTE: This is for experience levels, for experience points use @modexp NOTE: This flag does not check if player has enough levels when subtracting! Use in combination with @needlevel if you want to check. Setting to 'false' or 'remove' will disable the flag. Examples: @modlevel 1 // gives 1 level to crafter @modlevel +1 // exactly the same as above @modlevel -2 | <red>You lost {amount} levels. // takes at most 2 levels from crafter, if he does not have that amount it will be set to 0. @modlevel = 0 | <red>You've been set to level 0! // sets crafter's level to 0, that space is valid there too. Aliases: @levelmod, @setlevel, @level
^ Contents @modmoney [modifier]<float number> | [fail message] Modifies crafter's money. Using this flag more than once will overwrite the previous one. The '[modifier]' argument can be nothing at all or you can use + (which is the same as nothing, to add) - (to subtract) = (to set) The '<number>' argument must be the amount of money to modify. The '[fail message]' argument is optional and can be used to overwrite the default message or you can set it to false to hide it. Message will be printed in chat. For the fail message you can use the following arguments: {amount} = amount defined in the flag, never has modifier prefix. {modifier} = the modifier prefix. NOTE: Vault with a supported economy plugin is required for this flag to work. NOTE: This flag does not check if player has enough money when subtracting! Use in combination with @needmoney if you want to check. Setting to 'false' or 'remove' will disable the flag. Examples: @modmoney 0.5 // gives 0.5 currency or 50 minor currency money to crafter @modmoney +0.5 // exactly the same as above @modmoney -2.5 | <red>You lost {money}! // takes at most 2.5 currency from crafter, if he does not have that amount it will be set to 0. @modmoney = 0 | <red>You lost all your money! // sets crafter's money to 0, that space is valid there too. Aliases: @moneymod, @setmoney, @money
^ Contents @monsterspawner <entity type> | [arguments] Sets the entity type that will be spawned from the spawner. The <entity type> argument must be an entity type name, see name index.html#entitytype Optionally you can add more arguments separated by | character in any order: delay = (default 20) initial delay in ticks, -1 will default to a random value between min delay and max delay mindelay = (default 200) Sets the min spawn delay (in ticks) maxdelay = (default 800) Sets the max spawn delay (in ticks) maxnearbyentities = (default 6) Sets the max number of similar entities that are allowed to be within spawning range. playerrange = (default 16) Sets the maximum distance (squared) a player can be in order for this spawner to be active. (0 is always active if players are online) spawnrange = (default 4) Sets the radius around which the spawner will attempt to spawn mobs in. spawncount = (default 4) Sets how many mobs attempt to spawn. Setting to 'false' or 'remove' will disable the flag. Examples: @monsterspawner creeper @monsterspawner horse Aliases: @spawner, @mobspawner
^ Contents @needexp <min or min-max> | [message] Checks if crafter has at least 'min' experience and optionally at most 'max' experience. Using this flag more than once will overwrite the previous one. Optionally you can overwrite the fail message or you can use 'false' to hide it. In the message the following variables can be used: {exp} = exp or exp range. {minexp} = defined min exp range. {maxexp} = defined max exp range. {playerexp} = player's current experience. NOTE: This is for total experience points, for experience levels use @needlevel Setting to 'false' or 'remove' will disable the flag. Examples: @needexp 100 // player needs to have at least 100 experience to craft @needexp 250-250 // player needs to have exactly 250 experience to craft @needexp 0-500 // player can only craft if he has between 0 and 500 experience @needexp 1000 | <red>Need {exp} exp! Aliases: @needxp, @reqexp, @expreq, @reqxp, @xpreq
^ Contents @needlevel <min or min-max> | [fail message] Checks if crafter has at least 'min' levels and optionally at most 'max' levels. Using this flag more than once will overwrite the previous one. Optionally you can overwrite the fail message or you can use 'false' to hide it. In the message the following variables can be used: {level} = level or level range NOTE: This is for experience levels, for experience points use @needexp or for world height use @height. Setting to 'false' or 'remove' will disable the flag. Examples: @needlevel 1 // Requires a minimum level of 1 @needlevel 5-5 // Requires exactly level 5 @needlevel 25-100 | <red>Need level 25 to 100! Aliases: @reqlevel, @levelreq
^ Contents @needmoney <min or min-max> | [fail message] Checks if crafter has at least 'min' money and optionally at most 'max' money. Using this flag more than once will overwrite the previous one. Optionally you can overwrite the fail message or you can use 'false' to hide it. In the message the following variables can be used: {money} = money or money range; formatted with currency. NOTE: Vault with a supported economy plugin is required for this flag to work. Setting to 'false' or 'remove' will disable the flag. Examples: @needmoney 0.25 @needmoney 0.1 - 1000 | <red>Need {money}! Aliases: @reqmoney, @moneyreq
^ Contents @noresult Prevents the result item from being crafted. Useful when giving items through @command or providing non-item results, such as @modexp. Setting to 'false' or 'remove' will disable the flag. Examples: @noresult
^ Contents @override [true or false] Overwrites an existing recipe from vanilla Minecraft or other plugins/mods. The recipe definition must have the exact ingredients of the recipe you want to overwrite. You may set whatever result(s) you want and add any other flags, this flag allows RecipeManager to take control over that recipe. If you don't know the exact ingredients you can use 'rmextract' command to extract all existing recipes in RecipeManager format. Value is optional, if value is not specified it will just be enabled. Setting to 'false' or 'remove' will disable the flag. Examples: @override Aliases: @edit, @overwrite, @supercede, @replace
^ Contents @permission [!]<permission>, [...] | [fail message] Makes the recipe or item require the crafter to have a permission. Using this flag more than once will add more permissions, the player must have at least one to allow crafting. The '<permission>' argument must be a permission node, regardless if it exists or not. Adding ! character as prefix to individual permission nodes will do the opposite check, if crafter has permission it will not craft. You can also specify more permissions separated by , character. Optionally you can specify a failure message that will be used on the specific permission(s) defined. The messages can have the following variables: {permission} = permission that was not found or was found and it's unallowed. {permissions} = a comma separated list of the allowed or unallowed permission nodes. Setting to 'false' or 'remove' will disable the flag. Examples: @permission ranks.vip @permission !jobs.builder | <red>Builders can't use this! @permission jobs.farmer, jobs.trader | <red>You must be a farmer or trader! @permission ! ranks.newbs, ! ranks.newbies | <yellow>Noobs can't use this. // valid with spaces too Aliases: @permissions, @perm
^ Contents @potioneffect <effect type> | [arguments] @potioneffect clear Adds potion effects to crafter. This flag can be used more than once to add more effects. Using 'clear' will remove all potion effects from player before adding any defined ones. The <effect type> argument must be an effect type, see name index.html#potioneffect Optionally you can add more arguments separated by | character in any order: duration <float> = (default 1.0) potion effect duration in seconds, only works on non-instant effect types. amplifier <num> = (default 0) potion effect amplifier. ambient [false] = (default true) makes the effect produce more, translucent, particles. !ambient = equivalent to 'ambient false' particles [false] = (defaults true) display particles. !particles = equivalent to 'particles false' icon [false] = (defaults true) show the effect icon. !icon = equivalent to 'icon false' Setting to 'false' or 'remove' will disable the flag. Examples: @potioneffect clear // remove all player's potion effects beforehand @potioneffect heal @potioneffect blindness | duration 60 | amplifier 5 @potioneffect poison | chance 6.66% | ambient | amplifier 666 | duration 6.66 Aliases: @potionfx
^ Contents @potionitem <basic effect> @potionitem custom <custom effect> Builds a potion item, only works with POTION item. There are 2 types of potions... basic potions which have 1 effect and custom potions which can have multiple effects. Building a basic potion: Instead of <basic effect> argument you must enter a series of arguments separated by | character, in any order. Arguments for basic effect: type <potion type> = (REQUIRED if you want to use level or extended) Type of potion, see name index.html#potiontype level <number or max> = (optional) Potion's level/tier, usually 1(default) or 2, you can enter 'max' to set it at highest supported level extended = (optional) Potion has extended duration color <r> <g> <b> = (optional) Sets the base color splash = (optional) Throwable/breakable potion instead of drinkable lingering = (optional) Lingering potion instead of drinkable Building a custom potion requires adding individual effects: A basic potion still affects the custom potion like the following: - If no basic potion is defined the bottle will look like 'water bottle' with no effects listed, effects still apply when drank - Basic potion's type affects bottle liquid color - Basic potion's splash still affects if the bottle is throwable instead of drinkable - Basic potion's extended and level do absolutely nothing. - The first custom effect added is the potion's name, rest of effects are in description (of course you can use @name to change the item name) Once you understand that, you may use @potion custom as many times to add as many effects you want. Similar syntax to basic effect, arguments separated by | character, can be in any order after the effect type. Arguments for custom effect: <effect type> = (REQUIRED) Type of potion effect, see name index.html#potioneffect duration <float> = (default 1.0) Duration of the potion effect in seconds (does not work on instant potions effects such as HEAL and HARM) amplifier <number> = (default 0) Amplify the effects of the potion (e.g. 2 = <PotionName> III, numbers after potion's max level will display potion.potency.number instead) ambient [false] = (default true) makes the effect produce more, translucent, particles. !ambient = equivalent to 'ambient false' particles [false] = (defaults true) display particles. !particles = equivalent to 'particles false' icon [false] = (defaults true) show the effect icon. !icon = equivalent to 'icon false' Setting to 'false' or 'remove' will disable the flag. Examples: @potionitem type FIRE_RESISTANCE | level max | extended // basic extended fire resistance potion // advanced potion example: @potionitem type POISON | splash | color 255 128 0 // set the bottle design and set it as splash with a custom color @potionitem custom WITHER | duration 10 // add wither effect @potionitem custom BLINDNESS | duration 2.5 | amplifier 5 // add blindness effect Aliases: @potion
^ Contents @remove [true or false] Removes an existing recipe that was added by vanilla Minecraft or other plugins/mods. The recipe definition must have the exact ingredients of the recipe you want to overwrite. Results and smelt time will be ignored and you don't have to delete them if you want to keep them for later. If you don't know the exact ingredients you can use 'rmextract' command to extract all existing recipes in RecipeManager format. Value is optional, if value is not specified it will just be enabled. This can't be used along with @override flag. Setting to 'false' or 'remove' will disable the flag. Examples: @remove Aliases: @delete
^ Contents @repaircost <text or false> Changes result's repair cost. Setting to 'false' or 'remove' will disable the flag. Examples: @repaircost 1 // Sets the default repair cost to 1 @repaircost 25 // Sets the default repair cost to 25
^ Contents @restrict [fail message] Restricts the recipe for everybody. This is the player-friendly version of @remove because crafter gets a message when trying to craft the recipe. Optionally you can overwrite the default restrict message. Setting to 'false' or 'remove' will disable the flag. Examples: @restrict @restrict <red>Access denied! Aliases: @disable, @denied, @deny
^ Contents @secret [true or false] Hides the recipe or result from common info sources. Recipes are hidden from commands, books, etc. Results are also hidden from commands, books and most importantly from multiresult item display. This also means recipes/results won't give out any fail craft reasons! Setting to 'false' or 'remove' will disable the flag. Examples: @secret
^ Contents @setblock <block material>:[data] | [arguments] Changes the workbench/furnace/block-at-player into other block type. Using this flag more than once will overwrite the previous flag. Replace '<block material>' with a block material (not item!), see name index.html#material Optionally you can define a data value which defines its skin, direction and other stuff, see Minecraft Wiki / Data Value You can also use aliases for materials and data values too. Additionally you can define a set of arguments separated by | character: drop = breaks the existing block and drops its item. noinv [failmsg] = prevent inventory crafting, if this is not set, the flag will set the block at player location too; optionally you can overwrite the failure message for this condition. Setting to 'false' or 'remove' will disable the flag. Examples: @setblock gold_block @setblock planks:jungle | noinv // set to jungle wood planks and prevent inventory crafting @setblock air | drop | noinv <red>Only workbench! // simulate block break Aliases: @changeblock
^ Contents @skullowner <name> @skullowner <uuid> @skullowner texture <base64> @skullowner <name> | texture <base64> @skullowner <uuid> | texture <base64> Sets the human skull's owner to apply the skin. If you set it to '{player}' then it will use crafter's name. For base64 textures, you can reference https://freshcoal.com/, https://minecraft-heads.com/, https://mineskin.org/ or any other Minecraft head repository You can only use the base64 encoded string of a valid mojang texture. Each of the above sites should be able to provide those WARNING: The texture parameter will conflict with @itemnbt and whichever is used last will be the one that gets used. Setting to 'false' or 'remove' will disable the flag. Examples: @skullowner Notch @skullowner {player} @skullowner texture eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzBiOGI1ODg5ZWUxYzYzODhkYzZjMmM1ZGJkNzBiNjk4NGFlZmU1NDMxOWEwOTVlNjRkYjc2MzgwOTdiODIxIn19fQ== // Jam texture Aliases: @skullitem, skull, head
^ Contents @sound <sound> | [arguments] Plays a sound at crafting location. Using this flag more than once will overwrite the previous flag. The <sound> argument must be a sound name, see name index.html#sound Optionally you can specify some arguments separated by | character: volume <0.0 to 100.0> = (default 1.0) sound volume, if exceeds 1.0 it extends range, each 1.0 extends range by about 10 blocks. pitch <0.0 to 4.0> = (default 0.0) sound pitch value. player = (default not set) if set it will only play the sound to the crafter. You can specify these arguments in any order and they're completely optional. Setting to 'false' or 'remove' will disable the flag. Examples: @sound level_up @sound wolf_howl | volume 5 // can be heard loudly at 50 blocks away @sound portal_travel | player | volume 0.65 | pitch 3.33 Aliases: @playsound
^ Contents @spawnparticle <particle> | [arguments] Spawn a particle at crafting location This flag can be used more than once to spawn more particles. The <particle> argument must be a particle name, see name index.html#particle Optionally you can specify some arguments separated by | character: offset <x> <y> <z> = (default: 0.5 1.0 0.5) Offset positioning of the particle relative to the block/player crafting. Allows doubles (0.0) randomoffset <x> <y> <z> = (default: .25 .25 .25) Random offset of the particle relative to the block/player crafting. Allows doubles (0.0) count <amount> = How many particles are spawned extra <value> = Used to set extra data for certain particles. For example, speed. Allows doubles (0.0) You can specify these arguments in any order and they're completely optional. Setting to 'false' or 'remove' will disable the flag. Examples: @spawnparticle @spawnparticle heart | count 3 @spawnparticle smoke_normal | count 5 @spawnparticle lava | count 20 | randomoffset 0.5 1 .5 | offset 0 2 Aliases: @particle
^ Contents @summon <type> | [arguments] Summons a creature. Using this flag more than once will add more creatures. The <type> argument can be a living entity type, you can find all entity types here: name index.html#entitytype Optionally you can add some arguments separated by | character, those being: adult = forces creature to spawn as an adult, works with animals and villagers (works opposite of baby). agelock = prevent the creature from maturing or getting ready for mating, works with animals and villagers. angry = makes creature angry, only works for wolves and pigzombies; you can't use 'pet' with this. baby = spawn creature as a baby, works with animals, villagers and zombies (works opposite of adult). cat <type> = cat type, available values: tabby, black, red, siamese, british_shorthair, calico, persian, ragdoll, white, jellie, all_black chance <0.01-100>% = chance of the creature to spawn, this value is for individual creatures. chest <item> [drop%] = equip an item on the creature's chest with optional drop chance. color <dye>> = sets the color of animal, only works for sheep and pet wolf/cats. Values: name index.html#dyecolor feet <item> [drop%] = equip an item on the creature's feet with optional drop chance. fox <type> = set the fox type, values: red, snow foxcrouching = set the fox to be crouching foxfirsttrustedplayer <uuid or player> = set the fox's first trusted player. If set to 'player', the crafter will be used. foxsecondtrustedplayer <uuid or player> = set the fox's second trusted player. If set to 'player', the crafter will be used. foxsleeping = set the fox to be sleeping hand <item> [drop%] = equip an item on the creature's main hand with optional drop chance; for enderman it only uses material and data from the item. head <item> [drop%] = equip an item on the creature's head with optional drop chance. hit = crafter will fake-attack the creature to provoke it into attacking or scare it away. haschest = adds a chest to creature (Only works on horses, forces horse to be an adult and tamed). horsecolor <type> = set the horse color, values: white, creamy, chestnut, brown, black, gray, dark_brown horsestyle <type> = set the horse style, values: none, white, whitefield, white_dots, black_dots hp <health> [max] = set creature's health and optionally max health. offhand <item> [drop%] = equip an item on the creature's offhand with optional drop chance. invulnerable = makes the creature invulnerable. jumpstrength <0.0-2.0> = sets the creature's jump strength (Only works for horses). 0 = no jump legs <item> [drop%] = equip an item on the creature's legs with optional drop chance. mountnext = this creature will mount the next creature definition that triggers after it. noai = disable the ai on creature. noeffect = no spawning particle effects on creature. noremove = prevents creature from being removed if nobody is near it. name <text> = sets the creature's name, supports colors (<red>, &3, etc). nobreed = prevent the creature being able to breed, works for animals and villagers. nohidename = don't hide name plate when not aiming at creature. num <number> = spawn more cloned creatures. onfire <time> = spawn creature on fire for <time> amount of seconds, value can be float. pandahiddengene <type> = set the panda's hidden gene, values: normal, lazy, worried, playful, brown, weak, aggressive pandamaingene <type> = set the panda's main gene, values: normal, lazy, worried, playful, brown, weak, aggressive parrot <type> = set the parrot type, values: red, blue, green, cyan, gray pet [nosit] = makes creature owned by crafter, only works for tameable creatures, optionally specify 'nosit' to not spawn creature in sit stance. pickup [true/false] = change if creature can pick-up dropped items. playerirongolem = marks iron golem as player-made. potion <type> [time] [amp] = adds potion effect on the spawned creature; this argument can be used more than once to add more effects. type values: name index.html#potioneffect [time] can be a decimal of duration in seconds [amp] can be an integer that defines amplifier; poweredcreeper = makes creeper a powered one, only works for creepers. rabbit <type> = set the rabbit type, values: brown, white, black, black_and_white, gold, salt_and_pepper, the_killer_bunny saddle [mount] = adds saddle on creature (forces animal to be adult), only works for pig and horse, optionally you can specify 'mount' to make crafter mount creature. shearedsheep = sets the sheep as sheared, only works for sheep. spread <range> = spawns creature(s) spread within block range instead of on top of workbench or furnace. (WARNING: can be CPU intensive) target = creature targets crafter, that means monsters attack and animals follow and the rest do nothing villager <type> = set the villager profession Values: none, armorer, butcher, cartographer, cleric, farmer, fisherman, fletcher, leatherworker, librarian, mason, nitwit, shepherd, toolsmith, weaponsmith These arguments can be used in any order and they're all optional. Setting to 'false' or 'remove' will disable the flag. Examples: @summon cow @summon skeleton | hand bow // skeletons spawn without weapons, you need to give it one @summon zombie | baby | chest chainmail_chestplate 25% | legs chainmail_leggings 25% | hand iron_sword 50% // baby zombie warrior @summon sheep | color pink | name <light_purple>Pony @summon ocelot | cat redcat | pet | potion speed 30 5 // chicken on a villager and villager on a cow: @summon chicken | mountnext @summon villager | mountnext @summon cow Aliases: @spawn, @creature, @mob, @animal
^ Contents @suspiciousstewitem <effect type> | [arguments] Adds potion effects to a suspicious stew. This flag can be used more than once to add more effects. The <effect type> argument must be an effect type, see name index.html#potioneffect Optionally you can add more arguments separated by | character in any order: duration <float> = (default 1.0) potion effect duration in seconds, only works on non-instant effect types. amplifier <num> = (default 0) potion effect amplifier. ambient [false] = (default true) makes the effect produce more, translucent, particles. !ambient = equivalent to 'ambient false' particles [false] = (defaults true) display particles. !particles = equivalent to 'particles false' icon [false] = (defaults true) show the effect icon. !icon = equivalent to 'icon false' Setting to 'false' or 'remove' will disable the flag. Examples: @suspiciousstewitem heal @suspiciousstewitem blindness | duration 60 | amplifier 5 @suspiciousstewitem poison | chance 6.66% | ambient | amplifier 666 | duration 6.66 Aliases: @suspicioussoupitem, @suspiciousstew, @suspicioussoup
^ Contents @temperature [operator]<number> | [fail message] Checks if the crafter or furnace has at least 'min' temperature unless [operator] is set. Using this flag more than once will overwrite the previous one. The '[operator]' argument can be nothing at all or you can use >= (which is the same as nothing, to check for greater than or equal), <= (less than or equal), > (greater), or < (less than). The '<number>' argument must be the temperature you want to check against. Uses doubles, meaning 1 and 1.0 are valid numbers. The '[operator]<number>' combination can be used multiple times when separated by a comma. In that case, all checks must be successful Optionally you can overwrite the fail message or you can use 'false' to hide it. In the message the following variables can be used: {temperature} = temperature conditions {actual} = the actual temperature player or furnace is at Setting to 'false' or 'remove' will disable the flag. Examples: @temperature < 0 // Must be in an icy biome @temperature 1.2 // Must be in a hot biome, such as a desert or savanna @temperature >= 1.2 // Equivalent to the above example @temperature >= .15, <= .95 // Must be within a temperature where it can rain Aliases: @temp
^ Contents @weather <type>, [type] | [fail message] Sets the weather type(s) required to allow crafting. Using this flag more than once will overwrite the previous one. The 'type' argument can be: clear = clear skies, no precipitation. downfall = precipitation (rain/snow depends on biome). thunder = precipitation + thundering. You can set more than one type separated by , character, but setting all of them is pointless. Optionally you can set the 'fail message' argument to overwrite the failure message or set it to 'false' to hide it. In the fail message you can use the following variables: {weather} = the weather type required. NOTE: If you need to check if it's raining or snowing then use the @temperature flag. Setting to 'false' or 'remove' will disable the flag. Examples: @weather downfall // works only if it's raining peacefully. @weather clear, thunder | <red>To be struck by lightning... or to be not.
^ Contents @world [!]<world>, [...] | [fail message] Makes the recipe or item work only in certain worlds. Using this flag more than once will add more worlds. The '<world>' argument can be a world name. Adding ! character as prefix to individual worlds will do the opposite check, will not craft in specified world. You should require or disallow worlds, using both would be logically pointless. Optionally you can specify a failure message that will be used on the specific world(s) defined. The messages can have the following variables: {world} = current world. {worlds} = a comma separated list of the required or unallowed worlds. Setting to 'false' or 'remove' will disable the flag. Examples: @world world // only allows 'world' @world !world_nether // disallows 'world_nether' @world world1, world2, world3 | <red>Need to be in world 1, 2 or 3! // requires one of the 3 worlds Aliases: @needworld, @worlds