Raids
Lives, the core's health, kills, what a raid opens, siege windows, the offline shield, raid states and announcements, with every raids key.
Raids give every protection a number of lives. Enemies take them by hitting the core and by killing members inside. A protection with no lives left is raidable for a while: enemies may break, place and open containers in it, and anybody may walk in. When the raid ends the protection gets some lives back and a cooldown during which it cannot lose any.
Raids are off by default: they change how the whole server plays. Turn them on with submodules.raids in
config.yml; every key on this page sits under raids in that file. Lives, raids and cooldowns are stored
with the protection, so they are the same on every server of a network.
Who counts as an enemy
A player is an enemy of a protection unless they are:
- the owner,
- a member, including through a clan added to it, and a tenant renting the whole protection,
- a clan ally of the owner, while
allies-are-friendsistrue(the default) and a clan plugin is installed.
Only enemies damage a core, take lives through kills and get the raid permissions. Anybody else breaking
the core is refused as usual. The owner breaking it, or a player holding exyliaprotections.admin, is
asked whether to pick it up, as always.
Lives
| Key | Default | What it does |
|---|---|---|
tier-lives | small: 3, medium: 4, large: 5 | Lives per tier |
default-lives | 3 | Lives of a tier left out of tier-lives |
regen-minutes | 60 | Minutes for one life to grow back. 0 turns it off |
restore-price | 5000 | What buying one life back costs. 0 turns it off |
restore-currency | blank | Currency of that price. Blank is the default currency |
A protection's maximum is its tier's lives plus the bonus-lives of its level while upgrades are on (see
Land tools). It is never below 1. Lowering a tier's
lives in the config caps what protections already hold.
Growing back. One life grows back every regen-minutes, up to the maximum. The clock starts when the
first life is lost, not when the protection was made, and unfinished progress is kept: with 60 minutes a
life, a protection that lost two has one back after 60 minutes and both after 120. Nothing grows back while
it is raidable.
Buying one back. Any member clicks Lives in the protection's Defense section, confirms, and
pays restore-price in restore-currency for one life. It is refused while the protection is raidable or
already full, and allowed during the cooldown. When the write fails, the price is paid back.
The core's health
An enemy who breaks the core does not break it. The core takes damage instead, and loses a life when its health runs out.
| Key | Default | What it does |
|---|---|---|
core-health | 150 | Health per life |
tool-damage | NETHERITE_PICKAXE: 4, DIAMOND_PICKAXE: 3, IRON_PICKAXE: 2 | Damage per hit by the item in the main hand |
default-damage | 1 | Damage of a hit with anything else |
hit-cooldown-millis | 500 | A player's hits closer together than this are ignored, silently |
core-heal-seconds | 30 | Seconds without a hit before a damaged core is back to full health |
hit-sound | BLOCK_ANVIL_LAND|0.4|1.6 | The sound the attacker hears on each hit |
allow-hidden-core | false | Whether cores may be hidden while raids are on |
Every hit deals at least 1. At the defaults one life costs 150 hits with an empty hand, or 38 with a
netherite pickaxe. When health reaches 0 the protection loses a life and the core starts again at full
health. After each hit the attacker sees an action bar, raids.hit-actionbar in the messages file:
⚔ Core » %health%/%max_health% ┃ Lives » %lives%/%max_lives%, which also takes %name%.
The core's health is kept only in the memory of the protection's server. A restart heals it, which changes
little, because a core left alone for core-heal-seconds heals anyway.
Land protected by selection has no core, and a hidden core cannot be hit. Both lose lives only when members
are killed. With allow-hidden-core: false, hiding a core is refused while raids are on. Cores hidden
before raids were turned on stay hidden.
A hit is read from the break of the core block, and only when no plugin cancelled that break first. Under
the WORLDGUARD backend every protection is a WorldGuard region whose owner and members are the only ones
allowed to build, and WorldGuard cancels an outsider's break before this plugin sees it. As the code
stands, enemies cannot damage cores under that backend; lives are only taken through kills. See
Backends.
Kills
| Key | Default | What it does |
|---|---|---|
lives-per-kill | 1 | Lives an enemy takes by killing a member inside. 0 turns it off |
kill-cooldown-minutes | 10 | Minutes before killing the same member in the same protection takes a life again |
The victim must be the owner or a member, killed by an enemy player while standing inside that protection. The offline shield never applies to a kill, since the victim was online. A raid already running, the cooldown and closed siege windows still do. A kill that takes nothing is not told to the killer.
When lives cannot be taken
A hit takes nothing, and the attacker is told why, when:
- raids are off,
- the protection is already raidable,
- it is in the cooldown after a raid,
- siege windows are on and none is open,
- the offline shield is up.
The attacker sees these refusals at most once every two seconds.
The raid
Taking the last life starts the raid.
| Key | Default | What it does |
|---|---|---|
raidable-minutes | 30 | How long the raid lasts |
raidable-permissions | break, place, containers, doors, redstone, buckets | What enemies may do inside. Any role permission key |
explosions-while-raidable | false | Whether explosions break blocks even with the protection's explosions flag off |
lives-after-raid | 1 | Lives it has once the raid ends. Kept between 1 and the maximum |
cooldown-minutes | 120 | Minutes after the raid during which it cannot lose lives |
While it lasts:
- Every player online on that server with raid announcements on is told that
%raider%raided%name%, and for how many minutes it is open. - Enemies have
raidable-permissionsinside, whatever the roles say. Members keep their own rights. - Anybody may enter, whatever the lock or the bans say.
- Everybody standing inside sees a boss bar,
raids.raidable-barin the messages file:⚔ %name% is raidable » %time_left% ⌚, red, draining as time runs out. It also takes%owner%and%raider%. - The protection cannot be picked up, moved, deleted, listed for sale, given away, offered for rent, upgraded or merged. A sale already listed is cancelled and the seller told.
- Member perks stop, its public warp is refused or hidden, and new rents are refused.
- On BlueMap and Dynmap it is drawn in the
raidablecolour at the next redraw.
The same refusal of pickup, move, delete, sale, gift, rent offer, upgrade and merge applies while the core is damaged and not yet healed.
The server ends raids once a second. When time runs out the protection has lives-after-raid lives and
starts its cooldown. Short of the last life, each lost life is told to the attacker and to every defender
online on that server, and written to the protection's log.
While a protection is raidable its mirrored WorldGuard region lets everybody build and drops its entry
denial. That is wider than raidable-permissions, which this plugin enforces itself. The region goes back
to normal when the raid ends.
Siege windows
With windows on, lives can only be lost at the times you choose.
| Key | Default | What it does |
|---|---|---|
siege-windows.enabled | false | Whether lives can only be lost inside a window |
siege-windows.timezone | blank | Time zone the windows are read in, like Europe/Madrid. Blank or unknown is the server's |
siege-windows.windows | SATURDAY 18:00-22:00, SUNDAY 18:00-22:00 | The windows |
raids:
siege-windows:
enabled: true
timezone: "Europe/Madrid"
windows:
- "SATURDAY 18:00-22:00"
- "FRIDAY 23:00-02:00"
- "DAILY 12:00-12:30"A window is a day in English (MONDAY to SUNDAY), or DAILY for every day, a space, then
HH:MM-HH:MM. The start is inside the window and the end is not. A window that ends before it starts runs
past midnight into the next day: FRIDAY 23:00-02:00 is open on Saturday at 01:30. Lines that cannot be
read are skipped.
When a window opens or closes, every player online with raid announcements on is told. A raid that started
inside a window runs its full raidable-minutes, even past the window's end. With
effects.no-flight-during-siege on, member flight stops while a window is open (see
Land tools).
The offline shield
The shield stops a core from being hit while nobody who defends the protection is online.
| Key | Default | What it does |
|---|---|---|
offline-shield.enabled | true | Whether the shield is used |
offline-shield.grace-minutes | 10 | Minutes after the last defender leaves this server before the shield goes up |
offline-shield.clan-members-count | false | Whether members of a clan added to the protection count as defenders |
The defenders are the owner and the player members, plus the members of added clans when
clan-members-count is on. A defender online on the protection's server, or one who left it less than
grace-minutes ago, keeps the shield down.
On a network the other servers are asked next, about the first 32 defenders. If none of them is online anywhere, the shield is up. If the answer does not come, the shield stays up and the land stays protected. The grace only counts players who left this server.
The shield blocks hits on the core only, never kills.
Raid states
The Lives button, the Defense section and %exyliaprotections_protections_raid_state% show one of
five states, checked in this order:
| State | Shown as | When |
|---|---|---|
| Raidable | Raidable | A raid is running |
| Cooling down | Cooling down | In the cooldown after a raid |
| Shielded | Shielded | Every defender is offline, as far as this server can tell without asking the network |
| Under siege | Under siege | Siege windows on and one open. With windows off, while the core is damaged |
| Safe | Safe | Anything else |
With raids off the Defense section reads Off. The Lives button also shows the core's health, the time left
of a raid or cooldown, and the restore price. The labels are state-safe, state-shielded, state-siege,
state-raidable and state-cooldown in the messages file.
Announcements
Raids, siege windows opening and closing, and protections abandoned by upkeep with upkeep.announce on, are
sent to every player online on the server where they happen, and to its console. There is no network-wide
announcement.
With ExyliaSurvivalCore installed, each player
can mute them in /settings with the Raid announcements switch, the raid-announcements setting. The
service is looked up on every announcement, so it applies as soon as the survival core is enabled. Without
the survival core, or for a player it has no record of, everybody receives them.
The survival core also gets statistics from raids: protections.raids for the raider who took the last
life, and protections.lives_lost for the owner of the protection that lost them.
Placeholders
These read the protection the player stands in. They are blank outside one and while raids are off.
| Placeholder | What it returns |
|---|---|
%exyliaprotections_protections_lives% | Lives left |
%exyliaprotections_protections_max_lives% | Lives at most |
%exyliaprotections_protections_raid_state% | The state label above |
Admin
Admins set a protection's lives (ending any raid and cooldown) or clear its raid for every life back from
the admin screen, and the tier editor writes a tier's tier-lives. See
Administration.
All keys
submodules:
raids: false
raids:
tier-lives:
small: 3
medium: 4
large: 5
default-lives: 3
core-health: 150
tool-damage:
NETHERITE_PICKAXE: 4
DIAMOND_PICKAXE: 3
IRON_PICKAXE: 2
default-damage: 1
hit-cooldown-millis: 500
core-heal-seconds: 30
hit-sound: "BLOCK_ANVIL_LAND|0.4|1.6"
lives-per-kill: 1
kill-cooldown-minutes: 10
allies-are-friends: true
raidable-minutes: 30
lives-after-raid: 1
cooldown-minutes: 120
raidable-permissions: [break, place, containers, doors, redstone, buckets]
explosions-while-raidable: false
regen-minutes: 60
restore-price: 5000
restore-currency: ""
allow-hidden-core: false
siege-windows:
enabled: false
timezone: ""
windows:
- "SATURDAY 18:00-22:00"
- "SUNDAY 18:00-22:00"
offline-shield:
enabled: true
grace-minutes: 10
clan-members-count: falseThe hit action bar and the raidable boss bar are raids.hit-actionbar and raids.raidable-bar in
lang/<language>/messages.yml; files from before version 5 of config.yml had them in the config and are
moved over on the first start.
Something missing on this page? Tell us on Discord