Skip to content

config.yml

Soreth edited this page Nov 8, 2020 · 16 revisions

Here you can configure all VanillaPlus settings. Unlike other VanillaPlus files, config.yml does not share its options with other API-enabled plugins. It therefore has all the general API options.

CHANNEL_SETTINGS

Here are the settings for channels.

DEFAULT is the id of the default channel, if not set will pickup the first channel created.

BYPASS_MUTE_REQUIREMENT is the requirement to bypass channel mute.

Example
CHANNEL_SETTINGS:
 BYPASS_MUTE_REQUIREMENT: ADMIN
 DEFAULT: GLOBAL

CURRENCY_SETTINGS

Here are the settings for currency. This is optional especially if you don't use currencies.

INVALID_AMOUNT_MESSAGE is message's path for invalid amount. ( Like negative or zero. ) %amount% for input amount and %step% for the step amount.

LOCKED_MESSAGE is message's path for locked currency. ( If you're not allowed to pay. ) Use %currency% for currency name.

LOSE_MESSAGE is message's path if you lose money. Use %currency% for currency name and %value% for currency amount formatted.

POOR_MESSAGE is message's path if you don't have enough money to pay. Use %currency% for currency name.

POOR_PLAYER_MESSAGE is message's path if player don't have enough money. Use %currency% for currency name and receiver as [tag] for receiver placeholder.

POOR_SERVER_MESSAGE is message's path if server don't have enough money. Only if currency use server. Use %currency% for currency name.

RECEIVED_MESSAGE is message's path if you receive money from other player. Use %currency% for currency name, %value% for currency amount formatted and sender as [tag] for receiver's placeholders.

RICH_MESSAGE is message's path if you can't get more of this currency. Use %currency% for currency name and receiver as [tag] for receiver placeholder.

RICH_PLAYER_MESSAGE is message's path if receiver can't get more of this currency. Use %currency% for currency name and receiver as [tag] for receiver placeholder.

RICH_SERVER_MESSAGE is message's path if server don't have enough money. Only if currency use server. Use %currency% for currency name.

SELF_MESSAGE is message's path if you try to pay yourself.

SENT_MESSAGE is message's path if you send money to other player. Use %currency% for currency name, %value% for currency amount formatted and receiver as [tag] for receiver's placeholders.

WIN_MESSAGE is message's path if you win money. Use %currency% for currency name and %value% for currency amount formatted.

Example
CURRENCY_SETTINGS:
 INVALID_AMOUNT_MESSAGE: CURRENCY.INVALID_AMOUNT
 LOCKED_MESSAGE: CURRENCY.LOCKED
 LOSE_MESSAGE: CURRENCY.LOSE
 POOR_MESSAGE: CURRENCY.POOR
 POOR_PLAYER_MESSAGE: POOR_PLAYER
 POOR_SERVER_MESSAGE: CURRENCY.POOR_SERVER
 RECEIVED_MESSAGE: CURRENCY.RECEIVED
 RICH_MESSAGE: CURRENCY.RICH
 RICH_PLAYER_MESSAGE: CURRENCY.RICH_PLAYER
 RICH_SERVER_MESSAGE: CURRENCY.RICH_SERVER
 SELF_MESSAGE: CURRENCY.SELF
 SENT_MESSAGE: CURRENCY.SENT
 WIN_MESSAGE: CURRENCY.WIN

STAT_SETTINGS

Here are the settings for statistics. This is optional especially if you don't use statistics.

REFRESH_RATE is the amount in second the stats will be manualy refreshed ( only for vanilla stats for now ). Default value is 90, if value is lower than 1, stats won't be manualy refreshed.

Example
STAT_SETTINGS:
 REFRESH_RATE: 90

TITLE_SETTINGS

Here are the settings for titles. This is optional especially if you don't use titles.

UNLOCK_MESSAGE : This is the message sent to a player when a he unlock a title. %title_name% will display the title's name. %title_lore% will display the title's lore.

ADMIN_USE_REQUIREMENT : This is the requirement for using if unowned.

USE_REQUIREMENT : This is the requirement for using if owned.

SWITCH_REQUIREMENT : This is the requirement for unlocking / locking your titles.

