Skip to content

Configuring config.yml

TM (Holly) edited this page May 1, 2020 · 9 revisions

Whilst the others may be more straightforward, the main config, config.yml, isn't so straightforward. There are so many options and features that may change the plugin completely - perks and mechanics, dear GOD. But fear not - we've got you covered.

Contents:

Section 1: Blacklisting

This is what handles the blocking of heads or events.

Section "default" is what stops specific heads being given. For example:

blacklist:
    default:
        enabled: true
        list: 
        - Thatmusic99

Whilst "enabled" (meaning the blacklist is on) is true, the head of player "Thatsmusic99" can't be retrieved from /head.

Section "world" stops heads from dropping and being dropped in that specified world.

blacklist:
    world:
        enabled: true
        list: 
        - pvp

In the world called "pvp", heads cannot be dropped or crafted.

Section 2: whitelist

This is the part of the plugin that restricts players to certain heads only they can use. You simply set it up in the same way you would as the blacklist, e.g:

whitelist:
    default:
        enabled: true
        list: 
        - Thatmusic99

Whilst "enabled" is true, the head of player "Thatsmusic99" is the only head that can be retreived from /head.

Similarly for the world section:

whitelist:
    world:
        enabled: true
        list: 
        - pvp

The world "pvp" is the only world that can drop heads and allow them to be crafted.

Section 3: mysql

If you're familiar with MySQL, you're capable of storing data that HeadsPlus uses in your server's database(s). This will be able to store the data the plugin stores in a database other than the files that data is saved to by default.

It's pretty straightforward overall:

host

Type: String

The name of the database's host, e.g "localhost". Option "port": The port for the database, e.g 3306.

database

Type: String

The name of the database that the data is being saved to.

username

Type: String

The name of the user that will allow the plugin to access the server database.

password

Type: String

The password that grants access to the user mentioned above.

enabled

Type: boolean

Decides whether the plugin should use MySQL or not.

Section 4: theme-colours (DEPRECATED)

Theme colours change the colours that come up in the help menu or head info menu and such. You shouldn't change the "plugin-theme-dont-change" option, otherwise, your theme won't change!

You can either customise the themes yourself, or choose from the pre-made themes made (check further down for setting themes up):

  • Classic
  • Coal
  • Iron
  • Ruby
  • Diamond
  • Emerald
  • Amethyst
  • Ocean
  • Beehive
  • Nether
  • Sapphire

Section 5: Perks

Just before I get onto the boring mechanics - let's have some fun with the perks!

ascii-art

Type: Boolean

Default Value: true

This decides whether the beautiful ASCII art in console appears upon startup.

sell-heads

Type: Boolean

Default Value: true

Allows heads to be sold. If disabled, /sellhead will be disabled too.

drop-heads

Type: Boolean

Default Value: true

Allows heads to be dropped from all mobs that have the option enabled. Chances/head options are configured in mobs.yml.

craft-heads

Type: Boolean

Default Value: false

Allows heads to be crafted, and to avoid heavy exploiting, it is disabled by default. Just to give you an idea of what these exploits are, here they include crafting the heads in creative mode and then selling them.

Remember this DOESN'T DISABLE CRAFTING! The recipes will still be loaded.

disable-crafting

Type: Boolean

Default Value: false

Decides whether the plugin will load head recipes or not. If this is set to true, recipes won't load until the server restarts and the option is set to false by default.

heads-selector

Type: Boolean

Default Value: true

This will either enable or disable the use of /heads, but not ignore customheads.yml if you use custom heads in mobs.yml or similar.

challenges

Type: Boolean

Default Value: true

Enables and disables /hpc (challenges).

leaderboards

Type: Boolean

Default Value: true

Enables and disables /hplb (leaderboards). This will not stop the plugin from counting up plugin activity, however, such as head drops, crafting and selling.

levels

Type: Boolean

Default Value: true

Enables and disables the plugin levelling system. Levels are based on how much XP you receive for using the plugin's features.

player-death-messages

Type: boolean

Default Value: false

Enables and disables death messages being posted when a player drops their head after death.

death-messages

Type: List

Default Value:

- '&b{player} &3was killed by &b{killer} &3and had their head removed!'
- '&b{killer} &3finished the job and removed the worst part of &b{player}&3: The
  head.'
- '&3The server owner screamed at &b{player} &3"OFF WITH HIS HEAD!"&3. &b{killer}
  &3finished the job.'

The actual messages used for death messages when a player loses their head. Use {player} as a placeholder for the dead player, and {killer} for the player who killed them.

smite-player-if-they-get-a-head

Type: Boolean

This was an April Fool's joke but the name says it all. I'm being serious. It does work. Trust me. For some reason I never got rid of it.

mask-powerups

Type: Boolean

Default Value: true

Allows mask effects to be applied when you place a specific mob's head on your head. Effects can be modified in heads.yml.

Drops > ignore-players

Type: List

Default Value:

The players typed in this list will not have their head dropped at all when killed. You can include their username or UUID.

Drops > needs-killer

Type: Boolean

Default Value: false

Decides whether a killer is required for a head to be dropped from all entities.

Drops > entities-requiring-killer

Type: List

Default Value:

- player

If a killer isn't required for all entities, then you may select which entities DO need killers (with their name lowercase and without underscores)

PVP > player-balance-competition

Type: Boolean

Default Value: false

When this option is enabled, then killed players are at risk of losing part of their balance when they lose their head.

PVP > percentage-lost

Type: Double

Default Value: 0.05

The percentage of the player's balance of which is lost when their head is lost.

PVP > percentage-balance-for-head

Type: Double

Default Value: 0.05

The percentage of the player's balance which is the price given to their dropped head for selling.

