Skip to content

Configuration

Florian Fülling edited this page Jan 31, 2021 · 24 revisions

Welcome to the configuration page.
Blood Nights is highly configurable. This results in a large config. The config will be set up with some reasonable default values, which you might want to change. So please read this section carefully.

Config Structure

The config is structured in two main parts.
The generalSettings which manage the general behavior of the plugin and some other general things.
The worldSettings which manages the behavior of the plugin in each of your worlds.

You will find a complete overview about the config structure below. Most of the values can be manages via ingame commands. this is highly recommended if possible.

config.yml
┣━ version #the version number
┣━ debug
┣━ generalSettings
  ┣━ language
  ┣━ broadcastLevel
  ┣━ broadcastMethod
  ┣━ mobTick
  ┣━ blindness
  ┣━ joinWorldWarning
  ┣━ updateReminder
  ┣━ autoUpdater
  ┣━ beeFix
  ┣━ spawnerDropSuppression
  ┣━ ignoreSpawnerMobs
  ┗━ blockedCommands

Each world has its own config file.

worldSettings/worldname.yml
┣━ settings # manages general settings for the plugin in a world
  ┣━ worldName
  ┣━ enabled
  ┣━ creeperBlockDamage
  ┣━ alwaysManageCreepers
  ┣━ bossBarSettings # manages the layout and appearance of the boss bar
    ┣━ enabled
    ┣━ title
    ┣━ color
    ┗━ effects
  ┣━ night selection # manages in which way the plugin decides if a night is a blood night or not
    ┣━ nightSelectionType
    ┣━ probability
    ┣━ phases
    ┣━ phasesCustom
    ┣━ period
    ┣━ currCurvePos
    ┣━ minCurveVal
    ┣━ maxCurveVal
    ┣━ interval
    ┣━ intervalProbability
    ┗━ curInterval
  ┣━ night settings # manages the behavior of the plugin during a blood night
    ┣━ skippable
    ┣━ nightBegin
    ┣━ nightEnd
    ┣━ startCommands
    ┣━ endCommands
    ┣━ overrideNightDuration
    ┗━ nightDuration
  ┣━ mobSettings
    ┣━ vanillaMobSettings
       ┣━ damageMultiplier
       ┣━ healthMultiplier
       ┣━ dropMultiplier
       ┣━ vanillaDropMode
       ┗━ dropAmount
    ┣━ displayMobNames
    ┣━ monsterDamageMultiplier
    ┣━ monsterHealthModifier
    ┣━ experienceMultiplier
    ┣━ forcePhantoms
    ┣━ spawnPercentage
    ┣━ defaultDrops
    ┣━ naturalDrops
    ┣━ dropAmount
    ┗━ mobTypes
      ┗━ mobType # list of different mob types.
        ┣━ mobName
        ┣━ displayName
        ┣━ active
        ┣━ dropAmount
        ┣━ overrideDefaultDrops
        ┣━ drops
        ┣━ healthModifier
        ┣━ health
        ┣━ damageModifier
        ┗━ damage
  ┣━ soundSettings
    ┣━ minInterval
    ┣━ maxInterval
    ┣━ channel
    ┣━ startSounds
    ┣━ endSounds
    ┗━ randomSounds
  ┗━ deathActionSettings
    ┣━ mobDeathActions
      ┣━ lightningSettings
        ┣━ doLightning
        ┣━ lightning
        ┣━ doThunder
        ┗━ thunder
      ┣━ shockwaveSettings
        ┣━ shockwaveProbability
        ┣━ shockwavePower
        ┣━ shockwaveRange
        ┣━ shockwaveEffects
        ┗━ minDuration
    ┣━ playerDeathActions
      ┣━ lightningSettings
        ┣━ doLightning
        ┣━ lightning
        ┣━ doThunder
        ┗━ thunder
      ┣━ shockwaveSettings
        ┣━ shockwaveProbability
        ┣━ shockwavePower
        ┣━ shockwaveRange
        ┣━ shockwaveEffects
        ┗━ minDuration
      ┣━ deathCommands
      ┣━ loseInvProbability
      ┣━ loseExpProbability
      ┗━ respawnEffects