Example
TITLE_SETTINGS:
 UNLOCK_MESSAGE: TITLE.UNLOCK
 ADMIN_USE_REQUIREMENT: ADMIN
 SWITCH_REQUIREMENT: ADMIN
 USE_REQUIREMENT: null

ACHIEVEMENT_SETTINGS

Here are the settings for achievement. This is optional especially if you don't use achievement.

ACHIEVEMENT_ON_JOIN : Should try to unlock achievement when player join ? If true will try to unlock every achievement when player join, can be heavy if you have crazy amount of achievement with complexes requirements but most of the time it isn't an issue. Default is false.

Nb : Don't set to true on lobby or server where you have free achievement otherwise every player will unlock them.

SWITCH_REQUIREMENT : This is the requirement for unlocking / locking your achievement.

Example
ACHIEVEMENT_SETTINGS:
 ACHIEVEMENT_ON_JOIN: false
 SWITCH_REQUIREMENT: ADMIN

COMMAND_SETTINGS

Here you can configure options for commands.

TOP_HELP_MESSAGE this is the top part of help message, with %command% as replacement for the command used, %page% for the current page and %page_max% for the max page amount.

HELP_MESSAGE this is the format part of help message, with %usage% as replacement for the command usage, %description% for the command's description.

NO_REQUIREMENT_MESSAGE this is the default message if player don't have requirement.