Interact > middle-click-head

Type: Boolean

Default Value: true

When this option is active, players can use their creative block pickup button on heads to have the head's texture applied to the new skull picked in their inventory.

Interact > click-head

Type: Boolean

Default Value: true

When the option is active and a clicked skull has a specified owner, the player will receive a message saying whose skull it belongs to.

XP > allow-negative

Type: Boolean

Default Value: false

If this option is enabled, negative values of XP are allowed. This is often achieved using the /hp xp command.

Section 6: Mechanics

larger-menus

Type: boolean

Default Value: false

Increases capacity of heads, challenges and sellhead menu. (Currently not working)

theme (DEPRECATED)

Sets the theme for the plugin, aka changing the colours of things such as the help menu.

Available themes include:

  • CLASSIC
  • COAL
  • IRON
  • RUBY
  • DIAMOND
  • EMERALD
  • AMETHYST
  • OCEAN
  • BEEHIVE
  • NETHER
  • SAPPHIRE

Update > Check

Type: Boolean

Default Value: true

When enabled, the plugin will check for an update every time the server starts up.

Update > Notify

Type: Boolean

Default Value: true

When an update is available, the plugin will notify players with the permission "headsplus.notify".

allow-looting-enchantment

Type: Boolean

Default Value: true

Decides whether to allow the looting enchantment to affect how many heads an entity drops on death.

Looting > ignored-entities

Type: List

Default Value:

If the looting enchantment is enabled, you can choose some entities to ignore, e.g player heads.

Looting > use-old-system

Type: Boolean

Default Value: false

This initiates HP's old system of handling looting enchantments: the new system will increase the chance of a head or multiple heads dropping, whilst the old system leaves the chance untouched but increases the amount of heads dropped either way.

stop-placement-of-sellable-heads

Type: Boolean

Default Value: false

Stops players from placing sellable/HeadsPlus heads. If you place a head and break it again, it is no longer sellable.

sellhead-gui

Type: Boolean

Default Value: true

Decides whether to use the sellhead GUI when typing /sellhead or to just sell the heads in your hand. Whether a player can open a GUI is also determined by the "headsplus.sellhead.gui" permission.

Debug > create-debug-files

Type: Boolean

Default Value: true

When an error is thrown, it decides whether to create a debug file that can be sent to the author of the plugin. You can submit debug reports in the plugin discussion or Discord.

Debug > print-stacktraces-in-console

Type: Boolean

Default Value: true

If true, all stacktraces caused by errors will be printed in the console. This is recommended for problem diagnosis and may be made redundant in a future release.

anvil-menu-search

Type: Boolean

Default Values: true

Decides whether to enable the anvil GUI when searching for heads in the heads selector. If this is disabled, it will use a chat prompt instead.

MythicMobs > no-hp-drops

Type: Boolean

Default Value: true

Decides whether to not drop heads if an entity comes from MythicMobs - meaning that if it is a MM mob, it won't drop heads.

round-balance-to-2-dp

Type: Boolean

Default Value: true

Since some plugins don't round their balances to 2 decimal places and also Java, HP can do this within its messages automatically to stop all the 500.00000000000001 balances.

Boss Bar > Enabled

Type: Boolean

Default Value: true

When the boss bar is enabled (1.9+ only), it will show a progress bar of how far away you are until the next level. May need fine-tuning?

Boss Bar > color

Type: ChatColor

Default Value: RED

The colour of the boss bar shown; check the JavaDocs for references on which colours you can use.

Boss Bar > lifetime

Type: Integer

Default Value: 5

How long in seconds the boss bar lasts on your screen before disappearing.

Broadcasts > level-up

Type: Boolean

Default Value: true

Broadcasts a message to all players when a player levels up.

Broadcasts > challenge-complete

Type: Boolean

Default Value: true

Broadcasts a message to all players when a player completes a challenge.

Leaderboards > cache-boards

Type: Boolean

Default Value: true

Caches leaderboards so they can be easily retrieved when excessively fetched, and useful if you use placeholders to reduce impact on the server.

Leaderboards > cache-lifetime-seconds

Type: Integer

Default Value: 300

The lifetime of cached leaderboards.

Section 7: Autograb

Autograb was an interesting feature introduced by jascotty2, of which meant your players' heads could be added to customheads.yml. Options include:

enabled

Type: Boolean

Default Value: false

Decides whether the feature should grab players' heads as soon as they join.

add-as-enabled

Type: Boolean

Default Value: true

When the player's head is added to customheads.yml, it can also come up in /heads.

section

Type: String

Default Value: players

Decides the section as to where the player's head goes in customheads.yml.

title

Type: String

Default Value: '&8[&6{player}&8]'

Decides the title of the created section.

price

Type: Double

Default Value: default

Decides the default price of the player's head - the string "default" pulls the default price from the customheads.yml file.

Locale

These two options control how the locale in the plugin works.

locale

Type: String

Default Value: en_us

Sets the global locale - this can be set to any code that can be found in the names of the .yml files in the locale folder. Default examples include:

  • en_us (English)
  • ro_ro (Romanian)
  • hu_hu (Hungarian)
  • de_de (German)
  • es_es (Spanish)
  • fr_fr (French)
  • lol_us (LOLCat)
  • ru_ru (Russian)
  • nl_nl (Dutch)
  • pl_pl (Polish)

smart-locale

Type: Boolean

Default Value: false

This is a unique option in HeadsPlus which reads each player's default locale set in their client and applies the language which suits them and exists within the plugin, so that all the commands are done in their own language. (E.g. Player1 is English and uses en_us, which Player2 is Russian and uses ru_ru)

Clone this wiki locally