Config consistency

Every time you load the plugin the config will be loaded and saved afterwards. The config will only safe valid parts. so if you think you fucked up the config a bit just safe it and reload the plugin. this will remove invalid sections. However it is highly recommended to only edit the config if no ingame command is available for this part.

Version

This is the version number. If you change it by yourself this can and will cause unexpected issues like wiping your config and other stuff.

General Settings

The general settings can NOT be edited via ingame commands.

language default: en_US
Valid values: en_US, de_DE, any own language file
This will change the language of the plugin. If you want you, can create your own language file in the messages directory.
Please use a valid language code consisting of two characters xx or four xx_xx. If your language file misses some keys the plugin will use the fallback language en_US

broadcastLevel default: SERVER
Valid Values: SERVER, WORLD, NONE
Defines the broadcast level, when a blood night starts or ends.
SERVER will broadcast it to all players on the server.
WORLD will broadcast it to all players in the world where the blood night state changed.
NONE will disable any broadcast.

broadcastMethod default: SUBTITLE
Valid Values: CHAT, TITLE, SUBTITLE
Defines in which way the broadcast should be send.

mobTick default: 5
Defines how often a special mob should be receive a plugin tick.
The plugin tick controls the behavior of a special mob in many ways. Changing this can result in unintended behavior from the mobs.
If you experience high timings as a result from blood night you may want to raise this value, but its highly recommended to leave it like this.

blindness default: true
Valid Values: true, false
This will enable or disable the blindness effect when a blood night starts or ends.

joinWorldWarning default: true
Valid Values: true, false
This will disable or enable a warning, when a players joins or leaves a blood world.

debug default: false
Valid Values: true, false
You like spam and a lot of prints on your console? Set this to true. Otherwise you wont need it...

updateReminder default: true
Valid Values: true, false
This enabled the update reminder. The plugin will check once on startup and every 6 hours if a new version is available.

autoUpdater default: false
Valid Values: true, false
If you use the update reminder you can use the auto updater as well.
This Updater is pretty secure and wont break anything. It just downloads the new version from our servers, checks the hash of the file and saves is to your update folder. Bukkit will install this update after a restart.

beeFix default: false
Valid Values: true, false
If you used the plugin pre 0.7.0 you may have encountered the message Skipping Entity with id. Turn this on to fix it. Leave it enabled till the messages disappear. Do not activate it when you don't see these messages.

How did this happen? Let me tell you a story:
There was once a world where bees weren't allowed to spawn.
But one day a plugin bypassed this and released a bee into this world.
The purpose of this bee was to carry a creeper to make the creeper fly.
But the bee got in an argument with the creeper and left it.
After some time the bee found a bee hive and entered it.
Sadly the bee wasn't happy and wanted to leave the bee hive again, but the bee couldn't. Bee spawning was forbidden.
The force that pushed the bee back was so strong that the bee forgot their entity id.
But without it the server would skip the bee every time the bee tries to leave the hive.
The end.

spawnerDropSuppression default: true
Valid Values: true, false
Suppress extra drops and multiplied exp when a mob was spawned by a spawner.

ignoreSpawnerMobs default: false
Valid Values: true, false
Suppress extra drops and multiplied exp when a mob was spawned by a spawner.

blockedCommands default: []
Contains a list of command which should not be executed during a blood night.
The player command is matched against this list. If the list contains the start of the command, it will be blocked.
E.g. time will block every command which starts with time. It will not block commands like day or night

World Settings

The world settings are a huge section of settings. Most of them can be changed via ingame commands.

worldName
Don't change this. Just don't do it.

enabled default: false
Valid Values: true, false
This will enable or disable blood nights in a world. Setting this to false will NOT cancel a currently active blood night. Use the cancelNight command for this.

creeperBlockDamage default: false
Valid Values: true, false
Creeper deal damage through explosions. If you use world guard or any other plugin, which suppresses the explosion of a creeper they will not deal any damage. Setting this to false will prevent creepers from making block damage, but still allows them to deal player damage. This counts for all Creepers in a world even when a blood night is not active.

alwaysManageCreepers default: true
Valid Values: true, false
If the setting above is to true the block damage is always cancelled. If you want to enable this only during blood nights set this to false.

