Skip to content

VPConfig.yml

Soreth edited this page Feb 16, 2021 · 15 revisions

In this file you will find various options that can be used with the different plugins using the API.

Logger

LOGGER_SETTINGS

Here you can configure the loggers for the plugin using the API. Each plugin has its own loggers, they are used to display different information and there are 4 types:

  • DEBUG that display different information that could generate undesirable behavior, such as a variable configured in several places.
  • INFO that display different information.
  • WARN that display warnings, this can be a recommendation, an unused value or any important but non-blocking information.
  • ERROR that display errors generated by the plugin.

Each of them can be configured with their name as node and the following values :

AMOUNT is a number from 0 to 32000. This is the number of logs that will be kept in memory. If you don't plan to display them you can put 0 and they will not be stored.

LOG_TO_PLAYER if true, this type of log will be sent to the players when they connect to the server if they have the requirement for.

LOG_TO_SERVER if true, will display this type of log on the server log.

Example
LOGGER_SETTINGS:
 DEBUG:
  AMOUNT: 0
  LOG_TO_PLAYER: false
  LOG_TO_SERVER: true
 INFO:
  AMOUNT: 0
  LOG_TO_PLAYER: false
  LOG_TO_SERVER: true
 WARN:
  AMOUNT: 100
  LOG_TO_PLAYER: true
  LOG_TO_SERVER: true
 ERROR:
  AMOUNT: 100
  LOG_TO_PLAYER: true
  LOG_TO_SERVER: true

Damages

This plugin allow you to create damage, in other word, you can configure all damage node as wanted.

DAMAGES_SETTINGS

Here you will find the parameters related to damages.

FALLBACK_PLUGIN

This option allow you to configure a FALLBACK_PLUGIN, that way if your damage ain't found, the API will search in the fallback plugin's damage. If the fallback plugin doesn't have the damage either, it will look in its fallback plugin if it has one and so on.

FALLBACK_PLUGIN: VanillaPlus

DAMAGES_LIST

Here you can configure damage that can be reused later. Key can only have latin alphanumeric character, - or _ up to 24 character.

Common format for a damage is :

 `alias`:
  AMOUNT: `amount`
  #Optional, if not set will be `CLASSIC` type.
  TYPE: `damage's type`

AMOUNT is the amount of hp, it's a double so can be 1,123431234. Nb : 1 heart is 2 hp.

Example
DAMAGES_LIST:
 calamity:
  TYPE: CLASSIC
  AMOUNT: 10000
Type list

CLASSIC

It's like you took a hit, armor will reduce amount of damage.

DAMAGE_TYPE is for versus message, if this damage kill you will display the custom message for this.

Example
...
 TYPE: CLASSIC
 AMOUNT: 10
 DAMAGE_TYPE: hard_training

EROSION ( Powered )

Will reduce your maximum amount of health. Note, persist after death.

DAMAGE_TYPE is for versus message, if this damage kill you will display the custom message for this.

MIN is the minimum amount of max health you can have with this damage. Note, can't be lower or equal to zero. Your max amount of health will not reduce under this value but you'll still take damage.

Example
...
 TYPE: EROSION
 AMOUNT: 10
 MIN: 0.1
 DAMAGE_TYPE: hard_training

LIFE ( Powered )

Will reduce your life to amount.

This type don't have additional fields.

Example
...
 TYPE: LIFE
 AMOUNT: 10

MAGIC ( Powered )

It's like an damage potion.

DAMAGE_TYPE is for versus message, if this damage kill you will display the custom message for this.

Example
...
 TYPE: MAGIC
 AMOUNT: 10
 DAMAGE_TYPE: hard_training

POISON ( Powered )

Will give you poison. Note, here amount is the amount in second.

ADD if true will add amount to current effect if already have poison.

Have all node of potion effect except TYPE and DURATION.

Example
...
 TYPE: POISON
 AMOUNT: 10
 LEVEL: 2

WITHER ( Powered )

Will give you wither. Note, here amount is the amount in second.

DAMAGE_TYPE is for versus message, if this damage kill you will display the custom message for this.

ADD if true will add amount to current effect if already have wither caused by same damage type.

Have all node of potion effect except TYPE and DURATION.

Example
...
 TYPE: WITHER
 AMOUNT: 10
 LEVEL: 2
 DAMAGE_TYPE: jail

Connection

Since this plugin store information, we need to connect to the storage.

CONNECTION_LIST

Here you can configure connection for storage. These are id, so you'll use them when connection is needed. Key can only have latin alphanumeric character, - or _ up to 16 character.

