COWMODSКаталог модов

Sour Graves

A simple, configurable grave plugin for 1.21+

Автор: irishgreencitrus2,2 тыс.3обновлён 22 авг. 2025 г.
ПриключенияМеханики игрыУтилиты

Описание

Sour Graves

  • Save your items from being deleted after a death!
  • Items are always saved no matter how you die!
  • Recover items by clicking on the grave
  • Graves become public (raidable) after a timer (5 mins by default)
  • Graves are deleleted with their items dropped on the ground after a timer (30 mins by default)

Default Configuration

#   irishgreencitrus' Sour Graves v2 config
#
#
##############################################
# COMMENTS MADE IN THIS FILE WILL BE DELETED #
##############################################
#
#
# Notable updates since v1:
# - Graves are now stored in `graves.db` instead of `graves.json`.
# - If you have an existing `graves.json`, they should be converted to the new format.
# - Postgres and MySQL are also supported as external databases.
#
# Everything in the plugin is completely configurable.
# If you mess up the file, you can delete it to reset it to the defaults.
#
# Some key notes:
#  - A player without any items in their inventory will not drop a grave.
#  - A player with keepInventory enabled will not drop a grave.
#  - The cleanup task is what actually deletes graves, as well as saves graves to disk.
#     It should not be ran too infrequently, as your graves will not be saved if the server crashes.
#     The default should probably be fine, but it can be raised or lowered as necessary.
## There is no need to edit this manually, it just tells the plugin whether to rewrite the config after it has been updated.
configVersion = 2
# After this many minutes, the grave will be accessible by all players.
# Set to `-1` to disable this.
publicInMinutes = 5
# After this many minutes, the grave will be deleted.
# Set to `-1` to disable this.
deleteInMinutes = 30
# The maximum number of graves a player can have.
# After this limit, a player's oldest grave will be deleted.
# Set to `-1` to disable this
maxGravesPerPlayer = 3
# Whether to prevent graves being created for PvP kills
disableForPvpKills = false
# Whether to drop the items of the oldest grave once a player has exceeded max graves
dropItemsOnTooManyGraves = true
# Whether to drop the items of a just-deleted grave. If false, the items just disappear
dropItemsOnGraveDeletion = true
# The particle to use for the grave recovery animation
recoverParticle = "SOUL"
# The number of particles to use in the grave recovery animation
recoverParticleAmount = 1000
# The sound to play on grave recovery
recoverSound = "minecraft:block.respawn_anchor.deplete"
# When should the first grave cleanup run, after the server has started
periodicCleanupDelayMinutes = 10
# How frequently the grave cleanup runs
periodicCleanupPeriodMinutes = 5
# Whether to send a player their grave coordinates once they respawn
notifyCoordsOnRespawn = false
# If this is `true`, the default Right-Click will now open an inventory.
# You can use Shift-Right-Click to restore the grave as normal.
allowChestLikeGraveAccess = false
# Swaps the behaviour of normal and shift clicking when `allowChestLikeGraveAccess` is `true`
chestAccessSwapNormalAndShift = false
# Whether to use legacy json-based file storage rather than the new SQLite database.
# I can't think of any reason to enable this, but the functionality remains, so the option also remains.
# Overrides any settings in [sql].
forceLegacyFileStorage = false
# A list of the worlds that graves will *not* spawn in.
# This will lead to the default behaviour i.e. dropping items.
# Example values: ['world_nether']
disabledWorlds = [  ]

# Changing the [sql] options require you to restart the server.
# NOTE: this only controls the supported SQL servers.
# SQLite storage is enabled by default and does not require any configuration.

[sql]
# Whether to enable connecting to a SQL server to store graves, instead of the JSON file.
# Useful for very large servers where a lot of graves are being created.
enable = false
# Supported SQL servers: MySQL and PostgreSQL
# Google 'jdbc connection URL' to find out what to put here
jdbcConnectionUri = "jdbc:postgres:admin@localhost/sourgraves"
username = "admin"
password = "changeme"
# Soft deletion will mean all grave data will stay in the database, and only ever be marked as deleted.
# This provides extra protection against item loss and allows complete recovery.
# Disabling this will not retroactively apply, and merely actually delete graves made after the change.
softDeletion = true
alreadyConvertedFromJson = true

