Skip to content

Recipes

Looty provides an extensive recipe system for custom items, import it as below:

namespaces: [ looty ]

Create recipes

Set recipes

Create any kind of recipe for an item, all types listed below.

If the recipe is defined in the item prefab itself, result does not need to be specified, the item will be the result.

set.recipes:
  recipes: # (1)!
    - !<shaped>
      ...
  discoverRecipes: true # (2)!
  group: "" # (3)!
  removeRecipes: [] # (4)!
  result: ... # (5)!
  1. List of recipes, see available types below.
  2. Default false, Whether to unlock the recipe automatically when a player joins the server
  3. Default empty, set the group of this recipe. Recipes with the same group may be grouped together when displayed in the client
  4. Optional, a list of existing recipes to remove (ex. if migrating from one recipe to a new one)
  5. A Serializable Item, or don't pass to use this prefab's set.item

Set potionmixes

set.potionMixes:
  potionmixes: # (1)!
    - input: ... 
      ingredient: { type: sugar }
  result: ... # (2)!
  1. List of potion mixes, as defined below
  2. A Serializable Item, or don't pass to use this prefab's set.item

Recipe types

Shaped

Uses keys to define Serializable Items as ingredients. These keys can be used to describe a configuration as below

- !<shaped>
  items:
    M: { type: gold_ingot }
    S: { type: stick }
  configuration: |-
    | MM|
    | SM|
    |S  |

A smaller size can also be used for the configuration, ex:

configuration: |-
  |MM|
  |SM|

Shapeless

Takes a list of Serializable Items as ingredients, they may be placed in any shape.

- !<shapeless>
  items:
    - type: gold_ingot
    - prefab: myplugin:custom_item

Cooking

There are several options for cooking recipes, furance, blasting, campfire, smoker. The input is a Serializable Item that will be consumed.

- !<furnace>
  input: { prefab: mineinabyss:ashimite_meat_raw }
  experience: 1f
  cookingTime: 100

Stonecutting

Input is a Serializable Item that will be consumed by the stonecutter.

- !<stonecutting>
  input: { type: stone }

Smithing

Transform

All inputs are Serializable Item. template, input, addition are ordered left to right in the smithing table. Ex. we have a template for a custom netherite upgrade:

- !<smithing_transform>
  template: { type: netherite_upgrade_smithing_template }
  input: { prefab: mineinabyss:diamond_sickle }
  addition: { type: netherite_ingot }

Trim

Potionmix

All entries are Serializable Items, the input is the potion being brewed, and ingredient is the ingredient being added on top. If input is not specified, will use a water bottle.

- !<potionmix>
  input: ...
  ingredient: { type: sugar }