Example
CONNECTION_LIST:
 main:
  TYPE: SQLITE
Type list

SQLITE

Default storage type, not improved for big server.

Main:
 TYPE: SQLITE
 #Optionnal, will create folder as base.
 BASE: VP

MySQL ( Powered )

The classic MySQL.

Main:
 TYPE: MySQL
 HOST: localhost
 BASE: VP
 PORT: 3306
 USER: root
 PASSWORD: ""

Heal

Like the damages, with this plugin you can configure every heal created.

HEAL_SETTINGS

Here you will find the parameters related to heal.

FALLBACK_PLUGIN

This option allow you to configure a FALLBACK_PLUGIN, that way if your heal ain't found, the API will search in the fallback plugin's heal. If the fallback plugin doesn't have the heal either, it will look in its fallback plugin if it has one and so on.

FALLBACK_PLUGIN: VanillaPlus

HEAL_LIST

Here you can configure damage that can be reused later. Key can only have latin alphanumeric character, - or _ up to 24 character.

Common format for a heal is :

 `alias`:
  AMOUNT: `amount`
  #Optional, if not set will be `BASE` type.
  TYPE: `healtype`

AMOUNT is the amount of hp, it's a double so can be 1,123431234. Nb : 1 heart is 2 hp.

Example
HEAL_LIST:
 full:
  AMOUNT: 100000
Type list

BASE

Is the default heal, will heal you.

This type don't have other nodes.

Example
...
 TYPE: BASE
 AMOUNT: 5

BUILDUP ( Powered )

Will increase your maximum amount of life.

MAX is the maximum of hp you can have ( to avoid to big value )

FILL is true will heal you

Example
...
 TYPE: BUILDUP
 AMOUNT: 5

REGEN ( Powered )

Will give you regeneration. Note, here amount is the amount in second.

ADD if true will add amount to current effect if already have regeneration.

Have all node of potion effect except TYPE and DURATION.

Example
...
 TYPE: REGEN
 AMOUNT: 5
 LEVEL: 2

Requirements

This plugin allow you to create requirements, for more information see here.

REQUIREMENT_SETTINGS

Here you will find the parameters related to requirements. Remember to see here for more options.

FALLBACK_PLUGIN

This option allow you to configure a FALLBACK_PLUGIN, that way if your requirement ain't found, the API will search in the fallback plugin's requirement. If the fallback plugin doesn't have the requirements either, it will look in its fallback plugin if it has one and so on.

FALLBACK_PLUGIN: VanillaPlus

SIMPLE_REQUIREMENT_FORMAT_LIST

Each node represents a simple requirement with message component's path as value, this message component will be used if you want display the requirement with this, like in achievement icon but we'll go back later, and have %state% and %state_color% as placeholder.

Example
SIMPLE_REQUIREMENT_FORMAT_LIST:
 FALSE: FORMAT.REQUIREMENT.FALSE
 ONLINE: FORMAT.REQUIREMENT.ONLINE
 VP_NICK: FORMAT.REQUIREMENT.VP_NICK

REQUIREMENT_LIST

Here you can configure requirement that can be reused later. Key can only have latin alphanumeric character, - or _ up to 24 character.

I know you have this feature with almost all components of my plugin but I highly recommend you to use it for one, it'll be this one. That way you can easily find all requirements used by your plugin as well as change them.

Reward

This plugin allow you to create reward, in other word, you can configure all reward node as wanted.

REWARD_SETTINGS

Here you will find the parameters related to reward.

FALLBACK_PLUGIN

This option allow you to configure a FALLBACK_PLUGIN, that way if your reward ain't found, the API will search in the fallback plugin's reward. If the fallback plugin doesn't have the reward either, it will look in its fallback plugin if it has one and so on.

FALLBACK_PLUGIN: VanillaPlus

REWARD_LIST

Here you can configure reward that can be reused later. Key can only have latin alphanumeric character, - or _ up to 24 character.

Type list

Note, for smaller explanation, all Reward in this list have :

FORMAT_PATH is message component's path for the format. Default is FORMAT.REWARD. + type, example : for achievements it's FORMAT.REWARD.ACHIEVEMENT.

ACHIEVEMENT

ALIAS_ID is the achievement id.

PlaceHolder

%name% is the achievement name.

Example
 ...
  TYPE: ACHIEVEMENT
  ALIAS_ID: jackpot
  FORMAT_PATH: FORMAT.REWARD.ACHIEVEMENT

CURRENCY

ALIAS_ID is the currency id.

