Skip to content

CauldronWitchery#

CauldronWitchery lets your players summon any kind of mob or item using a cauldron filled with water, lava or snow and a magic stick.

Created and maintained by BONNe.

Warning

CauldronWitchery is currently in Beta.

Keep in mind that you are more likely to encounter bugs and some features might not be stable.

Installation#

  1. Place the addon jar in the addons folder of the BentoBox plugin
  2. Start the server
  3. Run the admin command, e.g., /[admin_cmd] witchery to configure the addon

Configuration#

Similar to the challenges, biomes and generators, Cauldron Witchery stores all data inside the database. The config file contains generic option about the addon and how it should operate, while everything else, like magic sticks and player data are stored into database.

config.yml#

The latest config.yml can be found here.

Template#

CauldronWitchery addon contains a template file which can be used to import magic sticks into database. This file is useful for bulk data adding for people that do not like to use ingame-gui. However, be aware, that not all functions are available for the template file, and some items/options can be added only via GUI. You can have as many template files as you want. Admin GUI will allow choosing which one you want to import. The example template file: template.yml

Tip

The template file must contain magic-sticks.

Can I specify an enchantment for magic stick?

Unfortunately Spigot does not have a general item parsing mechanics. So plugin authors need to create their own. CauldronWitchery addon uses BentoBox Item Parser. If function is not supported by it, then you cannot.

However, you can always use in-game admin GUI to set any items you want. There is not any limitation.

The recipe I added is not picked up. What could be the reason?

There could be several reasons for that. If there is obvious error, log file should contain the error message with it.

However, you can start with checking if all recipes starts with - and every item (ingredient, cauldron, level, etc) are alligned by the left side.

Another reason could be that the entity, item or book does not exist. You should check if the input for them are correct.

Books#

Books are the way how players could find recipes. The books are very customizable, however, be aware that title, author and pages has limitation of characters. I would suggest trying creating book in game with written book, and only after that put it in translation files.

Can add my own translations for books?

Yes, definitely you can. You can add it via [book_id]-[locale_code].yml or changing existing one.

Can I disable automatic recipe generation?

Yes, just remove recipe section from the book.

Can I add more books?

Yes, just create a new file under books directory. File must be named [book_id]-[locale_code].yml and it must start with [book_id]:.

Customizable GUI's#

BentoBox 1.17 API introduced a function that allows to implement customizable GUI's. This addon is one of the first one which uses this functionality. We tried to be as simple as possible for customization, however, some features requires explanation. You can find more information how BentoBox custom GUI's works here: Custom GUI's

How can I customize GUI's

To customize Addon GUI's you need to have version 2.0. This is a first version that has implemented them. Addon will create a new directory under /plugins/BentoBox/addons/CauldronWitchery with a name panels

Currently you can customize 2 GUI's:

  • Stick Panel: stick_panel - panel that contains all magic sticks and users can purchase or get them.
  • Recipe Panel: recipe_panel - panel that contains all recipes that are available for the magic stick.

Each GUI contains functions that is supported only by itself.

What does PREVIOUS|NEXT button type?

The PREVIOUS and NEXT button types allows creating automatic paging, when you have more sticks or recipes than spaces in GUI. These types have extra parameters under data:

  • indexing - indicates if button will show page number.

Example:

    icon: TIPPED_ARROW:INSTANT_HEAL::::1
    title: cauldron-witchery.gui.buttons.previous.name
    description: cauldron-witchery.gui.buttons.previous.description
    data:
      type: PREVIOUS
      indexing: true
    action:
      left:
        tooltip: cauldron-witchery.gui.tips.click-to-previous

What does RETURN button type?

The RETURN button type is available in recipe_panel. It allows returning to the sticks panel.

Example:

    icon: OAK_DOOR
    title: cauldron-witchery.gui.buttons.return.name
    description: cauldron-witchery.gui.buttons.return.description
    data:
      type: RETURN
    action:
      left:
        tooltip: cauldron-witchery.gui.tips.click-to-return

What is STICK button type?

This button is available in stick_panel. The STICK button creates a dynamic entry for a magic stick. Button will be filled only if there exist a magic stick. F.e. if you have only 3 magic sticks, but defined 7 spots for them in the GUI, then only 3 spots will be filled. Other spots will be left empty.

By default sticks will be ordered by their order numbers, however, you can specify a specific stick to be in a specific slot with id parameter under data.

  data:
    type: STICK
    id: example_stick

Specifying title, description and icon will overwrite dynammic generation based on database data. By default these values will be generated from database entries. This button supports 2 different action types:

  • RECIPES - opens a recipe view panel
  • PURCHASE - purchases or gives the magic stick for a player.

Example:

  data:
    type: STICK
  actions:
    left:
      type: RECIPES
      tooltip: cauldron-witchery.gui.tips.left-click-to-view
    right:
      type: PURCHASE
      tooltip: cauldron-witchery.gui.tips.right-click-to-buy

What is RECIPE button type?

This button is available in recipe_panel. The RECIPE button creates a dynamic entry for a recipe. Button will be filled only if there exist a recipe. F.e. if you have only 3 recipes, but defined 7 spots for level in the GUI, then only 3 spots will be filled. Other spots will be left empty.

By default recipes will be ordered by their order number and then by their reward item name. Specifying title, description and icon will overwrite dynammic generation based on database data. By default these values will be generated from database entries.

Example:

  data:
    type: RECIPE

FAQ#

How does recipes works?

All recipes require 3 things:

  • Magic Stick in the player main hand
  • Main Ingredient in the player offhand
  • Extra Ingredients

Extra Ingredients must be dropped into cauldron or kept in inventory. This depends on addon config option: mix-in-cauldron. If option is disabled, then items must be in player inventory.

If nothing is missing, recipe will work.

Can I add custom magic stick item?

Yes, as long as Spigot supports them. However, you will not be able to do it via template file. Only Admin GUI supports custom item adding.

Can you add a feature X?

Please add it to the list here.

Translations#

We need your help!

A vast majority of strings in BentoBox and its addons can be translated into virtually any language. However, most of the translations that are provided with BentoBox or said addons are made by the community, on which we heavily rely. We cannot review all the content of these translations nor guarantee its quality, hence why we highly appreciate any contributions.

  • If your language is not available for this addon or if you would like to improve the existing translation, please read the translation guidelines and start translating!
  • If your language is not listed below, please contact us on Discord and we will setup everything so that you can start translating!
Available Language Language code Progress
English (United States) en-US 100% (Default)
Chinese (China) zh-CN progress
Chinese (Hong Kong) zh-HK progress
Chinese (Taiwan) zh-TW progress
Croatian hr progress
Czech cs progress
French fr progress
German de progress
Hungarian hu progress
Indonesian id progress
Italian it progress
Japanese ja progress
Korean ko progress
Latvian lv progress
Polish pl progress
Portuguese pt progress
Romanian ro progress
Russian ru progress
Spanish es progress
Turkish tr progress
Vietnamese vi progress

Last update: December 9, 2021 09:15:32