Leaf global config
Info
The YAML config below shows the structure and default config values of Leaf's global config (config/leaf-global.yml)
The config bases on the latest 1.21.1 branch of Leaf
Click arrow button behind the config node to show description of it
# Leaf Global Config
config-version: 3.0
###########
# ASYNC #
###########
async: #(1)!
async-entity-tracker: #(2)!
enabled: false
compat-mode: false #(3)!
max-threads: 0 #(4)!
keepalive: 60 #(5)!
# **Experimental feature, may cause data lost in some circumstances!**
async-playerdata-save: #(6)!
enabled: false
async-pathfinding: #(7)!
enabled: false
max-threads: 0 #(8)!
keepalive: 60 #(9)!
async-mob-spawning: #(10)!
enabled: true
async-locator: #(11)!
enabled: false
threads: 0 #(12)!
keepalive: 60 #(13)!
##########
# PERF #
##########
performance: #(14)!
use-virtual-thread-for-async-chat-executor: true #(15)!
use-virtual-thread-for-async-scheduler: true #(16)!
create-snapshot-on-retrieving-blockstate: true #(17)!
inactive-goal-selector-throttle: true #(18)!
throttle-hopper-when-full: #(19)!
enabled: false
skip-ticks: 0 #(20)!
skip-map-item-data-updates-if-map-does-not-have-craftmaprenderer: true #(21)!
skip-ai-for-non-aware-mob: true #(22)!
reduce-packets: #(23)!
reduce-entity-move-packets: false #(24)!
optimized-powered-rails: true #(25)!
optimize-minecart: #(26)!
enabled: false
skip-tick-count: 30 #(27)!
# This may cause the inconsistent order of future compose tasks.
faster-structure-gen-future-sequencing: true #(28)!
# Requires a JVM that supports RandomGenerator and the LXM generators.
# Some JREs don't support this and will cause a crash.
faster-random-generator: #(29)!
enabled: false
random-generator: Xoroshiro128PlusPlus #(30)!
enable-for-worldgen: false #(31)!
warn-for-slime-chunk: true #(32)!
use-legacy-random-for-slime-chunk: false #(33)!
entity-timeouts: #(34)!
ALLAY: -1
AREA_EFFECT_CLOUD: -1
ARMADILLO: -1
ARMOR_STAND: -1
ARROW: -1
AXOLOTL: -1
BAT: -1
BEE: -1
BLAZE: -1
BOAT: -1
BOGGED: -1
BREEZE: -1
BREEZE_WIND_CHARGE: -1
CAMEL: -1
CAT: -1
CAVE_SPIDER: -1
CHEST_BOAT: -1
CHEST_MINECART: -1
CHICKEN: -1
COD: -1
COMMAND_BLOCK_MINECART: -1
COW: -1
CREEPER: -1
DOLPHIN: -1
DONKEY: -1
DRAGON_FIREBALL: -1
DROWNED: -1
EGG: -1
ELDER_GUARDIAN: -1
ENDER_DRAGON: -1
ENDER_PEARL: -1
ENDERMAN: -1
ENDERMITE: -1
EVOKER: -1
EVOKER_FANGS: -1
EXPERIENCE_BOTTLE: -1
EXPERIENCE_ORB: -1
EYE_OF_ENDER: -1
FIREWORK_ROCKET: -1
FOX: -1
FROG: -1
FURNACE_MINECART: -1
GHAST: -1
GIANT: -1
GLOW_SQUID: -1
GOAT: -1
GUARDIAN: -1
HOGLIN: -1
HOPPER_MINECART: -1
HORSE: -1
HUSK: -1
ILLUSIONER: -1
IRON_GOLEM: -1
ITEM: -1
OMINOUS_ITEM_SPAWNER: -1
FIREBALL: -1
LIGHTNING_BOLT: -1
LLAMA: -1
LLAMA_SPIT: -1
MAGMA_CUBE: -1
MOOSHROOM: -1
MULE: -1
OCELOT: -1
PANDA: -1
PARROT: -1
PHANTOM: -1
PIG: -1
PIGLIN: -1
PIGLIN_BRUTE: -1
PILLAGER: -1
POLAR_BEAR: -1
POTION: -1
PUFFERFISH: -1
RABBIT: -1
RAVAGER: -1
SALMON: -1
SHEEP: -1
SHULKER: -1
SHULKER_BULLET: -1
SILVERFISH: -1
SKELETON: -1
SKELETON_HORSE: -1
SLIME: -1
SMALL_FIREBALL: -1
SNIFFER: -1
SNOW_GOLEM: -1
SNOWBALL: -1
SPAWNER_MINECART: -1
SPECTRAL_ARROW: -1
SPIDER: -1
SQUID: -1
STRAY: -1
STRIDER: -1
TADPOLE: -1
TNT_MINECART: -1
TRADER_LLAMA: -1
TRIDENT: -1
TROPICAL_FISH: -1
TURTLE: -1
VEX: -1
VILLAGER: -1
VINDICATOR: -1
WANDERING_TRADER: -1
WARDEN: -1
WIND_CHARGE: -1
WITCH: -1
WITHER: -1
WITHER_SKELETON: -1
WITHER_SKULL: -1
WOLF: -1
ZOGLIN: -1
ZOMBIE: -1
ZOMBIE_HORSE: -1
ZOMBIE_VILLAGER: -1
ZOMBIFIED_PIGLIN: -1
FISHING_BOBBER: -1
enable-cached-minecraft-to-bukkit-entitytype-convert: true #(35)!
dab: #(36)!
enabled: true
dont-enable-if-in-water: false #(37)!
start-distance: 12 #(38)! # Recommended: 8
max-tick-freq: 20 #(39)!
activation-dist-mod: 8 #(40)!
blacklisted-entities: [] #(41)!
dont-save-entity:
dont-save-primed-tnt: false #(42)!
dont-save-falling-block: false #(43)!
###########
# FIXES #
###########
fixes: #(44)!
dont-place-player-if-server-full: false #(45)!
##############
# GAMEPLAY #
##############
gameplay-mechanisms: #(46)!
use-spigot-item-merging-mechanism: true #(47)!
# **Experimental feature, report any bugs you encounter!**
smooth-teleport: false #(48)!
# Don't touch this unless you know what you are doing!
max-item-stack-count: #(49)!
max-dropped-items-stack-count: 0 #(50)!
max-container-destroy-count: 0 #(51)!
knockback: #(52)!
snowball-knockback-players: false #(53)!
egg-knockback-players: false #(54)!
can-player-knockback-zombie: true #(55)!
player:
disable-moved-wrongly-threshold: false #(56)!
max-use-item-distance: 1.0000001 #(57)!
#############
# NETWORK #
#############
network: #(58)!
protocol-support: #(59)!
jade-protocol: false #(60)!
appleskin-protocol: false #(61)!
asteorbar-protocol: false #(62)!
chatimage-protocol: false #(63)!
xaero-map-protocol: false #(64)!
xaero-map-server-id: 513317 #(65)!
syncmatica-protocol: false #(66)!
syncmatica-quota: false #(67)!
syncmatica-quota-limit: 40000000 #(68)!
chat-message-signature: true #(69)!
##########
# MISC #
##########
misc: #(70)!
message:
unknown-command: <red><lang:command.unknown.command><newline><detail> #(71)!
rebrand:
server-mod-name: Leaf #(72)!
server-gui-name: Leaf Console #(73)!
sentry: #(74)!
# Obtain DSN key from https://sentry.io/
dsn: '' #(75)!
log-level: WARN #(76)!
only-log-thrown: true #(77)!
secure-seed: #(78)!
enabled: false
remove-vanilla-username-check: true #(79)!
remove-spigot-check-bungee-config: true #(80)!
remove-change-non-editable-sign-warning: false #(81)!
region-format-settings: #(82)!
region-format: MCA #(83)!
linear-compress-level: 1 #(84)!
throw-on-unknown-extension-detected: false #(85)!
flush-interval-seconds: 5 #(86)!
lag-compensation: #(87)!
enabled: false
enable-for-water: false #(88)!
enable-for-lava: false #(89)!
including-5s-in-get-tps: true #(90)!
# NOTICE: You must know what you're filling in and how it works! It handles all item stacks!
hidden-item-components: [] #(91)!
connection-message: #(92)!
join:
enabled: true
message: default #(93)!
quit:
enabled: true
message: default #(94)!
cache:
cache-player-profile-result: true #(95)!
cache-player-profile-result-timeout: 1440 #(96)!
- This section contains asynchronous features intended to reduce the load on the main thread (Server Thread) by processing tasks asynchronously.
-
Make entity tracking asynchronously, can improve performance significantly, especially in some massive entities in small area situations.
Recommended value:true
(setenabled
below to true)Attention
If you installed plugins like Citizens, which uses real, and player type entity as "NPC", also read
async-entity-tracker.compat-mode
below for more infomration. -
Enable compat mode to be compatible with plugins like Citizens or NPC plugins that use real, and player-type entity.
Iftrue
, visibility issue that player-type NPCs may disappear sometimes can be fixed.
You should enablecompat-mode
to use async entity tracker feature ONLY IF you installed Citizens or any other kind of real entity NPC plugins.
But we still recommend to use packet-based / virtual entity NPC plugin to gain better performance, e.g. ZNPC Plus, Adyeshach, Fancy NPC, or else, and thencompat-mode
can be disabled. - Maximum number of threads for async entity tracker to use.
If the value is set to0
, it automatically uses 1/4 of the number of CPU cores and no less than 1.
Recommended value: 1/2 of CPU cores - Thread keepalive time, threads with no tasks will be terminated if they exceed the time.
(Unit: seconds) -
Make PlayerData saving asynchronously.
Warning
Experimental feature, may cause data lost in some circumstances!
-
Make mob pathfinding calculation asynchronously.
Recommended value:true
(setenabled
below to true) - Maximum number of threads for async entity pathfinding to use.
If the value is set to0
, it automatically uses 1/4 of the number of CPU cores and no less than 1.
Recommended value: 1/3 of CPU cores - Thread keepalive time, threads with no tasks will be terminated if they exceed the time.
(Unit: seconds) - Whether asynchronous mob spawning should be enabled.
On servers with many entities, this can improve performance by up to 15%. You must have Paper'sper-player-mob-spawns
config set totrue
for this to work.
One quick note: this does not actually spawn mobs async (that would be very unsafe). This just offloads some expensive calculations that are required for mob spawning.
Recommended value:true
- Whether asynchronous locator should be enabled.
This offloads structure locating to other threads.
Currently available for:/locate
command- Dolphin treasure finding
- Eye of ender stronghold finding
Recommended value:true
(setenabled
below to true)
- Maximum number of threads for async locator to use.
If a value ≤0
is given, it automatically uses 1 thread.
Recommended value:1
or2
-
Thread keepalive time, threads with no tasks will be terminated if they exceed the time.
(Unit: seconds) -
This section contains performance tuning intended to reduce unnecessary calculations or use more efficient methods to optimize the server.
- Whether to use the Virtual Thread introduced in JDK 21 for Async Chat Executor.
Recommended value:true
- Whether to use the Virtual Thread introduced in JDK 21 for CraftAsyncScheduler, which could improve performance of plugin that uses async scheduler.
Recommended value:true
- Whether to create the snapshot of TileEntity / BlockState when retrieving them.
Some plugins may usegetHolder
to get the holder for an inventory, which involved getting the BlockState.
For example, if there are tons of hoppers and plugins call this method when listening to some events (e.g. hopper related events). It is very expensive to re-create BlockState and parse item stack in massive and frequent calls.
See Paper's API-to-get-a-BlockState-without-a-snapshot.patch#L6 for more information.- If
true
, it will create snapshot (copy) of BlockState everytime when the plugin call related methods. - If
false
, it will get real BlockState itself when plugins call related methods, unless the plugin defines to use snapshot.
Recommended value:false
(Only if you encounter specific lag described above)
- If
-
Throttles the AI goal selector calculation in entity's inactive tick to every second. This can improve performance by a few percent, but has minor gameplay implications.
Recommended value:true
Values for goals Optimization true
Vanilla behavior false
-
Whether to throttle attempts on moving items for hopper if the target container is full.
Recommended value:true
(setenabled
below to true)Values for goals Optimization true
Vanilla behavior false
-
How many ticks to wait before the next move item attempt when the hopper is throttled.
If a value ≤0
is given, this throttling feature is disabled.
Recommended value:8
Values for goals Optimization 8
Vanilla behavior 0
-
Whether to skip map item data update if the map doesn't have a renderer.
This can improve performance if using image map kind of plugins.
Recommended value:true
Values for goals Optimization true
Vanilla behavior false
Attention
This may cause vanilla map item data to stop be updated.
-
Whether to skip AI ticks if the mob is inactive and unaware. Unaware mobs are nerd and will not make actions themselves or when interacted with them.
Recommended value:true
Values for goals Optimization true
Vanilla behavior false
-
This section is for the useless packet reducing features.
- Whether to reduce the useless entity movement packets sent to players.
Recommended value:true
- Whether to use optimized powered rails. Uses fully rewritten version of powered rail iteration logic, can achieve 4x faster performance.
Recommended value:true
-
Whether to optimize minecart ticking. By skipping tick collisions to reduce expensive
getEntities()
calls and bukkit event calls.
This can handle a large amount of stacked minecarts better which is useful for Anarchy servers.
Recommended value:true
Values for goals Optimization true
Vanilla behavior false
-
How many ticks to skip before checking for the next minecart collisions.
Recommended value:30
-
Whether to use faster task sequencing for generating structures.
Attention
This may cause the inconsistent order of future compose tasks.
-
Whether to use the faster random generator.
Random is used almost everywhere in Minecraft, enable this can get a decent performance improvement.
Recommended value:true
(setenabled
below to true)Attention
Requires a JVM that supports
RandomGenerator
and the LXM generators. Some JREs don't support this and will cause a crash. -
Which random generator will be used?
Available random generators can be found in Random Number Generators in Java.
Recommended value:Xoroshiro128PlusPlus
-
Whether to use the faster random generator for world generation.
- If
true
,Random
calls involved in world generation will use faster random generator you chose inrandom-generator
above. The world generation will be slightly different from vanilla. - If
false
,Random
calls involved in world generation will use legacy random generator of vanilla.
Recommended value:true
Values for goals Optimization true
Vanilla behavior false
- If
-
Whether server prints a warning message on startup if you are using faster random generator for slime chunk generation.
-
Whether to use legacy random source for slime chunk generation to follow the vanilla behavior.
If your server has existing slime farms or related facilities need slime chunk, enable this, otherwise the location of slime chunk will offset.
Recommended value: (Depends on your server type, seeValues for goals
below for more.)Values for goals Optimization false
Vanilla behavior true
-
These values, in ticks, define an entity's maximum lifespan (i.e. Entity TTL).
If an entity is in this list, and it has survived for longer than that number of ticks, then it will be removed. đ
If a value-1
is given, the Entity TTL check will disable for specific entity.
Recommended values:Entity Value SNOWBALL 200 LLAMA_SPIT 150 DRAGON_FIREBALL 150 EGG 300 FIREBALL 600 SMALL_FIREBALL 400 WIND_CHARGE 200 BREEZE_WIND_CHARGE 200 WITHER_SKULL 200 đ = In here, the time that the entity survived means the total living time of entity, and will not be reset by chunk unloading or loading.
-
Whether to cache the result of Minecraft EntityType to Bukkit EntityType conversion. It can get a tiny improvement.
Recommended value:true
-
Dynamic Activation of Brain, optimizes entity's brain to decrease the frequency of their brain ticking when they are far away from players.
Recommended value:true
(setenabled
below to true)Values for goals Optimization true
Vanilla behavior false
(or seedab.blacklisted-entities
below for more) -
Whether non-aquatic entities in the water will not be affected by DAB.
Iftrue
, this could fix entities suffocate in the water if they are far from the player. This fixed Pufferfish's issue#58.
Recommended value:true
- This value determines how far away an entity has to be from the player to start being affected by DAB.
Recommended value:8
- This value defines how often in ticks, the furthest entity will get their pathfinders and behaviors ticked (Note: 20 ticks = 1s).
- This value defines how much distance modifies an entity's tick frequency.
freq = (distanceToPlayer^2) / (2^value)
.- If you want entities further away to tick less often, use
7
. - If you want entities further away to tick more often, try
9
.
Recommended value:7
- If you want entities further away to tick less often, use
-
A list of entities that will not be affected by DAB.
Some survival servers have mob farms which need mobs to have a target. This kind of "pathfinding" mob farm may break by DAB. This situation can be solved by adding specific mob of mob farm into this DAB blacklist.
If some specific mob farms are broken in your server, mobs freeze and don't move, and you are not sure whether it is caused by DAB. You can try to add them into this blacklist to see if it fixes the issue.
Format:[VILLAGER]
or[VILLAGER, ZOMBIFIED_PIGLIN]
(You can find all entity types in Paper's Javadoc).Want to Go Deeper?
For the format of
or And if you need to add multiple entities into blacklist, these formats below are allowed: or If you are not sure, use YAML Checker, or any online YAML syntax validator to check your config.dab.blacklisted-entities
, it accepts all valid format of a YAML list.
If you only need to add one entity into blacklist, these formats below are allowed: -
Disable save primed tnt on chunk unloads.
It can prevent machines from being exploded by TNT when the player accidentally disconnected or chunk unloads when the player is far away. Useful for survival servers which have machines involved TNT.
Recommended value:true
-
Disable save falling block on chunk unloads.
Recommended value:true
-
This section contains bugfixes for specific issues.
-
Whether to disallow player join a server if the server is full.
Iftrue
, you should give playerpurpur.joinfullserver
permission instead of usingPlayerLoginEvent#allow
to enable player to join a full server. -
This section contains the features that modify the game mechanics.
- Whether to use Spigot's dropped item merging mechanism.
-
Whether to make a "smooth teleport" when players change dimension.
This requires original world and target world that have the same logical height to work.Warning
Experimental feature, report any bugs you encounter!
-
Configurable max stack size of dropped item.
Warning
We do not recommended to use this feature. It is working in progress and has known issues.
This feature also maybe remove in the future. Do not touch this unless you know what you are doing! -
Maximum number of dropped items to stack.
- Maximum count of items to drop when container is destroyed.
- This section contains options to adjust knockback related behaviors.
- Whether the snowball can knockback players.
- Whether the egg can knockback players.
- Whether the player can knockback zombies.
- Whether to disable the Spigot built-in moved too quickly / wrongly checks for players and vehicles.
Iftrue
, players can move or use vehicles to move with abnormal speed.
Recommended value:true
-
The max distance that the player is allowed to interact with an item.
Some Anarchy servers or similar type of servers may allow players to use hacks / cheats. If you want players able to use crystal related modules that are packet-based (e.g. CEV Breaker, BedAura), you may need to adjust this value.
It's better to set value to10.0000001
, to allow using related hack modules.
If a value-1
is given, the check of max allowed distance to use an item will be disabled.
Recommended value:10.0000001
(For anarchy server)Attention
If set to
-1
, players are able to use some packet modules of hack clients, and also Nocom Exploit! -
This section contains features for server networking related.
-
This section contains features that provide extra protocol support for some QoL / Utility mods.
The extra protocol support is only functional if there is corresponding client-side mod installed. It means if a specific protocol support is enabled, and a player installed that mod on client, they can get the additional features described in each config below. But for players who have no corresponding mod installed, then everything is the same as before.Attention
The protocol support may cause incompatibility with the ViaVersion.
We recommend players to use client that has same version with the server core and install latest corresponding mod, otherwise they may unable to join the server. -
Whether to enable Jade protocol support.
Iftrue
, player who has Jade mod installed, can display item information inside the storage container, progress of furnace, brewing stand, foods on the campfire, bee data in beehive, and more vanilla-friendly features. - Whether to enable AppleSkin protocol support.
Iftrue
, player who has AppleSkin mod installed, can display the accurate saturation / exhaustion values on the client. - Whether to enable AsteorBar protocol support.
Iftrue
, player who has AsteorBar mod installed, can display the accurate saturation / exhaustion values on the client. - Whether to enable ChatImage protocol support.
Iftrue
, player who has ChatImage mod installed, can see the image sent by others using CICode format. - Whether to enable XaeroMap protocol support.
Iftrue
, player who has Xaero's MiniMap mod or Xaero's WorldMap mod installed, can store players' coordinate points and death points based on server'sprotocol-support.xaero-map-server-id
below, to prevent points from been deleted / refreshed if server name or IP address changed. - Numeric id for XaeroMap to identify the server. This will generate randomly on first start.
- Whether to enable Syncmatica protocol support.
Iftrue
, player who has Syncmatica mod installed, can upload their Litematica schematics files or download shared schematics files from the server. Every player with Syncmatica mod installed can access shared schematics uploaded by others. - Whether to enable maximum file size limit for each shared schematics file of Litematica mod.
- Maximum file size, in bytes, for each shared schematics file uploading to server. (40,000,000 bytes â 38 MB)
-
Whether to enable chat message signature which introduced since Minecraft 1.19.1.
Iffalse
, players' chat messages become unable to report, and the insecure warning popup when player joined the server will be disabled.
Recommended value:false
-
This section contains some miscellaneous features.
-
Unknown command message, will send to player if they execute an unknown command.
The message needs to use MiniMessage format.
If set message todefault
or leave the default value, the vanilla unknown command message will be used.
Available placeholders:<detail>
- the detailed information of the unknown command.
API / Plugin Friendly
This feature is API / plugin friendly. It means that this message can be overrided by plugins using
UnknownCommandEvent#message
orUnknownCommandEvent#setMessage
. -
Server brand name that shows in F3 menu and server MOTD.
- Server GUI window name, if you launched server without adding
--nogui
option in the startup flag. - Sentry is an application monitor service for improved error logging, tracing. Helping the server dev team to maintain better.
After enabled Sentry integration for your server, you don't need to audit long logs to find errors manually. Sentry can collect errors happened in your server, enable you to track errors on Sentry's web panel and help you to locate and fix them easier and faster.
See How to Setup Sentry to know how to set up and get the DSN key forsentry.dsn
below. - The DSN key of your Sentry.
If an empty value''
is given, the Sentry will be disabled. - Logs with a level higher than or equal to this level will be recorded.
- Only to log with a Throwable will be recorded after enabling this.
-
Whether to use secure seed.
All ores and structures are generated with 1024-bit seed instead of using 64-bit seed in vanilla, made seed cracker become impossible.
If used in the existing world, then the secure seed will only apply to new generating chunks.
Recommended value:true
(setenabled
below to true)Values for goals Optimization - Vanilla behavior false
-
Whether to remove vanilla's username check to allow all characters as username, including Chinese, etc. (It's only useful for offline servers).
Iftrue
, players are allowed to use non-English name to join the server. - Whether player can enter backend server via proxy, without the backend server to enable bungeecord mode in
spigot.yml
. -
Whether the server prints warning when players tried to edit the sign that they are not allowed to edit.
Enable this to prevent console spam in some cases.
Recommended value:true
-
Linear is a region file format that uses ZSTD compression instead of ZLIB in vanilla Minecraft. This format saves about ~50% of disk space.
To use Linear region format, make sure you Read Linear Documentation, and have done all steps required, then changeregion-format-settings.region-format
below toLINEAR
.Warning
Experimental feature, there is potential risk to lose chunk data. Backup your server before switching to Linear.
Also, we do not recommend using Linear, since vanilla's ANVIL format (.mca) is enough. Leaf uses the refactored version of the Linear flush system, which is safer but slower to save chunks to make data lost less possible. However this change is worth it, data is invaluable. -
Available region formats:
"MCA"
,"LINEAR"
. - The compression level for Linear region format file.
- Whether to throw error to crash the server when unknown region format extension is detected.
- The flush interval in seconds for Linear region format file data.
- Lag compensation, which could ensure the basic game experience for players when server is lagging or low TPS situation.
Recommended value:true
(setenabled
below to true) - Whether to enable lag compensation for water flowing.
Recommended value:true
- Whether to enable lag compensation for lava flowing.
Recommended value:true
-
Whether to include 5-second TPS in the result of API
Bukkit#getTPS
andServer#getTPS
.- If
true
, you can usegetTPS
method to get a TPS long array with 4 elements (5s, 1m, 5m, 15m
). - If
false
, you can usegetTPS
method to get a TPS long array with 3 elements (1m, 5m, 15m
).
Want to Go Deeper?
If you are using Gale API or Leaf API for your plugins. Or runinng on Leaf and use reflection to get TPS, you can use
Bukkit#getTPSIncluding5SecondAverage
, to get the TPS array including 5-seconds TPS (5s, 1m, 5m, 15m
).
Also, you can useBukkit#get5SecondTPSAverage
to get the average value of 5-seconds TPS indouble
. - If
-
Controls whether specified component information is sent to clients. This may break resource packs and client mods that rely on this information. It needs a component type list, incorrect things will not work.
For example, you can fill it with["custom_data"]
to hide components of CUSTOM_DATA. Also, it can avoid some frequent client animations.Attention
You must know what you're filling in and how it works! It handles all item stacks!
-
Connection message, broadcasts to all online players, when they join or quit the server.
The message needs to use MiniMessage format.
If set message todefault
or leave the default value, the vanilla join / quit message will be used.
Available placeholders:%player_name%
- player name.%player_displayname%
- player display name.
API / Plugin Friendly
This feature is API / plugin friendly. It means that the connection message can be overrided by plugins using
PlayerJoinEvent
orPlayerQuitEvent
. -
The join message of the player.
- The quit message of the player.
- Whether to cache the player profile result when they joined server.
It's useful if Mojang's authentication server is down. - The timeout of the player profile cache.
(Unit: minutes)
If the given timeout is exceeded, it will send another request to Mojang's authentication server to get profile data on player's next join.