AMOUNT is the currency amount.

FORCE is boolean, if true will give to player even if he reached the limit.

PlaceHolder

%name% show the currency name.

%amount% show the amount formatted.

Example
 ...
  TYPE: CURRENCY
  ALIAS_ID: 1
  FORCE: false
  AMOUNT: 100
  FORMAT_PATH: FORMAT.REWARD.CURRENCY

DAMAGE

DAMAGE is the damage.

PlaceHolder

%amount% the amount you'll be damaged in hp.

%amount_heart% the amount you'll be damaged in heart.

Example
 ...
  TYPE: DAMAGE
  DAMAGE:
   TYPE: CLASSIC
   AMOUNT: 10
   DAMAGE_TYPE: god
  FORMAT_PATH: FORMAT.REWARD.DAMAGE

EFFECT ( Powered )

EFFECT is the effect to give.

NAME_PATH is the name of effect for translation.

PlaceHolder

%name% the name defined in NAME_PATH.

Example
 ...
  TYPE: EFFECT
  EFFECT:
   TYPE: REGENERATION
   DURATION: 120
   LEVEL: 2
   AMBIANT: false
   PARTICLE: false
  NAME_PATH: REWARD.REGENERATION
  FORMAT_PATH: FORMAT.REWARD.REGENERATION

HEAL

HEAL is the heal.

PlaceHolder

%amount% the amount you'll be healed in hp.

%amount_heart% the amount you'll be healed in heart.

Example
 ...
  TYPE: HEAL
  HEAL:
   TYPE: BUILDUP
   MAX: 30.0
   AMOUNT: 0.5
   FILL: true
  FORMAT_PATH: FORMAT.REWARD.HEAL

ITEM ( Powered )

ITEM is the item to give.

DISPLAY_NAME_PATH is message component's path of name of item for format.

NAME_PATH is message component's path of name of item for translation. Will set the name of give item to this value.

LORE_PATH is message component's path of lore of item for translation. Will set the lore of give item to this value.

PlaceHolder

%name% the name defined in DISPLAY_NAME_PATH.

%amount% is the amount of item you'll receive.

Example
 ...
  TYPE: ITEM
  ITEM:
   MATERIAL: diamond
   AMOUNT: 16
  DISPLAY_NAME_PATH: REWARD.DIAMOND
  FORMAT_PATH: FORMAT.REWARD.ITEM

LEVEL ( Powered )

AMOUNT is the amount of level you'll win.

PlaceHolder

%amount% the amount.

Example
 ...
  TYPE: LEVEL
  AMOUNT: 1
  FORMAT_PATH: FORMAT.REWARD.LEVEL

MULTI

Each key ( except TYPE ) will store a reward.

For now the format is only a list ( each line is the format of a reward ).

Example
 ...
  TYPE: MULTI
  level:
   TYPE: LEVEL
   AMOUNT: 1
   FORMAT_PATH: FORMAT.REWARD.LEVEL
  diamonds:
   TYPE: ITEM
   ITEM: diamond, 16
   DISPLAY_NAME_PATH: REWARD.DIAMOND
   FORMAT_PATH: FORMAT.REWARD.ITEM

STAT

ALIAS_ID is the stat id.

AMOUNT is the increase amount.

PlaceHolder

%name% the name of stat.

%amount% is the amount of stat you'll receive.

Example
 ...
  TYPE: STAT
  ALIAS_ID: death
  AMOUNT: 1
  FORMAT_PATH: FORMAT.REWARD.STAT

TITLE

ALIAS_ID is the title id.

PlaceHolder

%name% the name of stat.

Example
 ...
  TYPE: TITLE
  ALIAS_ID: immortal
  FORMAT_PATH: FORMAT.REWARD.TITLE

Icon

This plugin allow you to create icon for menu.

ICON_SETTINGS

Here you will find the parameters related to icons. Menu are created with Icon in inventory, here you can configure the icons. This file is for optimizing time in menu configuration if you use same icon multiple times.

FALLBACK_PLUGIN

This option allow you to configure a FALLBACK_PLUGIN, that way if your icon ain't found, the API will search in the fallback plugin's icon. If the fallback plugin doesn't have the icon either, it will look in its fallback plugin if it has one and so on.

FALLBACK_PLUGIN: VanillaPlus

ICON_LIST

Here you can configure icon that can be reused later. Key can only have latin alphanumeric character, - or _ up to 24 character.

Type list

ACHIEVEMENT

This icon allows you to display achievement.

ALIAS_ID this is the achievement's id, log if invalid.