[economy]
# Whether to enable the economy features of this plugin (Requires VaultUnlocked to be installed)
enable = false
# The cost to recover one of your own graves
graveRecoverCost = 1.0
# The cost either per grave or per item stack in the grave
graveRecoverPaymentType = "FLAT"
# The cost to rob someone else's grave
graveRobCost = 5.0
# The cost either per grave or per item stack in the grave
graveRobPaymentType = "FLAT"

# Change anything in here if you find the log messages too invasive.
# Most severe and warning messages cannot be disabled, by design.

[logMessages]
# Whether to enable the GitHub and Discord message on startup.
startupMessage = true
# Whether to log every time the cleanup task runs. Useful for debugging configuration.
# Not recommended to leave on for prolonged periods of time.
cleanupTask = false
# Whether to log if a grave hasn't stored its location. Can occur for graves created before v1.5.0.
# It is recommended to leave this enabled as it will only be printed once anyway.
graveMissingLocation = true
# Gives a warning if a grave that is about to be deleted has its chunk loaded but the armour stand (The player head) has been deleted.
# This could be a sign that another plugin is deleting armour stands.
armourStandNotFoundOnGravePurge = true
# Gives a warning on startup if you are still using legacy JSON storage and have more than 100 graves.
moreThan100GravesWarning = true

Permissions

sourgraves.admin.server:
  description: Allows you to use `/sourgraves disk` and `/sourgraves config`
  default: op
sourgraves.admin.settings:
  description: Allows you to use `/sourgraves settings`
  default: op
sourgraves.admin.give:
  description: Allows you use `/sourgraves give`
  default: op
sourgraves.player.graveaccess:
  description: A player with this permission can open any grave, regardless of whether it is public.
  default: false
sourgraves.player.permaprivate:
  description: A player with this permission will have a grave that never goes public.
  default: false
sourgraves.player.permagraves:
  description: A player with this permission will have a grave that never expires by itself. This doesn't affect other situations which delete a grave.
  default: false
sourgraves.utils.player:
  description: Allows you to use `/sourgraves player`
  default: op
sourgraves.utils.locateown:
  description: Allows you to use `/sourgraves locate`
  default: true

Found a bug, have questions or feature requests?

Join the Discord on the right hand side and drop me a message.

Последние версии

Все версии →
release

Sour Graves 2.4.0

2.4.0
22 авг. 2025 г.582Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper, purpur
Скачать
Что нового
- Fix give by grave uuid not working - Add `undelete` support, where you can restore a grave back when soft deletion is enabled - Move `/sourgraves config reload` to `/sourgraves reload` - Fix critical issue with 2.3.0 (sorry once again)
release

Sour Graves 2.2.0

2.2.0
31 июл. 2025 г.124Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper, purpur
Скачать
Что нового
Move at what point during death grave storage happens. It used to happen at `EventPriority.LOWEST` and this has been moved to `EventPriority.HIGH`. This allows other plugins to modify the inventory before a Grave is created.
release

Sour Graves 2.1.1

2.1.1
29 июл. 2025 г.63Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper, purpur
Скачать
Что нового
Fix bug where the plugin would crash if Vault was installed in place of VaultUnlocked.
release

Sour Graves 2.1.0

2.1.0
27 июл. 2025 г.54Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper, purpur
Скачать
Что нового
Add bStats metrics. https://bstats.org/plugin/bukkit/SourGraves/26681
release

Sour Graves 2.0.0

