Skip to content

Configuration

Version: 2.0.1

The graveyard is configured in mods/kyuubisoft_graveyard/config/graveyard.json. The file is created with the built-in defaults on the first start. On every later start, options added by a newer version are written into it; the values you set are kept.

The __comment_... entries in the file explain some options and have no effect.


/ksgraveyard reload reads graveyard.json, the files in custom-items/ and the language files again. Most options apply at once, with these exceptions:

ChangeTakes effect
protectionTimerSeconds, gravestoneLifetimeSecondsAfter reload, for new gravestones. Existing gravestones keep the times they got when they were created
itemLoss, captureModeAfter reload, for the next deaths
enableParticlesRestart
databaseRestart
Images in images/Restart
New or changed custom designsTwo restarts, see Custom Designs

OptionTypeDefaultMeaning
protectionTimerSecondsInteger300Seconds a new gravestone can only be looted by its owner. 0 or less = no protection
gravestoneLifetimeSecondsInteger-1Seconds until a gravestone disappears with its contents. 0 or less = never
lifetimeWarningBeforeSecondsInteger60When this many seconds are left, the online owner is warned in chat
maxGravestonesPerPlayerInteger5Gravestones a player can have. When a player with this many gravestones dies, the oldest one is removed with its contents first. 0 or less = no limit
  • Protection and lifetime are counted in real time from the moment of death, also while the server is offline.
  • Expired gravestones are removed by a check that runs every 10 seconds; the chunk is loaded for that if needed. The owner gets “Your gravestone at X, Z has expired!” when online.
  • The lifetime warning (“Your gravestone at X, Z expires in 42s!”) is sent at every 10-second check inside the warning time, so the owner gets it several times.
  • When the limit removes the oldest gravestone, the owner gets “Your oldest gravestone was deleted (limit reached).”

OptionTypeDefaultMeaning
captureModeString"DROPPED_ONLY"What goes into a gravestone. DROPPED_ONLY = the items the world’s death settings would drop. ALL_ITEMS = the whole inventory, in worlds that drop items on death
showWorldMapMarkerBooleantrueShows each player their own gravestones on the world map. false hides the markers
  • ALL_ITEMS changes worlds that drop a share of the items on death: the whole inventory goes into the gravestone there, also armor and weapons that would otherwise stay with the player. Worlds that drop everything put everything in anyway, and worlds that keep the inventory still create no gravestone. Upper and lower case do not matter; any other value counts as DROPPED_ONLY.
  • In both modes, items that KyuubiSoft Item Control marks as soulbound or drop-protected stay with the player. When Item Control (or another mod) has already chosen the items that drop, exactly those go into the gravestone.
  • The Statistics tab shows the mode under “What goes into the gravestone”.
  • showWorldMapMarker applies with /ksgraveyard reload.

Options without effect

OptionDefaultNote
showPlayerNametrueThere is no name tag above gravestones. The __comment_name line in the file says so
spawnAtSafePositiontrueGravestones are always placed at the death position (moved to the ground or the nearest free spot). The __comment_safe line in the file says so

TypeDefault
List of strings[]

No gravestone is created when a player dies in a listed world. The death is left to the game: items drop the normal way.

Entries are case-insensitive and support two wildcards:

  • * matches any number of characters (also none)
  • ? matches exactly one character
"excludedWorlds": [
"lobby",
"pvp_*",
"dungeon_?_instance"
]
PatternMatchesDoes not match
lobbylobby, Lobbylobby_1, main_lobby
pvp_*pvp_arena, pvp_1v1, pvp_arena_pvp, pv_team
dungeon_?_instancedungeon_1_instance, dungeon_a_instancedungeon_12_instance, dungeon__instance

Gravestones that already stand in a world you exclude later are not touched: they can still be looted and still expire. Remove them with /ksgraveyard admin_clear or admin_remove if you want them gone.


TypeDefault
Booleanfalse
  • false: the new grave window (owner’s head, contents with rarity rings, Loot all / Loot / memorial view), see UI Pages.
  • true: the old stone gravestone window from version 1.x with the images from images/, see Images.

A design decides which block a player’s next gravestone uses.