DISPLAY this is display id, you can find it in VPCollectables.yml file.

SHOW_LOCKED_REQUIREMENT if true will display requirement on locked achievement with %requirement% placeholder. Default is true.

SHOW_LOCKED_REWARD if true will display reward on locked achievement with %reward% placeholder. Default is true.

SHOW_UNLOCKED_REQUIREMENT if true will display requirement on owned achievement with %requirement% placeholder. Default is false.

SHOW_UNLOCKED_REWARD if true will display reward on owned achievement with %reward% placeholder. Default is false.

REQUIREMENT_DESCRIPTION_PATH if SHOW_LOCKED_REQUIREMENT or SHOW_UNLOCKED_REQUIREMENT is true, this message will be displayed with %requirement_description% placeholder in description.

REWARD_DESCRIPTION_PATH if SHOW_LOCKED_REWARD or SHOW_UNLOCKED_REWARD is true, this message will be displayed with %reward_description% placeholder in description.

Nb : REQUIREMENT_DESCRIPTION_PATH and REWARD_DESCRIPTION_PATH was created to simplify configuration and reduce the amount of DISPLAY to create, but if you want improve performance I recommend you to take the time to create few more DISPLAY to not use these values.

** Placeholders **

You can add theses placeholders in description.

%description% to display the achievement description.

%lore_server_date% to display the date and / or time when you unlocked the achievement.

%requirement_description% to display REWARD_DESCRIPTION_PATH.

%requirement% to display the requirement to unlock the achievement.

%reward_description% to display REWARD_DESCRIPTION_PATH.

%reward% to display the reward when unlock the achievement.

Example
 ...
  TYPE: ACHIEVEMENT
  ALIAS_ID: adventurer
  DISPLAY: 1
  SHOW_LOCKED_REQUIREMENT: true
  SHOW_LOCKED_REWARD: true
  SHOW_UNLOCKED_REQUIREMENT: false
  SHOW_UNLOCKED_REWARD: false
  REQUIREMENT_DESCRIPTION_PATH: FORMAT.REQUIREMENT_DESCRIPTION
  REWARD_DESCRIPTION_PATH: FORMAT.REWARD_DESCRIPTION

BASE

It's the basic icon.

ITEM under this node you can create your item.

SKULL_SELF if true and item is player skull, will display menu's owner's skull. Nb : if true will change the item to a player head.

CLOSE if true will close the menu when click.

BACK_ON_CLOSE if CLOSE is true, you can choose to go back when close instead of fully close.

  • TOP_FIRST will back top menu if one open, else will back the bottom one.
  • BOTTOM_FIRST will back bottom menu if one open, else will back the top one.
  • CLICKED_ONLY will back the menu who contain this icon.
  • CLICKED_FIRST should be the same as CLICKED_ONLY but exist for support.
  • TOP_ONLY Will back only top menu.
  • BOTTOM_ONLY Will back only bottom menu.
  • BOTH Will go back for top and bottom menu.

USE You click with this item on hand ? Default is false. Nb : if true, you'll be able to place it in itemframe.

CLICK if true, allow you to move the item, but slot will still have the same functionality. Default is false.

DROP if true, allow you to drop the item, but slot will still have the same functionality. Default is false.

NAME_PATH is message component's path, allow name translation.

DESCRIPTION_PATH is message component's path, allow lore translation.

Example
 ITEM: player_head
 SKULL_SELF: true

EXTENDED

Extend the basic icon.

NO_VIEW_ICON this node allow you to create default icon if can't see this one ( see VIEW_REQUIREMENT ). Note, you can crate them in cascade.

VIEW_REQUIREMENT is the requirement to view this icon. If you don't have the requirement, you'll see the NO_VIEW_ICON if set or none.

RANDOM is maximum value of random, if not 0, will randomize the data / damage value of the item. Nb, this option isn't improved for post 1.13.

NO_REQUIREMENT_MESSAGE is message's path sent if you click but don't have requirement for.

REQUIREMENT is the requirement to use this icon. Note, if you can't see the icon you can't use it.

REWARD is the reward for this icon when you use it ( in addition of commands ).

SHOW_REQUIREMENT if true will display requirement with %requirement% placeholder. Default is false.

SHOW_REWARD if true will display reward with %reward% placeholder. Default is false.

REQUIREMENT_DESCRIPTION_PATH if SHOW_REQUIREMENT is true, this message will be displayed with %requirement_description% placeholder in description.

REWARD_DESCRIPTION_PATH if SHOW_REWARD is true, this message will be displayed with %reward_description% placeholder in description.

