Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for Thorinwasher

Custom beverage crafting, with large customizability on drinking effects.

Report TheBrewingProject?

Recipe Customization

A recipe can be customized completely, this is heavily adviced towards, as users will have:

  1. A more unique experience
  2. Users will have to figure out each recipes themself. This leaves the whole brewing process to be experienced for the user.

Fundamental concepts

A brew recipe outcome is determined from the quality of the brew, this is divided 4 different qualities; failed/bad/good/excellent. If a brew is failed, then a default recipe will be chosen to determine the apperance for the resulting item. The result for the brew when it has any of bad/good/excellent qualities can be written into the recipe itself. This is done differently for list values and single values.

Quality factored list

A quality factored list is how you select behavior depending on quality for a list. A set of + symbols define whether the element should be included in the list for a certain quality. When no + symbol is as a prefix for the element, it will apear for all qualities.

my-property:
  - This will be the first element
  - +This element will only show for bad qualities
  - ++This element will only show for good qualities
  - +++This element will only show for excellent qualities
  - This will be the last element

For a bad quality brew, this list would be read as:

my-property:
  - This will be the first element
  - This element will only show for bad qualities
  - This will be the last element

And same for the other qualities, I think you get the idea.

Quality factored single value

A quality factored single value is how you select behavior depending on quality for a single value. One way of writing this type of value is with the following format:

my-property: Bad Quality/Good Quality/Excellent Quality

For example for a poor quality potion, the config would be read as this:

my-property: Bad Quality

If you want the value to be the same for all qualities, you simply remove any / symbol, like this

my-property: Quality For All

Mini Message

Every message / text in the recipe configuration is going to be formatted using minimessage. That means there's no support for legace ampersand formatting (for example &0)

Recipe Options

Here's a list of all available recipe options

Brew name

For more information about quality format, see the Quality factored single value section

potion-attributes.name: Bad Quality/Good Quality/Excellent quality

Brew Color

Select the color of the brew. Supports some minecraft color codes

potion-attributes.color: ffe491

Brewing Steps

When defining each step of the brew, you define how the brew can be made. There's currently four different types of steps; cook/mix/distill/age, all of the separate steps requires a different configuration. The type of the step has to be defined for each step. The Cook Step

The cook step has 2 mandatory properties, ingredients and cook-time and one optional property cauldron-type

- type: cook
  cook-time: 4 # Minutes
  cauldron-type: water # default water
  ingredients:
  	- <my_ingredient>/<amount>
  	- <my_integrated_plugin>:<custom_item_id>/<amount>
  	- wheat/3 # example
  	- brewery:gin/2 # recipe from a brew

The Mix Step

The mix step has 2 mandatory properties, ingredients and mix-time.

- type: mix
  mix-time: 2 # minutes
  ingredients:
  	- <my_ingredient>/<amount>
  	- <my_integrated_plugin>:<custom_item_id>/<amount>
  	- wheat/3 # example
  	- brewery:gin/2 # recipe from a brew

The Distill Step

The distill step has 1 mandatory property, runs

- type: distill
  runs: 3 # How many times should the brew be distilled

The Age Step The age step has 2 mandatory properties, barrel-type and age-years.

- type: age
  barrel-type: oak # Barrel types, includes copper + wood types
  age-years: 3 # In game days

Brew difficulty (Optional)

Define how hard it should be to brew a beverage.

brew-difficulty: 2 # default 1

Alcohol content (Optional)

Define how potent the brew is. The value can be anything, but will realistically be trunkated between [-100, 100]. See Quality factored single value for more information on the format.

alcohol: 10 #ml

Lore (Optional)

Apply lore on the brew. See Quality factored list for more information about the format.

potion-attributes.lore:
  - First element
  - +Bad quality element
  - Last element

Custom model data (Optional)

Currently only integer values for custom model data is supported.

potion-attributes.custom-model-data: 1

Glint (Optional)

Apply the glint effect on the item.

potion-attributes.glint: true # Default false

Brew Info Lore (Optional)

You can decide whether the extra lore should be displayed for an item, this includes for example recipe hints such as cook time, and so on.

potion-attributes.append-brew-info-lore: false # Default true

Custom item ID (Optional)

You can tag the brew to be made to a custom item with the following tag. Currently no checks are done on enable for this, please test each item for now when doing this.

potion-attributes.custom-id: nexo:better_brew

Note that the resulting item has to be consumable for the multiple types of effects from The Brewing Project to trigger.

Action Bar (Optional)

What action bar message should be displayed when the player drinks this brew. See Quality factored single value for more information on the format.

messages.action-bar: Bad/Good/Excellent

Title (Optional)

What title message should be displayed when the player drinks this brew. See Quality factored single value for more information on the format.

messages.title: Bad/Good/Excellent

Message (Optional)

What chat message should be displayed when the player drinks this brew. See Quality factored single value for more information on the format.

Potion Effects (Optional)

What potion effect should be applied to the player when drinking this brew. See Quality factored list for more information about the format. Note that the duration is in TICKS not in seconds.

effects:
  - <potion_effect>/<duration>/<amplifier>
  - speed/40/2

Events (Optional)

What events should be triggered when drinking this potion. See Quality factored list for more information about the format. You can define your own events in the configuration (this is how you do command execution), but there's also predefined events.

events:
  - stumble # A predefined event
  - memory_loss # A custom event