Alchema 1.3.0

In-world cauldron crafting, witchcraft and sorcery

  1. Choco
    Native Minecraft Version:
    Tested Minecraft Versions:
    • 1.17
    • 1.18
    Source Code:

    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:
    • 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).
    [More to come...] a list of planned features, though suggestions are appreciated.

    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:
    • 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
    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.

    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 48 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
    • 4x Glow Berries: 4x sweet berries + 1x glowstone dust
    • 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 Copper Ore: 2x copper + 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
    • 1x Glow Ink Sac: 50 squid essence + 1 glowstone
    • 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:
    Code (Javascript):
        "experience": 2,
        "result": {
            "type": "alchema:item",
            "item": "minecraft:fermented_spider_eye", // Can be in the format of a /give command argument
            "amount": 2
        "ingredients": [
                "type": "alchema:material",
                "item": "minecraft:spider_eye"
                "type": "alchema:material",
                "item": "minecraft:sugar"
                "type": "alchema:material",
                "item": "minecraft:brown_mushroom"
    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.

    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.


    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> [-f]
      • Save one of the default recipes from Alchema to the recipe file system
      • Wildcard paths such as /alchema saverecipe concrete/* are supported
      • If -f is supplied, files are forcibly saved and will overwrite existing recipe files
      • Permission: alchema.command.saverecipe


    (default) alchema.craft: Allows players to craft using the cauldron
    • (default) alchema.craft.<namespace>.<recipe_id>: Allows players to craft a specific recipe in the cauldron. Examples:
      • alchema.craft.alchema.gravel
      • alchema.craft.alchema.ores.coal_ore (notice that "ores/coal_ore" has been converted to "ores.coal_ore")
    (op) alchema.command.*:
    • (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
    (op) alchema.updatenotify: Receive notifications for updates when joining the server


    Below you'll find the default configuration for Alchema:
    Code (YAML):
    # Whether or not to check for updates
    : true

     # Whether or not anonymous plugin metrics should be tracked
    : true
      # Whether or not custom recipe types should be anonymized when sent to bStats. Types native to Alchema will not be anonymized (e.g. Alchema and MMOItems)
    : false

     # The time (in ticks) cauldrons will wait before searching for nearby items
      # Higher values are less accurate/realistic, but more performant
    : 1
      # The time, in milliseconds, it takes for a heat source to boil a cauldron
    : 5000
      # Whether or not items dropped into cauldrons must be dropped by players. If false, all items that fall in the cauldron (even from dispensers), are included
    : false
       # Whether or not entities should be damaged when inside a boiling cauldron
    : true
        # The minimum amount of essence an entity will generate when killed
    : 50
        # The maximum amount of essence an entity will generate when killed
    : 100
      # The pool of death messages used when a player is killed in a boiling cauldron
       - "%s has boiled to death in a cauldron."
        - "%s was cooked in a cauldron."
       # The volume at which the ambient bubbling sound is played
    : 0.45
        # The volume at which the item splash sound is played
    : 1.0
        # The volume at which the sound for a successful cauldron craft is played
    : 0.5

    # The maximum amount of entity essence that can be stored in a vial
    : 1000
       # The chance (0.0 - 100.0) that an entity will drop a vial of essence on death
    : 0.75
         # The minimum amount of essence the entity can drop
    : 50
         # The maximum amount of essence the entity can drop
    : 250
         # A list of entities that will not drop essence on death. Example:
         # Blacklist:
         # - "minecraft:zombie"
         # - "minecraft:creeper"
    : []
       # Whether or not essence may be collected by players when right clicking an entity with an empty vial
    : true
         # The time, in seconds, between which a player can collect essence from the same entity
    : 300
         # The minimum amount of essence that can be collected from an entity by a player
    : 10
         # The maximum amount of essence that can be collected from an entity by a player
    : 25
         # A list of entities from which essence cannot be collected
    : []
     # A list of messages to send to the player when consuming entity essence with no effect
       # One message will be selected at random
     - "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."
       # Whether or not the empty vial recipe should be enabled
    : true
        # The amount of vials given in the crafting recipe
    : 3
        # The shape of the recipe. MUST have 3 entries of 3-character-long strings. Characters must be defined in the "Ingredients" setting below
       - "   "
        - "G G"
        - " G "
        # The ingredients in the recipe. Characters can either represent a single material, or a list of materials.
         - "minecraft:glass_pane"
          - "minecraft:black_stained_glass_pane"
          - "minecraft:blue_stained_glass_pane"
          - "minecraft:brown_stained_glass_pane"
          - "minecraft:cyan_stained_glass_pane"
          - "minecraft:gray_stained_glass_pane"
          - "minecraft:green_stained_glass_pane"
          - "minecraft:light_blue_stained_glass_pane"
          - "minecraft:light_gray_stained_glass_pane"
          - "minecraft:lime_stained_glass_pane"
          - "minecraft:magenta_stained_glass_pane"
          - "minecraft:orange_stained_glass_pane"
          - "minecraft:pink_stained_glass_pane"
          - "minecraft:purple_stained_glass_pane"
          - "minecraft:red_stained_glass_pane"
          - "minecraft:white_stained_glass_pane"
          - "minecraft:yellow_stained_glass_pane"
       # The name to use for empty vials
    : "&fEmpty Vial"
         # The lore to use for empty vials
       - "&7&oCollects entity essence."
         # The custom model data to use for empty vials
    : 1
       # The name to use for vials of entity essence
         # %entity% will be replaced with the name of the entity type
    : "&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)
         - "&7Quantity
    : &f%quantity%/%max_quantity%"
         - ""
         - "&7&oCauldron crafting ingredient."
         # The custom model data to use for vials of entity essence
    : 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:
    Details on how to use the Alchema API may be found on GitHub

    Depending with Maven
    Code (XML):
          <version>1.3.0-SNAPSHOT</version> <!-- Or whatever version -->
    Depending with Gradle
    Code (Groovy):
    repositories {
      maven { url "" }

    dependencies {
      implementation 'wtf.choco:Alchema:1.3.0-SNAPSHOT' # Or whatever version

    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!


Recent Reviews

  1. Gustavo_Player
    Version: 1.2.1
    Good plugin! :3
  2. LordRubik
    Version: 1.1.2
    Hi! Are you developing a plugin update for 1.17.1? My server is really waiting for your plugin =) When will the update for 1.17.1 be released?
  3. AfkF24
    Version: 1.1.2
    Great resource, easy to use & set up and comes with several great default recipes. Keep up the good work, looking forward to the next update! :)
  4. NeFFeDor
    Version: 1.1.2
    Is a permission system possible? Thank you for the awesome plugin, it's awesome. I did not find any drawbacks!
    1. Choco
      Author's Response
      Very, very difficult due to the nature of this plugin's mechanics, but an attempt was made recently. A future release should have a permission node but it's not very flexible, mostly because it can't be.

      If you know how to compile plugins from source code, you can try compiling the source from GitHub. It has the permission node code though I cannot guarantee anything.
  5. GKHD
    Version: 1.1.2
    This plugin is very nice, I like the idea of making a plugin like the Thaumcraft mod where you can literally throw stuff inside a cauldron and get stuff out of it. Can't wait for future updates
    Also, for a free plugin, it's pretty nice to see no bugs.
    1. Choco
      Author's Response
      I'm actually quite proud of the work put into Alchema to avoid as many bugs as possible :) I'm glad you're enjoying the plugin! Lots of future content.
  6. TSEngineer
    This is a great idea, I love those kinds of plugins that make you feel like you're playing a modpack! The recipe loading system is done very well, it even lets other plugins register their own ingredient types, and the code quality is great overall
    1. Choco
      Author's Response
      Really happy to hear! I tried to make the recipe system as expandable as possible for mods so they may add their own recipes through code AND have server owners configure them as well :) I hope you enjoy!
  7. AristoNetwork
    very good concept , would like to see how this plugin would turn out to be. Good luck
    1. Choco
      Author's Response
      Thank you! Lots of plans for larger updates to come :)