Item Filters: Difference between revisions

From Discord Dungeons Wiki
Jump to navigation Jump to search
(Add #!recipe filter info)
(slash commands :()
Line 1: Line 1:
Item filters can be used to reduce the size of a list of items. Current commands that support them are #!items, #!inv, #!ginv, #!gbsearch, #!gmsearch, and #!recipe.
Item filters can be used to reduce the size of a list of items. Current commands that support them are <code>/items</code>, <code>/inv</code>, <code>/g inv</code> and <code>/recipe</code>.


Examples:
Examples:
Line 5: Line 5:
*To get the list of buyable weapons under level 100:
*To get the list of buyable weapons under level 100:


  #!items type:weapon cost:>:0 level:<=:100
  /items filter:type:weapon cost:>:0 level:<=:100


*To get all the ores in your inventory:
*To get all the ores in your inventory:


  #!inv type:ore
  /inv view filter:type:ore


*To get items in your inv that give boosts to attributes:
*To get items in your inv that give boosts to attributes:


  #!inv attributes:
  /inv view filter:attributes:


*To get the list of non-donor items:
*To get the list of non-donor items:


  #!items donate:undefined donator:undefined
  /items filter:donate:undefined donator:undefined


*To get (most of) the list of donor items:
*To get (most of) the list of donor items:


  #!items donate:true
  /items filter:donate:true


* To get all the recipes that use coal anywhere in the crafting tree:
*To get all the recipes that use coal anywhere in the crafting tree:


  #!recipe uses:coal --raw
  /recipe filter:uses:coal --raw


Usable Properties:
Usable Properties:
Line 32: Line 32:
*level (The item level)
*level (The item level)
*cost (The buying price of the item; unbuyable items have a cost of -1)
*cost (The buying price of the item; unbuyable items have a cost of -1)
*type (The type of the item shown in #!item)
*type (The type of the item shown in <code>/items</code>)
*toolType (The type of tools shown in #!item)
*toolType (The type of tools shown in <code>/items</code>)
*sell (The selling price of the item)
*sell (The selling price of the item)
*sellable (true or false value showing if an item can be sold)
*sellable (true or false value showing if an item can be sold)
Line 55: Line 55:


Additional properties specific to #!recipe:
Additional properties specific to #!recipe:
* canCraft (true or false value showing if you're allowed to craft that item; the gray items in the list are false)
 
* hasMats (true or false value showing if you have the materials to craft that item right then)
*canCraft (true or false value showing if you're allowed to craft that item; the gray items in the list are false)
* level (Specifies the crafting level instead of the item level)
*hasMats (true or false value showing if you have the materials to craft that item right then)
* uses (Item name or item ID used in the crafting recipe; this isn't a property so much as a special search)
*level (Specifies the crafting level instead of the item level)
*uses (Item name or item ID used in the crafting recipe; this isn't a property so much as a special search)




Notes:<br>
Notes:<br>
Not all items can use all properties. For example, not all items have an <code>ore</code> field, so if you search <code>#!items ore:</code>, any items without <code>ore</code> data will be filtered out.<br>
Not all items can use all properties. For example, not all items have an <code>ore</code> field, so if you search <code>/items filter:ore:</code>, any items without <code>ore</code> data will be filtered out.<br>
To search for items that '''don't''' have a property, you can use <code>undefined</code>, like <code>#!items donate:undefined</code>.<br>
To search for items that '''don't''' have a property, you can use <code>undefined</code>, like <code>/items filter:donate:undefined</code>.<br>
The left-hand side of the filter is case-sensitive, so itemBoost will work and itemboost won't.<br>
The left-hand side of the filter is case-sensitive, so itemBoost will work and itemboost won't.<br>
Searches use substrings, so if you search <code>name:log</code>, it'll give all items with "log" in the name.<br>
Searches use substrings, so if you search <code>name:log</code>, it'll give all items with "log" in the name.<br>

Revision as of 22:10, 29 October 2022

Item filters can be used to reduce the size of a list of items. Current commands that support them are /items, /inv, /g inv and /recipe.

Examples:

  • To get the list of buyable weapons under level 100:
/items filter:type:weapon cost:>:0 level:<=:100
  • To get all the ores in your inventory:
/inv view filter:type:ore
  • To get items in your inv that give boosts to attributes:
/inv view filter:attributes:
  • To get the list of non-donor items:
/items filter:donate:undefined donator:undefined
  • To get (most of) the list of donor items:
/items filter:donate:true
  • To get all the recipes that use coal anywhere in the crafting tree:
/recipe filter:uses:coal --raw

Usable Properties:

  • name (The item name)
  • level (The item level)
  • cost (The buying price of the item; unbuyable items have a cost of -1)
  • type (The type of the item shown in /items)
  • toolType (The type of tools shown in /items)
  • sell (The selling price of the item)
  • sellable (true or false value showing if an item can be sold)
  • tradable (true or false value showing if an item can be traded)
  • desc (The item's description)
  • forage (true or false value of if the item can be foraged)
  • foragedata (Either Object or undefined; same as forage but includes Magic Saplings)
  • ore (Either Object or undefined; same items as type:ore)
  • fish (Either Object or undefined; same as type:fish)
  • plural (The plural name of the object)
  • prefix (The grammatical prefix of the object; usually a or an)
  • attributes (Either Object or undefined; whether or not the object boosts any attributes)
  • def (The percentage of damage blocked by the armor (or undefined))
  • id (The ID of the item; normally a number. Meta items are m:number)
  • itemBoost (The amount of extra items received when doing sides with this tool)
  • skillXp (The static boost to skill xp granted by Jades in tools)
  • gems (The enchantments on an item; is a string like JJ for 2 Jades)
  • sockets (The number of gem sockets on an item: 1, 2, or undefined)
  • enchants (An array of enchantments in the form [sx;4,as;10] (don't try to use this; just use gems))
  • suffix (The end of the name on meta items, such is 2SRR+23)

Additional properties specific to #!recipe:

  • canCraft (true or false value showing if you're allowed to craft that item; the gray items in the list are false)
  • hasMats (true or false value showing if you have the materials to craft that item right then)
  • level (Specifies the crafting level instead of the item level)
  • uses (Item name or item ID used in the crafting recipe; this isn't a property so much as a special search)


Notes:
Not all items can use all properties. For example, not all items have an ore field, so if you search /items filter:ore:, any items without ore data will be filtered out.
To search for items that don't have a property, you can use undefined, like /items filter:donate:undefined.
The left-hand side of the filter is case-sensitive, so itemBoost will work and itemboost won't.
Searches use substrings, so if you search name:log, it'll give all items with "log" in the name.
If you want to search for multiple words, simply remove the spaces like name:maplelog.
If you leave the value (the right side of the :) empty, all items with the property will be matched.
If a value is a number, like level, you can use <, <=, >, and >= to do inequality searches like level:<:100 cost:>:0.
If --raw is used in a recipe search, all the properties will reflect the raw recipes rather than the normal recipes, so, uses:ironingot --raw will return nothing as the raw recipes only use ironore.