Content generated with AI — it may contain mistakes.

Modules

Quality of life

The utility commands, /repair and its groups, join and leave messages, scheduled commands, and the preferences screen.

Player utilities

Nine commands, one node each, all under exyliasurvivalcore.playerutils.:

CommandAliasesNode
/heal—.heal
/feed—.feed
/fly—.fly
/hat—.hat
/craft/workbench, /wb.craft
/anvil—.anvil
/ec/enderchest.ec
/nightvision/nv.nightvision
/ping—.ping
SettingDefault
night-vision-amplifier0
heal-cooldown-seconds0
feed-cooldown-seconds0

Flight and night vision are remembered across sessions.

Repair

/repair hand repairs what the player is holding; /repair all repairs everything they carry. /fix and /reparar are aliases.

SettingDefault
default-hand-price75.0
default-hand-cooldown120
default-all-price200.0
default-all-cooldown120

modules/repair/groups.yml overrides those per permission group. It ships empty, with a commented vip example:

groups:
  vip:
    hand: { price: 2500.0, cooldown-seconds: 60 }
    all:  { price: 5000.0, cooldown-seconds: 60 }

A player in that group needs exyliasurvivalcore.repair.group.vip.

Groups resolve in file order, not by price

The first group in the file whose node the player holds is the one that applies. A player holding two groups gets whichever is written higher up, even if the other is cheaper. Write the best group first.

/repair hand <player> and /repair all <player> repair somebody else, with .repair.hand.others and .repair.all.others. /repair lock and /repair unlock protect an item from being repaired. exyliasurvivalcore.repair.bypass.price and .bypass.cooldown skip the two costs.

Bare /repair prints the command framework's usage line — there is no root form.

Join and leave

modules/join-leave/config.yml holds the default messages and the first-join message; groups.yml holds per-rank versions.

settings:
  counter-enabled: true
  hide-vanilla-messages: true
default-join:
  enabled: true
  chat: ""
  sound: ""
  commands: []
  actionbar: ""
  title: ""
default-quit: { … }
first-join:   { … }

%player% and %count% — the join counter — are available. Commands take a console: or player: prefix.

modules/join-leave/groups.yml
groups:
  vip:
    permission: survivalcore.joinleave.vip
    priority: 10
    join: { enabled: true, chat: "", sound: "", actionbar: "", title: "", … }
    quit: { … }

The highest priority group whose permission the player holds wins. Note that the shipped example names survivalcore.joinleave.vip — the short prefix — so grant it exactly as written or change the string.

Join and leave messages are one of the broadcasts a player can turn off in /settings.

Scheduled commands

Console commands and broadcasts on a timer.

modules/scheduled-commands/config.yml
sections:
  resource_drop:
    enabled: true
    interval: 1800
    commands:
      - "broadcast <#fbbf24>[Event] A resource drop is happening now!"
    broadcast: ""
  daily_bonus:
    enabled: false
    interval: 86400
    commands:
      - "eco give @a 50"
    broadcast: "<#4ade80>Pay day! Everyone gets <#fbbf24>1000 shards!"

interval is in seconds. broadcast is sent to everybody when the commands run; leave it empty to announce nothing. The file is written once, when it is missing: nothing you add is pruned, nothing you delete comes back, and a server that already has it keeps what it had.

The shipped `daily_bonus` announces more than it gives

Its command gives 50, and its broadcast says 1000 shards. The section ships disabled. Fix one of the two before turning it on.

Player settings

/settings — aliases /preferences and /options — is a screen every player owns. Twenty-one switches decide what reaches them.

SettingIdWhat it turns off
Death messagesdeath-messagesThe plugin's death broadcast
Join and leave messagesjoin-leave-messagesBoth directions
Rankup announcementsrankup-announcementsSomebody else ranking up
Kill announcementskill-announcementsKill streak milestones
Bounty announcementsbounty-announcementsBounties placed and claimed
Crate announcementscrate-announcementsCrate wins of a broadcasting tier
Purchase announcementspurchase-announcementsReclaim broadcasts
Duel announcementsduel-announcementsSomebody winning a duel room
Mission announcementsmission-announcementsSomebody finishing a weekly mission
Market announcementsmarket-announcementsThe market's broadcasts
Auction announcementsauction-announcementsThe auction house's broadcasts
Booster announcementsbooster-announcementsA global booster starting or ending
Vote announcementsvote-announcementsSomebody voting, and the vote party starting
Season announcementsseason-announcementsA season closing and who won it
Protection messagesprotection-messagesTitles and greetings walking into and out of protections
Raid announcementsraid-announcementsA protection raided, and siege windows opening and closing
TPA requeststpa-requestsWhether they receive requests at all
TPA auto-accepttpa-auto-acceptAccept without asking
TPA confirmtpa-confirmThe confirmation before sending one
Trade requeststrade-requestsWhether other players can ask them to trade
AutosellautosellWhether what they break is sold for them. It only does anything for a player holding exyliasurvivalcore.sellwands.autosell, and /autosell flips the same switch

The screen is a grid. The two upper rows are server announcements, protection messages and raid announcements sit in the row below them, and the bottom row is how other players reach you: the three TPA switches, trade requests and autosell. A switch that is on glows. There is no close button.

modules/player-settings/menus/settings.yml is yours to edit. Every switch is one item with the action survivalcore:settings_toggle <id>, and it can read %<id>_state% and %<id>_glow%, with the dashes of the id written as underscores. %<id>_glow% is true while the switch is on and its module is loaded. Removing an item removes the switch from the screen; the preference stays whatever the player last chose.

The file carries a menu-version, 4 in this release. Edits are kept across updates. When a release raises that number, the file is replaced and your previous one is kept next to it as settings.yml.v<old version>. A server upgrading from an older file gets the new grid, with the protection switches, this way.

Every setting is on by default, and only the exceptions are stored

The row stores the settings a player has turned off, so a preference added in a later release is on for everybody with no migration to run. The three TPA rows are the tpa module's own — they are not stored twice.

A setting whose module is off reads as unavailable and does nothing. The node for the command is exyliasurvivalcore.settings.

Something missing on this page? Tell us on Discord