OptionTypeDefaultMeaning
defaultDesignString"default"Design used when a player’s selected design no longer exists. New players always start with the design default
gravestoneBlockIdString"Furniture_KS_Gravestone"Item shown as icon in the menu when the block of a gravestone’s design no longer exists
designsMapone entry, defaultAll designs. The key is the design ID used by design_give

The built-in entry:

"designs": {
"default": {
"displayName": "Simple Tombstone",
"blockId": "Furniture_KS_Gravestone",
"premium": false,
"price": 0,
"currency": "coins"
}
}
FieldTypeMeaning
displayNameStringName in the menu
blockIdStringItem ID of the block that is placed as gravestone
premiumBooleanfalse = free for every player
priceIntegerWith premium: true: price in the shop. 0 = cannot be bought, only admins can unlock it (“Locked”)
currencyStringOnly used for the graveyard-only currency (see Purchases); ignored when prices are paid with the server economy
  • The default design is added again on every start if it is missing.
  • Designs from custom-items/ are added to this map automatically and updated from their JSON file on every start. Change them in the JSON file, not here. See Custom Designs.
  • Only the built-in block Furniture_KS_Gravestone and the blocks of custom designs open the grave window with F. When a design’s block cannot open it (a blockId of another mod or a vanilla block, or a custom design before the restart that loads its block), the gravestone gets Furniture_KS_Gravestone instead and the log says so. Use Custom Designs for new looks.
  • Gravestones placed with such a block by older versions cannot be opened; remove them with /ksgraveyard admin_remove <id>.
  • Changing a player’s design only affects gravestones created afterwards.

OptionTypeDefaultMeaning
enableParticlesBooleantrueParticles above gravestones, the Particles tab and the commands particle_give / particle_revoke. Needs a restart
particlesMapfour presetsAll particle presets. The key is the particle ID

The built-in presets:

IDdisplayNamesystemIdcolorPrice
noneNo Particlesnonenonefree
golden_glowGolden GlowBlock_Top_Glow#ffd700300
ghost_smokeGhost SmokeTotem_Heal_AoE#44ff88500
arcane_pulseArcane PulseDrop_Legendary#8844ff750
"golden_glow": {
"displayName": "Golden Glow",
"systemId": "Block_Top_Glow",
"color": "#ffd700",
"scale": 1.0,
"premium": true,
"price": 300,
"currency": "coins"
}
FieldTypeMeaning
displayNameStringName in the menu
systemIdStringHytale particle system. Leave it out for “no effect”
colorStringColour #rrggbb that tints the effect. The menu shows the closest of a few fixed swatch colours
scaleNumberSize of the effect, 1.0 = normal. Only used when color is set
premium, price, currencySame as for designs
  • The four presets are added again on every start if they are missing. To take one out of sale, set "premium": true and "price": 0; then only admins can unlock it.
  • Particles are spawned every 3 seconds above every gravestone whose owner has chosen particles, in every world with gravestones, for players within 64 blocks. They follow the owner’s current choice, also for gravestones that already stand.

Some vanilla particle systems that can be used as systemId: Block_Top_Glow, Totem_Heal_AoE, Drop_Legendary, Drop_Epic, Drop_Rare, Drop_Uncommon, Dust_Sparkles_Fine, Fire_Charged1, Block_Gem_Sparks.


OptionTypeDefaultMeaning
purchaseWithEconomyBooleantruePrices of designs and particles and the teleport cost are paid with the server economy
allowTeleportToGravestoneBooleanfalseShows a Teleport button for the selected gravestone in the menu (same world only)
teleportCostInteger0Price of one teleport. 0 (or less) = free
teleportCurrencyString"coins"Only used for the graveyard-only currency

How prices are paid

  • purchaseWithEconomy: true and an economy is installed: prices come off the player’s server balance. The economy is VaultUnlocked plus an economy plugin, reached through KyuubiSoft Core’s economy bridge when Core is installed and directly otherwise. Prices are shown in the economy’s format (for example “400 Gold”), and the menu header shows the balance.
  • purchaseWithEconomy: false, or no economy: prices are charged in a graveyard-only currency (“500 coins”). The plugin never hands this currency out, so players cannot buy anything; unlock premium designs and particles with design_give / particle_give, and keep teleportCost at 0.