2.0.0
21 июл. 2025 г.78Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8paper, purpur
Скачать
Что нового
# Release 2.0.0 ## SQL support - Change grave storage format from JSON to SQLite. - Add automated conversion from legacy storage format to the new SQL based one. - Also add support for the Postgres and MySQL servers. - Support soft deletion for the SQL servers so that data is never lost, only marked as deleted. Legacy JSON storage can be re-enabled in the config. The plugin will disable itself to prevent data loss if the configuration is incorrect. ## Timers based on game time Grave expiry is now based on game time rather than the system clock. This means graves should be work better for servers that shutdown frequently. ## Improved log messages - Log messages can now be configured - Log messages are generally less frequent and less annoying - Severe log messages now appear for a reason. - The infamous message for graves which existed before `v1.4.0` only appear once per startup. ## More Permissions - A player with `sourgraves.player.permaprivate` will never have their grave accessible to others. - A player with `sourgraves.player.permagraves` will never have their grave expired and killed by the server, but it could still be killed by other means such as too many graves or the grave give command. ## More stable inventory saving The plugin now respects other plugins that change `keepInventory` during death. This is a thing you can do (e.g. custom totems), so the plugin now respects it. This prevents item duplication. ## Grave `give` command There is a new command available which is `/sourgraves give [options]`. At the moment there are 3 versions of the command: > Note: After this command is executed, the grave will be deleted from > storage to prevent duplication of items. ### `by_grave_uuid` ``` /sourgraves give by_grave_uuid <uuid> <give_to> ``` Give the grave found at `uuid` to the player `give_to` - The `uuid` can be found by looking through the database. - `give_to` is the player to give the contents of the grave to. ### `oldest` ``` /sourgraves give oldest <grave_owner> <give_to> ``` Give the oldest grave owned by `grave_owner` to `give_to`. - `grave_owner` is the player that owns the grave. - `give_to` is the player to give the contents of the grave to. ### `newest` ``` /sourgraves give newest <grave_owner> <give_to> ``` Give the newest grave owned by `grave_owner` to `give_to`. - `grave_owner` is the player that owns the grave. - `give_to` is the player to give the contents of the grave to. ## Chest-like Grave Access Enabling `allowChestLikeGraveAccess` will mean that clicking on a grave will cause it to open an inventory instead of restoring it directly. Shift-clicking will restore the grave as normal. The click and shift-click behaviour can be swapped using `chestAccessSwapNormalAndShift` ## Other Config Options - `disableForPvpKills` will mean that graves will not spawn for PvP kills, and the default Minecraft behaviour will occur. - `forceLegacyFileStorage` for re-enabling JSON storage. - `disabledWorlds` for disabling graves in a specific world.
release

Sour Graves 1.5.0

1.5.0
29 июн. 2025 г.140Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6paper, purpur
Скачать
Что нового
# Release 1.5.0 - Add basic economy support - Cache locations of unloaded graves, so locate command works properly on any grave - Add `graveaccess` permission - Remove extraneous messages relating to graves being valid
release

Sour Graves 1.4.0

1.4.0
25 июн. 2025 г.65Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6paper, purpur
Скачать
Что нового
# Release 1.4.0 Add an option to disable the `[SourGraves] Cleaned graves and written to disk` message. This is in the config as `logCleanupTaskRuns` and is now `false` by default.
release

Sour Graves 1.3.0

1.3.0
22 июн. 2025 г.60Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6paper, purpur
Скачать
Что нового
# Release 1.3.0 - Fix bug related to Bukkit not properly reporting the version of the plugin. - Fix items always being dropped even with the purge graves config being `false`. - Add some notes into the config file.
release

Sour Graves 1.2.0

1.2.0
20 июн. 2025 г.62Minecraft: 1.21.6paper, purpur
Скачать
Что нового
# Release 1.2.0 - Fix a bug related to permissions not working correctly which meant anyone could edit settings (oops) - Add `/sourgraves locate` which allows a player to locate their oldest, newest, nearest or furthest grave. - Add a setting to notify the player of their grave's coordinates when they respawn. - Make the permissions more granular
release

Sour Graves 1.2.0

1.2.0
20 июн. 2025 г.35Minecraft: 1.21.5paper, purpur
Скачать
Что нового
# Release 1.2.0 - Fix a bug related to permissions not working correctly which meant anyone could edit settings (oops) - Add `/sourgraves locate` which allows a player to locate their oldest, newest, nearest or furthest grave. - Add a setting to notify the player of their grave's coordinates when they respawn. - Make the permissions more granular