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.
Useful links
Installation#
- Place the addon jar in the addons folder of the BentoBox plugin
- Start the server
- 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 | |
❌ | Chinese (Hong Kong) | zh-HK | |
❌ | Chinese (Taiwan) | zh-TW | |
❌ | Croatian | hr | |
❌ | Czech | cs | |
❌ | French | fr | |
❌ | German | de | |
❌ | Hungarian | hu | |
❌ | Indonesian | id | |
❌ | Italian | it | |
❌ | Japanese | ja | |
❌ | Korean | ko | |
✅ | Latvian | lv | |
❌ | Polish | pl | |
❌ | Portuguese | pt | |
❌ | Romanian | ro | |
❌ | Russian | ru | |
❌ | Spanish | es | |
❌ | Turkish | tr | |
❌ | Vietnamese | vi |