Teleport

  • The button teleports the player one block above the selected gravestone.
  • It only works in the gravestone’s world; for gravestones in other worlds the button reads “Only in this world”.
  • Before anything is charged, the plugin checks that the gravestone still exists, that the player is in its world and that the player’s position is known. Then it charges teleportCost and teleports.

Destroys a share of the items that go into a gravestone. Off by default.

"itemLoss": {
"enabled": false,
"mode": "BLACKLIST",
"defaultLossPercent": 10,
"items": {
"Weapon_Sword_Iron": { "lossPercent": 25 },
"Ingredient_Bar_Gold": { "lossPercent": 0 }
}
}
FieldTypeDefaultMeaning
enabledBooleanfalseSwitches item loss on
modeString"BLACKLIST"BLACKLIST, WHITELIST or NONE (any other value = NONE)
defaultLossPercentInteger10Percentage for items that are not listed (only in BLACKLIST mode)
itemsMap{}Item ID to { "lossPercent": N }. The ID must match exactly
ModeWhat can be lost
BLACKLISTEvery item: listed items with their own percentage (0 = never), all others with defaultLossPercent
WHITELISTOnly listed items, with their own percentage
NONENothing
  • A stack of one item is lost with the given chance. From larger stacks the percentage is taken (rounded, at least one item); 100 removes the whole stack.
  • Item loss only applies to items that go into the gravestone. The lost items are gone; the player gets no message. In the statistics, “Items lost” counts every item a death took, the destroyed ones included.
  • Changes apply with /ksgraveyard reload, from the next death on.

OptionTypeDefaultMeaning
defaultLanguageString"en-US"Fallback for texts a player’s language does not have, and the language of the console-capable admin commands

The jar contains 9 languages: en-US, de-DE, es-ES, fr-FR, it-IT, pl-PL, pt-BR, ru-RU, tr-TR. Players see the language they picked with /kslang (or in the KS settings window of KyuubiSoft Core) if the server lets players choose, otherwise the server’s default player language if one is set, otherwise their client language matched to the closest bundled language (for example de-AT uses de-DE). The default player language and the “players may choose” switch are set in the Language tab of Core’s /ksadmin hub (Core 2.8.0 or newer) and apply to every KyuubiSoft mod. A text missing in that language is taken from defaultLanguage.

Changing single texts

  1. Create the folder mods/kyuubisoft_graveyard/i18n/.
  2. Add a file named after the language, for example en-US.json, with only the texts you want to change:
{
"graveyard.spawned": "Your items wait for you at {x}, {z}.",
"graveyard.loot2.kicker": "Rest in peace"
}
  1. Run /ksgraveyard reload.

Each key replaces the bundled text of the same key; all other texts stay. Keep the placeholders in braces ({x}, {name}, …). The keys are listed in the bundled i18n/en-US.json inside the jar.


"database": {
"type": "sqlite",
"sqlitePath": "graveyard.db",
"mysql": {
"host": "localhost",
"port": 3306,
"database": "hytale",
"username": "root",
"password": ""
}
}
FieldDefaultMeaning
type"sqlite""sqlite" or "mysql"
sqlitePath"graveyard.db"SQLite file, relative to mods/kyuubisoft_graveyard/
mysql.host, port, database, username, passwordsee aboveMySQL connection (also works with MariaDB). The database must exist; the tables gy_gravestones and gy_players are created automatically
  • Changes need a restart.
  • Switching between SQLite and MySQL does not copy existing data.
  • If the database cannot be opened at the start, the plugin disables itself until the next restart (see FAQ).

Only used with classicLootLook: true. The defaults are copied into mods/kyuubisoft_graveyard/images/ on the first start:

FileSizeUsed for
gravestone_bg.png350 x 497Background of the classic grave window
loot_all_button.png384 x 149The “Loot All” button (shown at half size, 192 x 74; the button text is part of the image)

Replace them with your own PNG files of the same size and restart the server. A deleted file is copied again from the jar on the next start.