Nb : REQUIREMENT_DESCRIPTION_PATH and REWARD_DESCRIPTION_PATH was created to simplify configuration and reduce the amount of DESCRIPTION_PATH to create, but if you want improve performance I recommend you to take the time to create few more DISPLAY to not use these values.

COMMAND here are command for click types ( see here, name of command node is the click type.

** Placeholders **

You can add theses placeholders in description.

%requirement_description% to display REWARD_DESCRIPTION_PATH.

%requirement% to display the REQUIREMENT.

%reward_description% to display REWARD_DESCRIPTION_PATH.

%reward% to display the REWARD.

Example
 ...
  TYPE: EXTENDED
  SHOW_REQUIREMENT: false
  SHOW_REWARD: false
  REQUIREMENT:
     TYPE: CURRENCY
     ID: 1
     KEEP: false
     AMOUNT: 500
  REWARD: 
     TYPE: CURRENCY
     ID: 2
     KEEP: false
     AMOUNT: 1
  CLOSE: false
  NAME_PATH: MENU.ECHANGE.12.NAME
  DESCRIPTION_PATH: MENU.ECHANGE.12.LORE
  ITEM: 
   MATERIAL: diamond

TITLE

This icon allow you to display title.

ALIAS_ID this is the title's id, log if invalid.

DISPLAY this is display id, you can find it in VPCollectables.yml file.

** Placeholders **

You can add theses placeholders in description.

%description% to display the title description.

%lore_server_date% to display the date and / or time when you unlocked the title.

Example
 ...
  TYPE: TITLE
  ALIAS_ID: adventurer
  DISPLAY: 1

Menu

This plugin allow you to create menu.

MENU_SETTINGS

Here you will find the parameters related to menus.

FALLBACK_PLUGIN

This option allow you to configure a FALLBACK_PLUGIN, that way if your menu ain't found, the API will search in the fallback plugin's menu. If the fallback plugin doesn't have the menu either, it will look in its fallback plugin if it has one and so on.

FALLBACK_PLUGIN: VanillaPlus


Menu are created in the menu folder. The id of the menu is his namepath without .yml ( subfolders with . between them, ex : icon.yml in test folder has test.icon as id ).

The TYPE of menu is defined at the root of the file.

Types

BASE

This is default type of menu.

SETTINGS

Here you can configure theses nodes :

NAME_PATH is message component path of menu name. You can use placeholder in this message.

TYPE is inventory type, default is CHEST, list of supported types here.

ROWS if you use a chest you can chose how many rows you have in this chest. Note if bigger than 6, non modded client will see something weird. Allowed between 0 and 12 inclusive ( bigger than 12 can crash some clients ). Default's value is 3.

REFRESH in second, how many second should refresh the menu ? ( if bigger than 30 don't refresh )

ACTION

Here you can configure some command to perform depending of action.

OPEN is command performed by player when open the menu.

Example
...
 OPEN:
  TYPE: MESSAGE_SEND
  PRIVATE: true
  MESSAGE: SOUND.CHEST_OPEN

CLOSE is command performed by player when close the menu.

Example
...
 CLOSE:
  TYPE: MESSAGE_SEND
  PRIVATE: true
  MESSAGE: SOUND.CHEST_CLOSE

SWITCH is command performed by player when open an other menu.

Example
...
 SWITCH:
  TYPE: MESSAGE_SEND
  PRIVATE: true
  MESSAGE: SOUND.CLICK

Note, if you choose to open menu when player close it, player may rage quit :P.

##€# ICON_LIST

Here you can configure the icons of the menu.

Node is the slot, slot 0 is in fact slot 999 that mean is when you click out of inventory ( allow you to close when click out of inventory or create easter egg in some inventory ).

The slot can be only his number or multiple slots at the same time. You can configure slots in-line with ; as separator and - for range.

Example
ICON_LIST:
 "1-10;18;19;27-35" : PANNEL_7
 36: BACK_MENU

If inventory type is 9 slots per row ( like chests ) you can use the format column:row in addition of the above options ( range in that way will produce a square ).

Example
ICON_LIST:
 "1:1-9:2;4:3-6:4;1:5-9:6" : PANNEL_7 #Fill row 1,2,5,6 and middle of 3 and 4.
 27: BACK_MENU

LINKED ( Powered )

This menu is created like BASE menu. Will refresh menu to all player who have this menu open when one player click on EXTENDED icon. You can also do something similar by refresh it every second but if this menu isn't clicked each second this type of menu will improve server performance.