Boss Bar Settings

enabled default: true
Valid Values: true, false
Enables or disables the boss bar during a blood night.

title
Set the title of the boss bar. Use § for color codes.

color default: RED
Valid Values: look here
Determines the color of the bar.

effects default: [CREATE_FOG, DARKEN_SKY] Valid Values: look here
Determines effects applied to the player. This is/list an array not a single value.

Night Selection

The night selection is fully configurable via ingame command nightSelection

nightSelectionType default: RANDOM
Valid Values: RANDOM, MOON_PHASE, REAL_MOON_PHASE, INTERVAL, PHASE, CURVE
This sets the mode which is used to determine if a night will become a blood night or not.
Based on the value here one of the values below is used to determine if a night becomes a blood night.

  • RANDOM: Just random based
  • MOON_PHASE: Based on ingame moon phase and phase probability
  • REAL_MOON_PHASE: Based on real world moon phase and phase probability
  • INTERVAL: Every x night will be a blood night based on a probability
  • PHASE: Every day has its own predefined probability
  • CURVE: Every day has its own probability based on a min and max probability defined by a curve.

Curve Representation

probability default: 60
If RANDOM is chosen this will set the probability of a blood night. Setting this to 100 means that every night will be a blood night.

phases default: ['0:0', '1:10', '2:20', '3:40', '4:100', '5:40', '6:20', '7:10']
If MOON_PHASE or REAL_MOON_PHASE is chosen this will set the probability of a blood night depending on the current moon phase.
The syntax is phase:percentage. So you can change the value after : to your advantage to a value between 0 and 100. Dont change the value before the :. Otherwise a new entry will be generated and the invalid values will be removed.
The current moon phase will be determined by the plugin depending on the world time. The moon phase in minecraft is divided into 8 phases, where 0 is a full moon and 4 is a new moon. wiki

phasesCustom
If PHASE is chosen this will set the probability of a blood night depending on the current phase.
The syntax is phase:percentage. So you can change the value after : to your advantage to a value between 0 and 100.
So you can define a phase of a max length of 54. Every day in this phase can has it own probability.

curPhase
Don't change this.

period default: 10
If CURVE is chosen the probability will be defined by a curve with a max and a min value.
The length this curve is the period.
This means that the max or min probability for a blood night take place every days.

minCurvePos default: 20
The min probability of the curve.

minCurvePos default: 80
The min probability of the curve.

interval default: 5
If INTERVAL is chosen every Nth night will be a blood night.

intervalProbability default: 100
If INTERVAL and the interval is matched, this probability value will be used to determine if this night becomes a blood night.

curInterval
If INTERVAL is chosen this will represent the current count of the interval. Don't change this by yourself.

Night Settings

The night settings are fully configurable via ingame command manageNight

skippable default: false
Valid Values: true, false
Setting this to false will prevent players from entering a bed during a active blood night.

nightBegin default: 14000 Valid Values: 0-23999
Determines when a night will start. On this tick the plugin will decide if this night will be a blood night or not.

nightEnd default: 23000 Valid Values: 0-23999
Determines when a night will end. On this tick the plugin will end a blood night if active.

startCommands
A list of commands which should be executed on start of a blood night.
Supported placeholders:

  • {world} will be replaced with the name of the world
  • {player} will be replaced with the name of the player. If a player placeholder is set the command will be executed one time per world player.

endCommands
A list of commands which should be executed on end of a blood night.
Supported placeholders:

  • {world} will be replaced with the name of the world
  • {player} will be replaced with the name of the player. If a player placeholder is set the command will be executed one time per world player.

durationMode default: NORMAL
Valid Values: NORMAL, EXTENDED, RANGE
This defines the night duration.
NORMAL will be the normal duration. EXTENDED will stretch the time between nightStart and nightEnd to the amount of seconds in nightDuration
RANGE will stretch the time between nightStart and nightEnd to a amount between nightDuration and maxNightDuration\

This can probably interfere with plugins, which manage the time of the world by themself. E.g. CMI real world time.

nightDuration default: 600
The time a night should last in seconds. This is the time which needs to be passed between start and end tick of the blood night.