REFRESH_RATE, used for 1.13 and above. The new system of minecraft completion is partialy clientside, that mean we can no longer keep dynamic command, at least as root command. For now subcommands are still serverside and can still be dynamic. Tldr ; Use this if client command list display command you shouldn't be able to use or don't display command you should be able to use. ( Usefull if your permission plugin don't update the client or if you have non-permission requirement based commands )

Example
COMMAND_SETTINGS:
 TOP_HELP_MESSAGE: COMMAND.TOP_HELP
 REFRESH_RATE: -1
 HELP_MESSAGE: COMMAND.HELP
 NO_REQUIREMENT_MESSAGE:
  BASE: COMMAND.NO_REQUIREMENT_BASE
  SOUND: COMMAND.NO_REQUIREMENT_SOUND

VERSUS_SETTINGS

Here you can configure the settings of versus.

RESPAWN_TYPE is the respawn type, can be :

  • WORLD_SPAWN, will send player to world spawn when die.
  • SERVER_SPAWN, will send player to server spawn when die.
  • PLAYER_SPAWN, will send player to his bed spawn if set otherwise will send to server spawn when die.
  • SPEC, will set player in spectator gamemode when die.
  • CUSTOM, will do nothing, usefull if respawn is managed by another plugin.

MAX_XP_DROP this is the maximum of experience to drop when a player die. Default is vanilla value ( 100 ). Nb use -1 to disable limit.

DROP_RATE this is the drop rate of experience when a player die, it's a rate so 0.5 is 50% of the player xp or MAX_XP_DROP if lower. If not set will use vanilla value ( 7 experience per level ).

DEATH_BUILDER

Here you can configure the base of the death message builder. See here for more information about the other nodes you can put here since it depend on the TYPE.

TYPE the type of the death message builder.

VERSUS_SETTINGS:
 RESPAWN_TYPE: PLAYER_SPAWN
 MAX_XP_DROP: -1
 DROP_RATE: 1
 DEATH_BUILDER:
  TYPE: BASE
  ...

REQUIREMENT_SETTINGS

Here you can configure global values for requirements.

OWN_FORMAT_PATH is the text returned by %state% in requirement format when you have it. Default value is FORMAT.REQUIREMENT_SETTINGS.OWN.

LACK_FORMAT_PATH is the text returned by %state% in requirement format when you don't have it. Default value is FORMAT.REQUIREMENT_SETTINGS.LACK.

PERMISSION_FORMAT_PATH is the format for permission. Default value is FORMAT.REQUIREMENT_SETTINGS.PREMISSION. Placeholders are %state% for the state, %state_color% for the state color and %permission% for the name of the permission.

AND_FORMAT_PATH is the format for and requirement. Default value is FORMAT.REQUIREMENT_SETTINGS.AND. Placeholders are %and1% for the first requirement and %and2% for the second requirement.

NOT_FORMAT_PATH is the format for not requirement. Default value is FORMAT.REQUIREMENT_SETTINGS.NOT. Placeholders is %not% for the requirement.

OR_FORMAT_PATH is the format for and requirement. Default value is FORMAT.REQUIREMENT_SETTINGS.OR. Placeholders are %or1% for the first requirement and %or2% for the second requirement.

EMPTY_FORMAT_PATH is the format for empty requirement ( when always true ). Default value is FORMAT.REQUIREMENT_SETTINGS.EMPTY.

OWN_COLOR is the text returned by %state_color% in requirement format when you have it. Default value is &a.

LACK_COLOR is the text returned by %state_color% in requirement format when you have it. Default value is &c.

Example
REQUIREMENT_SETTINGS:
 OWN_FORMAT_PATH: FORMAT.REQUIREMENT_SETTINGS.OWN
 LACK_FORMAT_PATH: FORMAT.REQUIREMENT_SETTINGS.LACK
 PERMISSION_FORMAT_PATH: FORMAT.REQUIREMENT_SETTINGS.PERMISSION
 AND_FORMAT_PATH: FORMAT.REQUIREMENT_SETTINGS.AND
 NOT_FORMAT_PATH: FORMAT.REQUIREMENT_SETTINGS.NOT
 OR_FORMAT_PATH: FORMAT.REQUIREMENT_SETTINGS.OR
 EMPTY_FORMAT_PATH: FORMAT.REQUIREMENT_SETTINGS.EMPTY
 OWN_COLOR: &a
 LACK_COLOR: &c

MENU_SETTINGS

Here are the settings for menus. This is optional especially if you don't use menu.

DELAY is the amount in millisecond you need to wait between two clicks.

PLAYER_MENU is the default menu opened in player inventory when they join, usefull for lobby. It's optionnal as value but if exist, the menu must be at least 46 slots.

Example
MENU_SETTINGS:
 DELAY: 1000
 #PLAYER_MENU: player_lobby

PLAYER_SETTINGS

Here you can configure options for players.

FIRST_JOIN_MESSAGE is the message sent when a new player join the server, you can use sender for placeholders.

PRIVATE_FIRST_JOIN_MESSAGE is the message sent to new player when they join the server.

JOIN_MESSAGE is the message sent when a player join the server, you can use sender for placeholders.

PRIVATE_JOIN_MESSAGE is the message sent to player when they join the server.

LEAVE_MESSAGE is the message sent when a player leave the server, you can use sender for placeholders.

FIRST_JOIN_MESSAGE_REQUIREMENT is the requirement to display the FIRST_JOIN_MESSAGE.

JOIN_MESSAGE_REQUIREMENT is the requirement to display the JOIN_MESSAGE.

LEAVE_MESSAGE_REQUIREMENT is the requirement to display the LEAVE_MESSAGE.

ERROR_REQUIREMENT is the requirement to see errors logs when connecting to the server.

GM_TELEPORT_REQUIREMENT is the requirement to prevent spec to teleport using the spec menu.

BYPASS_PM_REQUIREMENT is the requirement to bypass player private message settings.

BYPASS_SPAWN_TP_REQUIREMENT is the requirement to bypass the tp to spawn on join.

STORAGE is the storage id for player data.

SERVER_SPAWN is the server spawn, if configured will change the spawn tp.

KEEP_IN_MEMORY How many time we need to keep player in memory if offline, in seconds. It's for optimisation and offline management.

Example
PLAYER_SETTINGS: 
 FIRST_JOIN_MESSAGE: PLAYER.FIRST_JOIN_MESSAGE
 PRIVATE_FIRST_JOIN_MESSAGE:
  SUBTITLE: PLAYER.PRIVATE_FIRST_JOIN.SUBTITLE
  TITLE: PLAYER.PRIVATE_FIRST_JOIN.TITLE
  SOUND: PLAYER.PRIVATE_FIRST_JOIN.NOTE
  TAB: PLAYER.PRIVATE_JOIN.TAB
  BASE: PLAYER.PRIVATE_FIRST_JOIN.BASE
 JOIN_MESSAGE: PLAYER.JOIN
 PRIVATE_JOIN_MESSAGE:
  TAB: PLAYER.PRIVATE_JOIN.TAB
 LEAVE_MESSAGE: PLAYER.LEAVE
 JOIN_MESSAGE_REQUIREMENT: PREMIUM && !VP_NICK
 ERROR_REQUIREMENT: ADMIN
 GM_TELEPORT_REQUIREMENT: ADMIN
 BYPASS_PM_REQUIREMENT: ADMIN
 STORAGE: VP_Main
 KEEP_IN_MEMORY: 600

SKIN_BUFFER

Here you can configure list of skin loaded at server start, it allow you to load outdated skins or up to date skin without callink mojang API.

The key is the name for the skin, can be a true minecraft username even if I recommend you to not do this, instead use aliases ( [gold] ).

Fields are :

UUID is the uuid of the skin, once more I recommend you to use fakes ones like in the example.

TEXTURE is the texture data.

SIGNATURE is the texture signature.

Example
 SKIN_BUFFER:
  deadmau5:
   UUID: 00000000-0000-0000-0000-000000000000
   TEXTURE: "ewogICJ0aW1lc3RhbXAiIDogMTU4OTMxNjk5MjQ5OSwKICAicHJvZmlsZUlkIiA6ICJhMjNmNTc4YTZiMDA0MjA5ODIzNzE0OTE3OTFhYTEyMiIsCiAgInByb2ZpbGVOYW1lIiA6ICJtaWtpX21hdXNfeGQiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWZiOTJhZTNkNzRlYTg0YjM3Yzg0ODc1MjI3ZTNhN2EzMTAwM2U1NGYxYmEyNmRmY2NkZjIxYTU5YjJhM2FhNyIKICAgIH0KICB9Cn0="
   SIGNATURE: "qqE0d6GSbrGq76AGnexlHuzGGgvTtY+RXIFYtcLUNd6tCzLMf8ffCRhfVHQWxqg3SKD+TywrWLck6KWO+BtVWyASwEFXmAXA9if0DQOrnBK2SuS8ACtusqkStn59Ceh8q66j/cyxU0k5SeJme0gl5/A1QX7XSd85RY2CpZdVxiRLcplnRqpRCPTuI/NUMlFXS7tJ2cwSa3UTdyADOPTz4RIUkMXwOfQot+LaYdaexrotszXaHKDX47bkM+U0FZirnlkn9V22uSi0iRCnlLpc+JgQPlI560nGQydjuiGJP7kQH4WF113ZF9fL0VvrtRF5TJLIoHI1QUYSU9VXRcDF3GtSK3TtmWUaa6uPvejrNdyT2eUsKsJTutswgU6zIe+3H3pbyYvtd+ej2P/n+YrSttW41G0iZjj5Wdc2h0HRGehK9kyIpRPbw7q27Mywl4UrBmnzEiCR3FndOLJ+Doh6Csr9CjhgpiDt2CW9gtoWeXF0mMzkNsuE1IvX5H0YokbT66clntZ0fcvvGgDXBGWDJ5EC/dnOrQdLb5OZLNUJY7yLjvqNPNPrWNGJZJP0a8wJXTSLDSiKCKBqcAxq8gKmh7FFW0MXyq+3OxHNiHZQbKkvq8x8fXq4aE/87pJuyP5Ghwt6ecUm0n08u6SebFSc0gEcCMJ5EBXKqjKbE/5B9dw="

NICK_MANAGER

Here you can configure list of nicks allowed on your server using the API.

Type list
BASE

This is the base system with minimal functions.

Fields are :

NICK_LIST list of string nicknames usable on the server.

NO_RESTRICTION_REQUIREMENT is the requirement to use nick not on the list.

Example
 NICK_MANAGER:
  TYPE: BASE

SKIN_MANAGER

Here you can configure list of skin allowed on your server using the API.

Type list
BASE

This is the base system with minimal functions.

Fields are :

SKIN_LIST list of skin name / uuid with name as key and uuid as value.

NO_RESTRICTION_REQUIREMENT is the requirement to use skin not on the list.

Example
 SKIN_MANAGER:
  TYPE: BASE

RANK_MANAGER

Here you can configure how ranks are managed on the server ( beta feature ).

Type list
PERMISSION

This is the base system with minimal functions.

Each values are permission with this format : 'name'.'priority'.'value'. Higher priority will be kept for the player, values names are :

  • prefix
  • suffix
  • chatcolor
  • namecolor
  • tabprefix
  • tabsuffix
  • tabcolor

prefix, suffix, chatcolor and namecolor can be used with placeholders where tabprefix, tabsuffix and tabcolor will be used with TAB_MANAGER.

Fields are :

CAPITALIZE Should the prefix / suffix be capitalized since permissions are lowercase ?

COLORIZE Should the prefix / suffix be colorized since permissions don't support colors ?

Example
 RANK_MANAGER:
  TYPE: PERMISSION

TAB_MANAGER

Here you can configure how tab is managed on the server.

Type list
BASE

This is the base system with minimal functions.

Fields are :

NICK_PRIORITY will apply the given rank to nicknamed players.

NICK_PREFIX will apply this prefix on tab for nicknamed players.

NICK_SUFFIX will apply this suffix on tab for nicknamed players.

USE_PRECISE if false will fail getting same level for different prefix / suffix be will be lighter, else will support a more precise, but not perfect, tab.

Example ```yaml TAB_MANAGER: TYPE: BASE NICK_PRIORITY: 0 NICK_PREFIX: "" NICK_SUFFIX: "" USE_PRECISE: false ```

PROFILE_SETTINGS

Here you can configure how settings states are translated ( beta feature, not fully implemented yet ).

Settings can be single ( only have DISABLED or ENABLED ) or double ( DISABLED, MINIMAL, REDUCED, ENABLED ). VanillaPlus provide 4 double settings :

  • ADVERTISMENT
  • CHAT
  • MP
  • PARTICLES

Each node is a setting's name with value states as node and translation as value.

Example
 PROFILE_SETTINGS:
  MP:
   DISABLED: FORMAT.DISABLED
   MINIMAL: FORMAT.MP_MINIMAL
   REDUCED: FORMAT.MP_REDUCED
   ENABLED: FORMAT.ENABLED
  PARTICLES:
   DISABLED: FORMAT.DISABLED
   MINIMAL: FORMAT.PARTICLES_MINIMAL
   REDUCED: FORMAT.PARTICLES_REDUCED
   ENABLED: FORMAT.ENABLED

SETTINGS

Here you can configure few options for the API.

DATE_FORMAT is the format to use for date format, default is iso time format.

TIME_FORMAT is the format to use for time format, default is iso time format.

CONSOLE_NAME is the name to use for the console.

START_MESSAGE is the message send when the API finish to start.

SETTINGS:
 DATE_FORMAT: "yyyy-MM-dd"
 TIME_FORMAT: "yyyy-MM-dd'T'HH:mm:ss"
 CONSOLE_NAME: "@Console"
 START_MESSAGE: ""

MESSAGE_COMPONENT_SETTINGS

Here you can configure few options for the API.

ENABLED_PATH Is the translation for enabled state.

DISABLED_PATH Is the translation for disabled state.

TIME_FORMAT Is the format for time with %hour% as placeholder for the hour part %minute% as placeholder for the minute part and %second% as placeholder for the second part.

SECOND_NULL_PATH Will replace second in time format when 0 second.

SECOND_ONE_PATH Will replace second in time format when 1 second.

SECOND_PATH Will replace second in time format when more than 1 second.

MINUTE_NULL_PATH Will replace minute in time format when 0 minute.

MINUTE_ONE_PATH Will replace minute in time format when 1 minute.

MINUTE_PATH Will replace minute in time format when more than 1 minute.

HOUR_NULL_PATH Will replace hour in time format when 0 hour.

HOUR_ONE_PATH Will replace hour in time format when 1 hour.

HOUR_PATH Will replace hour in time format when more than 1 hour.

MESSAGE_COMPONENT_SETTINGS:
 ENABLED_PATH: FORMAT.ENABLED
 DISABLED_PATH: FORMAT.DISABLED
 TIME_FORMAT: "%hour%%minute%%second%"
 SECOND_NULL_PATH: FORMAT.SECOND_NULL
 SECOND_ONE_PATH: FORMAT.SECOND_ONE
 SECOND_PATH: FORMAT.SECOND
 MINUTE_NULL_PATH: FORMAT.MINUTE_NULL
 MINUTE_ONE_PATH: FORMAT.MINUTE_ONE
 MINUTE_PATH: FORMAT.MINUTE
 HOUR_NULL_PATH: FORMAT.HOUR_NULL
 HOUR_ONE_PATH: FORMAT.HOUR_ONE
 HOUR_PATH: FORMAT.HOUR

Clone this wiki locally