- Native Minecraft Version:
- 1.16
- Tested Minecraft Versions:
- 1.16
- Source Code:
- https://github.com/2008Choco/Alchema/
- Donation Link:
- https://www.paypal.me/2008Choco
Alchema integrates the world of brewery, witchcraft and magic with Minecraft without being intrusive on the vanilla feel of the game. It allows players to craft items using a cauldron filled with water that's been lit with some heat source and a select handful of ingredients. With entirely customizable, data-driven recipes, Alchema allows server owners to customize everything about the cauldron and what all is possible for players.
Features In Brief:
[More to come...] a list of planned features, though suggestions are appreciated.
- Bubbling cauldrons. Filled cauldrons with a heat source will start to bubble!
- In-world cauldron crafting. Dropping a mix of ingredients into cauldrons may yield a new item!
- Vials of entity essence used as cauldron recipe ingredients and quick potion-like effects.
- A powerful data-driven recipe system to define cauldron recipes with JSON files.
- Drag-and-drop installation with no additional steps for server owners by default.
- Flexible developer API for custom ingredient types and recipes (among other things).
Bubbling Cauldrons:
Any in world cauldron is presented with a new mechanic, bubbling! No special crafting recipe for this cauldron, any vanilla cauldron will do. Under the following conditions, a cauldron will begin to bubble:
Such that all of the above conditions are met, the cauldron will bubble indefinitely and allows players to begin the process of crafting items exclusively through the cauldron.
- A source of heat is ignited below the cauldron.
- Water is present in the cauldron and filled to its maximum.
- A little bit of patience. The cauldron takes (by default) 5 seconds to start bubbling
Cauldron Crafting:
Dropping an item inside of a boiling cauldron will consume it and will become an ingredient in the cauldron. Throw in enough items of the right type and the cauldron will begin to craft automatically without any input from the player.
Accidentally drop something into the cauldron that you didn't want to lose? Have extra ingredients that you can't get back? The cauldron remembers the exact item you dropped into it (even across server restarts!) and you can retrieve any remaining ingredients by either collecting the water from the cauldron, removing the source of heat, or destroying the cauldron in the world (though be careful with the heat source underneath).
Alchema provides 45 recipes by default. They are as follows:
- 1x Beetroot: 1x beetroot seeds + 1x bone meal
- 1x Wheat: 1x wheat seeds + 1x bone meal
- 1x Pumpkin: 1x pumpkin seeds + 2x bone meal
- 1x Melon: 1x melon seeds + 2x bone meal
- 1x Wheat: 1x wheat seeds + 1x bone meal
- 1x Beetroot Soup: 1x bowl + 4x beetroot
- 1x Mushroom Stew: 1x bowl + 1x brown + 1x red mushroom
- 1x Rabbit Stew: 1x bowl + 1x brown/red mushroom + 1x cooked rabbit + 1x baked potato
- 1x Coal Ore: 2x coal + 1x stone
- 1x Diamond Ore: 3x diamond + 1x stone
- 1x Emerald Ore: 3x emerald + 1x stone
- 1x Gold Ore: 2x gold + 1x stone
- 1x Iron Ore: 2x iron + 1x stone
- 1x Lapis Ore: 6x lapis lazuli + 1x stone
- 1x Redstone Ore: 6x redstone + 1x stone
- 2x Fermented Spider Eye: 1x spider eye + 1x brown mushroom + 1x sugar
- 2x Glowstone Dust: 1x coal + 1x redstone
- 8x Concrete: 8x concrete powder + 1x gravel (all 16 variants)
- 1x Emerald: 500 villager essence + 1 diamond
- 1x Blaze Rod: 50 blaze essence + 1 stick
- 1x Ghast Tear: 250 ghast essence + 1 iron nugget
- 2x Gunpowder: 50 creeper essence + 1 redstone
- 1x Ink Sac: 25 squid essence + 1 black dye
- 3x Leather: 250 cow essence + 4 rotten flesh
- 2x Turtle Egg: 100 turtle essence + 1 egg
- 1x Heart of the Sea: 250 dolphin essence + 4 nautilus shells
- 4x Honeycomb: 1 honey bottle + 1 sugar
- 8x Gravel: 8 cobblestone + 1 flint
- 8x Sand: 8 gravel + 1 flint
Data-Driven (JSON) Recipes:
Every single recipe is configurable and/or removeable with a powerful data-driven (JSON) set of recipes in Alchema's plugin directory. Under plugins/Alchema/recipes, you will find each of the above listed recipes with their own JSON file containing information about the recipe (much like how Minecraft handles its recipes!)
As an example, the Fermented Spider Eye recipe as seen above looks like this:
If you do not want the recipe, delete the file from the recipes directory and reload the recipes with the /alchema reload command. Add your own recipes by adding a new .json file and following a similar format. Everything is extremely configurable with this JSON file structure without having to know how to code.Code (Javascript):{
"experience": 2,
"result": {
"item": "minecraft:fermented_spider_eye",
"amount": 2
},
"ingredients": [
{
"type": "alchema:material",
"item": "minecraft:spider_eye"
},
{
"type": "alchema:material",
"item": "minecraft:sugar"
},
{
"type": "alchema:material",
"item": "minecraft:brown_mushroom"
}
]
}
Entity Essence:
Entity essence integrates the witchcraft and brewery aspects that Alchema aims to provide. Entity essence is a type of cauldron ingredient that may be used in crafting recipes such as blaze rods with blaze essence and sticks, or emeralds with villager essence and diamonds. Being able to convert one material into another with the essence of entity allows for much more flexible recipe design and makes the world of Minecraft feel more immersive with the world of Alchema.
Players may craft empty vials with 3 glass panes in a bucket or glass bottle formation. These vials may then be used by right clicking on an entity to collect a random amount of essence. Entities can only have essence collected every 5 minutes (by default) unless the player is in creative mode.
Players may also collect essence from entities using a vial of essence of the same type (i.e. clicking on a cow with a vial of cow essence) up to 1,000 (by default) essence per vial. These vials of essence can be dropped right into a cauldron and used for recipes involving entity essence.
Entities also all have a chance of dropping vials of entity essence. Although this is much more rare (by default, 0.75% chance), more essence may be yielded. The chance of dropping essence increases if the entity is killed with a weapon enchanted with Looting. Though this essence is no different than collecting it from an entity directly.
Additionally, all entity essence may be consumed by the player much like a potion. While not all entity essences have effects, some do! Some give you potion effects while others, like enderman essence, will teleport you around akin to a chorus fruit. Explore some of the essence types.
Commands:
Alchema aims to integrate entirely with the vanilla Minecraft world without having to force players to learn any new commands in order to experience the plugin. Commands are deemed as intrusive for average player use and therefore few are added for administrator use only.
- /alchema reload [verbose]
- Reload the config.yml and recipes registered by both Alchema and third-party plugins
- If "verbose" is included, any errors from recipe files will be shown in chat to the command sender
- Permission: alchema.command.reload
- /alchema version
- View version and developer information about Alchema
- /alchema integrations
- View list of plugins integrating with Alchema
- Permission: alchema.command.integrations (default)
- /alchema saverecipe <recipe>
- Save one of the default recipes from Alchema to the recipe file system
- Wildcard paths such as /alchema saverecipe concrete/* are supported
- Permission: alchema.command.saverecipe (default)
Permissions:
(op) alchema.command.*:
(op) alchema.updatenotify: Receive notifications for updates when joining the server
- (op) alchema.command.reload: Grant access to /alchema reload
- (op) alchema.command.reload.verbose: Grant access to /alchema reload verbose
- (default) alchema.command.integrations: Grant access to /alchema integrations
- (op) alchema.command.saverecipe: Grant access to /alchema saverecipe
Configuration:
Below you'll find the default configuration for Alchema:
Code (YAML):# Whether or not to check for updates
CheckForUpdates: true
# Whether or not anonymous plugin metrics should be tracked
Metrics: true
Cauldron:
# The time (in ticks) cauldrons will wait before searching for nearby items
# Higher values are less accurate/realistic, but more performant
ItemSearchInterval: 1
# The time, in milliseconds, it takes for a heat source to boil a cauldron
MillisecondsToHeatUp: 5000
Entities:
# Whether or not entities should be damaged when inside a boiling cauldron
Damage: true
# The minimum amount of essence an entity will generate when killed
MinEssenceOnDeath: 50
# The maximum amount of essence an entity will generate when killed
MaxEssenceOnDeath: 100
# The pool of death messages used when a player is killed in a boiling cauldron
DeathMessages:
- "%s has boiled to death in a cauldron."
- "%s was cooked in a cauldron."
Sound:
# The volume at which the ambient bubbling sound is played
AmbientBubbleVolume: 0.45
# The volume at which the item splash sound is played
ItemSplashVolume: 1.0
# The volume at which the sound for a successful cauldron craft is played
SuccessfulCraftVolume: 0.5
VialOfEssence:
# The maximum amount of entity essence that can be stored in a vial
MaximumEssence: 1000
FromEntities:
OnDeath:
# The chance (0.0 - 100.0) that an entity will drop a vial of essence on death
BaseDropChance: 0.75
# The minimum amount of essence the entity can drop
Min: 50
# The maximum amount of essence the entity can drop
Max: 250
# A list of entities that will not drop essence on death. Example:
# Blacklist:
# - "minecraft:zombie"
# - "minecraft:creeper"
Blacklist: []
OnInteract:
# Whether or not essence may be collected by players when right clicking an entity with an empty vial
Enabled: true
# The time, in seconds, between which a player can collect essence from the same entity
TimeoutSeconds: 300
# The minimum amount of essence that can be collected from an entity by a player
Min: 10
# The maximum amount of essence that can be collected from an entity by a player
Max: 25
# A list of entities from which essence cannot be collected
Blacklist: []
Consumption:
# A list of messages to send to the player when consuming entity essence with no effect
# One message will be selected at random
TastelessThoughts:
- "That was rather tasteless... I shouldn't do that again."
- "What a waste of essence... I shouldn't drink this stuff."
- "Interestingly tasteless, disappointingly wasteful."
- "Surely there was a better use for that essence than drinking it."
Item:
Empty:
# The name to use for empty vials
Name: "&fEmpty Vial"
# The lore to use for empty vials
Lore:
- "&7&oCollects entity essence."
# The custom model data to use for empty vials
CustomModelData: 1
Filled:
# The name to use for vials of entity essence
# %entity% will be replaced with the name of the entity type
Name: "&fVial of Essence &7(%entity%)"
# The lore to use for vials of entity essence
# %entity% will be replaced with the name of the entity type
# %quantity% will be replaced with the quantity of essence in the vial
# %max_quantity% will be replaced with the maximum quantity of essence allowed in a vial (configurable, see above)
Lore:
- "&7Quantity: &f%quantity%/%max_quantity%"
- ""
- "&7&oCauldron crafting ingredient."
# The custom model data to use for vials of entity essence
CustomModelData: 2
Alchema API:
Alchema provides developers with an extremely powerful API to create custom types of ingredients, custom recipes and to more closely interact with the cauldron and everything it does while in the world. The Alchema artifact is hosted for free on Jitpack.
Javadocs for Alchema may be found here: https://choco.wtf/javadocs/alchema/
Details on how to use the Alchema API may be found on GitHub
Depending with Maven
Depending with GradleCode (XML):<project>
...
<repositories>
<id>jitpack</id>
<url>https://jitpack.io/</url>
</repositories>
...
<dependencies>
<dependency>
<groupId>com.github.2008Choco</groupId>
<artifactId>Alchema</artifactId>
<version>PLUGIN-VERSION-HERE</version>
<scope>provided</scope>
</dependency>
</dependencies>
...
</project>
Code (Groovy):repositories {
jcenter()
maven { url "https://jitpack.io" }
}
dependencies {
implementation 'com.github.2008Choco:Alchema:PLUGIN-VERSION-HERE'
}
Like Alchema?
Try AlchemicalArrows! AlchemicalArrows aims to improve the bow vs. bow combat experience while staying true to Minecraft's vanilla mechanics as much as possible. It adds 16 unique types of arrows in addition to the ones provided by vanilla Minecraft (potion-tipped arrows), including, but not limited to, air arrows, water arrows, earth arrows, fire arrows, grapple arrows, explosive arrows, life arrows and more...
Alchema has become a derivative of functionality previously present in AlchemicalArrows, but now as its own standalone plugin, it integrates seamlessly with AlchemicalArrows and automatically registers cauldron recipes for each arrow! If you like Alchema, you'll surely love AlchemicalArrows. Try it today! It's free!
In Closing:
If you have any concerns with the plugin, do not hesitate to contact me on my official support Discord and I will answer whenever available!
Additionally, I also happily welcome contributions to the API if you believe it is necessary for development purposes, or to the plugin if you wish to see more features that you believe you may add yourself! Thank you and enjoy!

Alchema 1.1.2
In-world cauldron crafting, witchcraft and sorcery
Recent Updates
- Performance & API Refinements Feb 26, 2021 at 12:46 PM
- Recipe experience, entity death experience and QOL Feb 20, 2021
- Entity Essence, New Recipes & Better Recipe Loading Feb 4, 2021