nightDuration default: 600
The max time a night should last in seconds. Only used when durationMode is set to RANGE

Mob Settings

Mob Settings can be managed via the manageMobs and manageMob command.
Its highly advised to do this. especially for the drop settings.

displayMobNames default: true
If true the special mobs will be named with the name of their special mob type. The display name can be defined in the Mob Setting of each mob.

damageMultiplier default: 2
Valid Values: 1-200
This value will be multiplied with the attack damage of each special mob. This value can and will be overridden by custom settings for each mob.

healthMultiplier default: 2
Valid Values: 1-200
This value will be multiplied with the health of each special mob. This value can and will be overridden by custom settings for each mob.

ExperienceMultiplier default: 4
Valid Values: 1-200
This value will be multiplied with the dropped exp of each special mob.

forcePhantoms default: true
Valid Values: true, false
If true the last slept duration of each player will be changed to a large value which forces phantom spawns on them. The last slept duration will be reverted when leaving a blood night world or when the blood night ends.

spawnPercentage default: 80
Valid Values: 1-100
This defines the probability that a spawned mob will be converted to a special Mob. Setting this to 100 means that every spawned mob will become a special mob.

defaultDrop
A list of weighted default Drops. Its highly recommended to add drops ingame. Otherwise see Drops if you like the risk of deserialization errors.
Default drops can and will be overridden by a custom Mob Setting.

naturalDrops default: true
Valid Values: true, false
This defines if special Mobs should also drop their vanilla drops or if they only should drop items which are defined by the plugin.

dropAmount default: 3
Valid Values: 0-200
This defines how many custom drops will be added to the drop list on mob death. The resulting value will be between 1 and dropAmount, if drop amount is not 0.

Mob Types

This section can be accessed by the manageMob command.
The section is grouped by mob types.
Each group contains one or more Mob Setting entries.

Mob Setting

A Mob Setting is a individual setting for each mob. It allows to change values and drops for each mob individually.
This section will be generated with fixed default values, which might not be reasonable for all mobs. If you want to go ahead as fast as possible you may use the recommended Mob Settings.
You may also see the Special Mob page for a overview of all available special mobs.

mobName
This is the internal name of the mob. Don't change it. Otherwise the entry will be deleted.

displayName The default mob name. You may use § for color codes. Not that the max size is 16 for names in minecraft.

active default: true
Valid Values: true, false
If set to true the mob can be spawned.

dropAmount default: true
Valid Values: true, false
This defines how many custom drops will be added to the drop list on mob death. The resulting value will be between 1 and dropAmount, if drop amount is not 0.

overrideDefaultDrops default: false
Valid Values: true, false
If set to true only drops from the mob drops will be used and the defined default drops will be ignored.

drops
A list of weighted drops. Its highly recommended to add drops ingame. Otherwise see Drops if you like the risk of deserialization errors.
Default drops can and will be overridden by a custom Mob Setting.

healthModifier default: DEFAULT
Valid Values: DEFAULT, MULTIPLY, VALUE
This defined how the health of the mob will be calculated.
DEFAULT will use the settings defined in Mob Settings.
MULTIPLY will multiply the value of the mob by the given amount.
VALUE will set the value to a specific value and not based on the initial value.

health default: 2
Valid Values: 1-2048
The health modifier which will be applied based on the setting above.

damageModifier default: DEFAULT
Valid Values: DEFAULT, MULTIPLY, VALUE
This defined how the damage of the mob will be calculated.
DEFAULT will use the settings defined in Mob Settings.
MULTIPLY will multiply the value of the mob by the given amount.
VALUE will set the value to a specific value and not based on the initial value.

damage default: 2
Valid Values: 1-2048
The damage modifier which will be applied based on the setting above.

Vanilla Mob Settings

The vanilla settings will alter values of the vanilla mobs which will be spawned or are already present during a blood night.

damageMultiplier default: 2
Valid Values: 0.0-2048.0
This defines how much damage monsters should deal to players based on their normal damage.

healthMultiplier default: 2
Valid Values: 0.0-2048.0
This defines how much health monsters should have based on their normal health. This is done by changing the value of the damage event. This will result in the players making less damage instead of the monsters having more health.

vanillaDropMode default: VANILLA
Valid Values: VANILLA, COMBINE, CUSTOM
This values defined what the vanilla mobs should drop.
VANILLA only vanilla drops multiplied by the dropMultiplier defined in Mob Settings.
COMBINE will combine the vanilla drops with some of the default drops based on the extraDrops value. CUSTOM will drop the default drops based on the extraDrops value.

extraDrops default: 1
Valid Values: 1-2048
This will add the amount of drops from the default drops to the droplist, if the vanillaDropMode is set to COMBINE or CUSTOM

Sound Settings

minInterval default: 10
Valid Values: 1-1000
The minimum interval of a random sound

minInterval default: 10
Valid Values: 1-1000
The maximum interval of a random sound

channel default: AMBIENT
Valid Values: Every value listed here
The sound channel where the sound should be played.

startSounds
Valid Values: Sounds
A list of sounds played at the start of a blood night. All sound will be played at the same time.

endSounds
Valid Values: Sounds
A list of sounds played at the endof a blood night. All sound will be played at the same time.

randomSounds
Valid Values: Sounds
A list of sounds played during a blood night. One sound will be picked per player with a custom interval. Different sounds will be played to the players at different times.

Death Actions

This config area can be changed with the /bn deathActions command. This part of the config is very complex. Its highly advisable to not edit it by hand.

Mob Death Actions

lightningSettings
See here

shockwaveSettings
See here

Player Death Actions

lightningSettings
See here

shockwaveSettings
See here

deathCommands
A list of commands which will be executed when the player dies. Use {player} as a placeholder for the player name.

loseInvProbability
Values: 0-100
Probability that a player will lose its items instead of dropping them on death.

loseExpProbability
Values: 0-100
Probability that a player will lose the complete exp instead of dropping some.

respawnEffects
A list of effects. See Effect Entry

Shared Config Objects

Drops

A Drop holds a item stack and a weight.
The item stack is serialized by minecraft. Therefore ots adivsed to not add it by hand. Use the ingame drop setting commands.

itemStack
The Item stack serialized by minecraft.

weight default: 1
The weight defined how comman a item is to get dropped. Higher weight results in more common drops. Its not considered to be procentual.
The item is choosen based on the total drop weight of a drop set, which can be different for every mob, because it is combined by default and mob drops.
If you have two items A with a weight of 1 and B with a weight of 100 the chance to get item A is 1:100.

Sound Entry

A entry which defines a sound.

sound
Valid Values: All Sounds listed here
The sound of the sound entry.
To test the sound you can use the playsound command ingame. The enum value will be the same with _ instead of .

pitch
Valid values: 0.0-2.0
Pitch values. Every time the sound is played one random value will be chosen.

volume
Valid values: 0.0-1.0
Volume values. Every time the sound is played one random value will be chosen.

If you want to add new sound use this template

    - ==: bloodNightSoundEntry
      sound: 
      pitch:
      - 0.8
      - 1.0
      volume:
      - 1.0

Lightning Settings

doLightning
Valid values: true, false
Set to true to enable lightning.

lightning
Valid values: 0-100
The probability that a lightning occurs.

doThunder
Valid values: true, false
Set to true to enable thunder.

thunder
Valid values: 0-100
The probability that a thunder occurs.

Shockwave Settings

shockwaveProbability
Valid values: 0-100
The probability of a shockwave

shockwaveRange
Valid values: 0-60
Range of the shockwave.

shockwaveEffects
Valid values: Please use the ingame commands
List of shockwave effects.

minDuration
Valid values: 0.0-1.0
The min amount of the total duration when you are in the range of a shockwave

Effect Entry

A effect entry is used in multiple places. It looks a bit weird caused by the automatic serialization.
The duration is the max duration if the target is in the center of the shockwave.

- ==: eldoUtilitiesMapEntry
  key: CONFUSION
  object:
    ==: bloodNightPotionEffectSettings
    effectType: CONFUSION
    duration: 10

key and Effect type can be one of these
The duration is the duration a player will have the effect. The duration my vary based on the implementation.