GravesX icon

GravesX -----

The definitive death chest plugin originally created by Ranull




Moved 2 necessary libraries from external sources to compiled with the plugin. This should prevent the errors on 1st install going forward.
----------, Dec 29, 2024

Fixed a null pointer when block returns null.
----------, Dec 18, 2024

Changes:
  • Added Projectiles being able to destroy graves (disabled by default)
  • Added GraveProjectileHitEvent (fires when a projectile destroys a grave. Can be cancelled.)
  • Developers can now use #getGraveFromBlockLocation(Location) to get a grave based on location. This will grab the block in that location.
  • Fixed a bug where other GUIs would appear with certain blocks that have their own GUIs
  • Fixed h2 connection string causing errors on some distributions
  • Developers can now stop NoteblockAPI sounds made by GravesX based on a user's UUID
  • Removed some sections in Graves Dump (these sections never functioned as intended and may be brought back later down the road)
  • Fixed a bug with resistance effect on older versions of Minecraft.
While there has been some complications getting GravesX to work as intended while going through the 4.9 codebase as well as JaySmether's changes, it is nice to know the community of people who have helped get GravesX where it is today through suggestions and bug reports. We shall see what 2025 brings ahead.
----------, Dec 18, 2024

Though we were aware that people took advantage of a long standing bug pertaining to keep inventory, for administrative usage, this is now fixed and due to the request of undoing this, I have decided to create a permission node to make this a feature instead so that those who don't want to deop themselves can make both parties happy.

Players will now be required to have the graves.keepinventory.bypass permission in order to get the old behavior back, which is false by default.
----------, Dec 1, 2024

This release fixes a bug with database options being case sensitive. This now allows the words to be case insensitive, so that means if its all in lowercase, it will still accept it. Thanks .divideconquer for reporting the bug.
----------, Nov 29, 2024

Libraries for Databases will not load if not required (this prevents large disk usage and useless library pulls if a database option isn't being used)

This was a long standing issue that was never address and would like to clear the auth dependency issue brought up. This is required for the MariaDB library and only for the MariaDB library. The auth allows MariaDB being hosted on Amazon RDS to work with no issues. Link to the library is here.
----------, Nov 29, 2024

Changes:
  • Added support for NoteBlockAPI (disabled by default)
  • Fixed bug with inventory on servers older than 1.21.3
  • Fixed sound enum bug from servers older than 1.21.3
  • Added GraveWalkOverEvent (this would have called GraveAutoLootEvent, but gave it its own event to be consistent)
  • Better document explode-protection and protection-radius methods in grave.yml
  • Config bumped to 18
  • Fixed bug if config is higher than the current version, it wouldn't regenerate any configurations
  • H2 fixes (SQLite won't be removed any time soon, but we will keep it for convenience sake until H2 conversion is working properly)
  • Graves that are invalid will now tell you when starting the server. These will load, but unexpected results could occur. We recommend reading the API documentation for developers who hook into our plugins.
  • Optimized some code
  • isNearGrave is now exposed for developers who want to use protection radius functionality.
----------, Nov 29, 2024

This should fix some bugs with events causing errors in some instances
----------, Oct 30, 2024

  • Added support for 1.21.3
  • GravesX now has an official API. Developers can look here to learn how to hook into our plugin
  • Removed Graveyards code (never was functional, but is coming back as an addon soon. Any plugins that hooked into GravesX to make graveyards functional(ish) will no longer function)
  • Heads and obituaries can now be naturally dropped (default: false)
  • Storage type being set to EXACT will no longer allow inventory interaction
  • Sound will now play upon death
  • Fixed some bugs with H2 database option. If you still encounter the error, check here.
  • Balance is now checked before the countdown occurs with teleport delay
  • Fixed graves becoming null in certain cases (Missing Block Data or block data being null)
  • Fixed migrations in certain conditions
  • Bumped config version to 17
Special thanks to @daretmavi @Pookachu @Tylorturner and @mizuo-san for the bug reports and @JaySmethers for helping with this update.
----------, Oct 30, 2024

Fixes and Changes:
  • Database no longer reloads when using /graves reload as it destroys graves data in some instances. If you need to modify any data in the graves database, restarting the server is a safer option.
  • Added MySQL Warning when using MYSQL database option in config.yml, but the server is using MariaDB version 11 or newer.
    upload_2024-10-9_18-4-29.png
  • Prevent plugin from disabling when using Microsoft SQL Server option.
  • Improved Database Loading.
----------, Oct 10, 2024

With the amount of issues with graves backups, the decision was made to remove it entirely as it broke functionality. If you need to backup inventory data upon death, we recommend using InventoryRollbackPlus. For hard crashes, we are not able to control any affects of corrupted database data using H2 or SQLite. If you are worried about such issues, recommend switching to MySQL/MariaDB, PostgreSQL, or Microsoft SQL Server.

Changes this version:
  • Updated HikariCP to version 6.0.0
  • Updated H2 to 2.3.232
  • Dropped support for Java 8. Minimum supported is Java 11.
Starting this version, Java 8 support is dropped and is no longer supported. Graves now supports Java 11 and newer. This will allow us to use better java methods, which Java 8 doesn't support.
----------, Oct 9, 2024

This update fixes the following issues found in 4.9.4.2:
  • Fixed grave backup failing
  • Fixed not closing SQLite connection after migration to a new database
  • Microsoft SQL Server now connects properly.
  • Microsoft SQL Server version is now reported in bstats.
  • Particles now delays until the particle trail animation is completed (prevents spamming and lagging clients)
Added in 4.9.4.3:
  • Added GraveCompassAddEvent, which fires when a grave compass is added to someone's inventory.
----------, Oct 7, 2024

  • Added ``/graves tp``
  • Added FancyNpcs integration
  • Support for Floodgate
  • Integration Warnings and errors now display properly
  • Added Microsoft SQL support
  • H2 is now the default SQL option. (Read below)
  • Fixed nether roof bug in nether environmental worlds
  • Save backups of old graves (will work on interval next update)
  • Fix From To Listener for grave head
Why we are retiring SQLite in favor of H2 as the default database driver?
This change comes from our need for better performance and scalability, enabling us to manage larger datasets more efficiently. Unlike SQLite, which can only handle one query at a time, H2 allows for multiple queries to run simultaneously. This means we won't face issues with larger databases that exceed 25MB, leading to a smoother experience overall.
----------, Oct 6, 2024

Changes/Fixes

  • Fixed steve head bug on 1.21.1

  • Fixed ItemsAdder Furniture bug when break is disabled

  • Minedown now uses Minedown Adventure, which means the Minedown plugin is no longer required since its shaded.

  • Replaced SpigotLibraryLoader with Libby (That is why the file size is lower as Libby supports shading. This will create a folder called libs in the GravesX folder)

  • Revamped Graves Dump to include CPU information and Disk Read/Write information.

  • Fixed an issue where negative space would show up as negative bytes, which would create confusion

  • Updated bstats.

  • Grave Compass can now emit particles on compass interaction
----------, Sep 24, 2024

Resolved the skull issue for spigot with how it handles Custom Grave Block Textures. This isn't a permanent fix, but will work for now until I figure a better way to implement this. For now, they will fallback to Player heads.

Read here:
https://github.com/Legoman99573/GravesX/issues/4#issuecomment-2350805468
----------, Sep 14, 2024

This update pushes to fix an error with loading EntityMaps. No database purging required.

Also thanks to TylorTurner for finding this bug.
----------, Sep 13, 2024

Additions:
  • Added GraveLootedEvent - Fired when a grave is emptied
  • Preview a protected graves inventory - Will allow someone to preview inventory items when the grave is in a protected state (Disabled by default in grave.yml under the protection section)
  • Explode Protection - Allows old explosion behavior when exploding a grave in a protected area (works well for plugins that regenerate the terrain when exploding near a grave site)
Fixes:
  • Grave Heads will no longer pop out when an explosion occurs
  • Validate profile against spaces in the name (illegal usernames still exist I guess and newer minecraft versions validate this now :cry:)
Changes:
  • Updated Authlib to 6.0.55
  • This version compiles on 1.21.1 - getTopInventory is reflected, which prevents any bugs in 1.7-1.20.6
  • Grave Compasses can no longer be moved to anvils, furnace, blast furnace, smoker, grindstone, or hoppers through the inventory (Prevents XP farm exploit)
  • Bumped config version to 14
  • permission.yml and token.yml no longer resets upon config version updates.
Thanks to TylorTurner for the feature requests for this version.
----------, Sep 13, 2024

  • Fixed a critical bug where only 1 grave would load on reload or restarting of the server
  • Bossbar is now displayed when teleporting to a grave is delayed.
  • Movement in teleport delay now supports the option to be strict, which means no movement at all period (disabled by default)
----------, Sep 6, 2024

Additions:
  • Grave Teleportation Delay (disabled by default)
Fixes:
  • Fixed IllegalArgumentException occurring with Grave Compass
  • Fixed Respawn Potion Effects not applying on death and respawn
  • Fixed an issue with Citizens data failing to load
  • ItemsAdder structure for Graves now works with ItemsAdder version 3.3.0 and newer. (If write is enabled, it will remove the old graves file structure to make room for the new structure. Recommend making a backup to be safe)
Changes:
  • Console will now display what maps are loaded for cache when being loaded into memory.
  • Restructured how storing death-reasons and world remapping will work
----------, Sep 6, 2024

  • Fixed some missing MiniMessage conversions (grave zombie, player head name and lore)
  • Option to allow Resistance and Fire Resistance effects on respawn (disabled by default in grave.yml)
  • Bumped config version to 10
  • Shift+Left Click will no longer allow selecting anything in Graves GUI.
----------, Aug 30, 2024

Fixed a critical bug with MiniMessage where converting legacy color codes to MiniMessage would sometimes fail or not format at all.
----------, Aug 30, 2024

Additions:
  • Grave Abandonment - When grave times out, the grave would be set to an abandoned state and that means that it will not show up in /graves gui
  • Remove First Grave - If a player dies, should we remove their first grave?
  • Obituary chance - Determines if the obituary should appear upon death
  • New Events:
    • GraveAbandonedEvent - Fired when a grave is abandoned
    • GraveObituaryAddEvent - Fired when a grave is given an obituary
    • GravePlayerHeadDropEvent - Fired when a player head is dropped.
    • GraveProtectionCreateEvent - Fired when a grave is given Grave Protection
Fixes:
  • Update all comments to be more consistent
  • Update FurnitureLib dependency
  • Fixed an issue where hover tags didn't work with kyori tags
  • Updated/Bumped most dependencies to the latest.
  • Migrator no longer called twice when migrating to MySQL/MariaDB
Changes:
  • Shaded Kyori and Minedown (because spigot doesn't support kyori natively and is needed to work properly)
  • Bumped config version to 9
  • Database Versions for MySQL/MariaDB and PostgreSQL are now included in dumps and metrics as of this version
  • Deprecated numerous methods to include support for new methods
  • H2 and PostgreSQL are now natively supported (since they both act the same way. Migration is mapped and should now work as expected)
  • SQLite Migrator now uses HikariCP to connect to the DB file before transferring all contents over (Just to be consistent and for better maintainability)
----------, Aug 29, 2024

Fixes a NullPointerException in grave protection logic. No real changes with this release.
----------, Aug 17, 2024

  • Fixed an issue with missing messages in grave.yml causing messages to return as null
  • Bumped config version to 8.
  • Fixed a bug where graves would try and remove hologram data that no longer exists when a grave expires
  • Metrics will now also log to https://bstats.org/plugin/bukkit/GravesX/23069.
  • Fixed an issue where graves would spam console when dumping graves content when a grave expires.
  • PlaceholderAPI now returns with the name gravesx instead of graves
  • Updated readme.txt to reflect GravesX (for consistency)
----------, Aug 17, 2024

  • Fixed IllegalArgumentException with Grave Protection in certain cases
  • Fixed compass bugs where functions stopped working (broke it while patching an exploit. Its fixed now)
  • Fixed bug with Explosion config option not being respected
  • Added config option in grave.yml to allow you to set the grave protection radius
  • Fixed compass not working for versions older than 1.19
  • Config Version Bumped to 7. REDO CONFIGS TIME :cry: (JK. Do not worry about having to manually setup your configs again. It will automatically update for you and save a backup)
----------, Aug 16, 2024

There was an exploit where players could dupe items when Auto Looting a grave. This has been patched out.

Changes:
- Patched compass exploit
- Grave Protection (this will protect a 15 block radius around the grave site. Explosions can occur if grave is set to explode, otherwise it will not explode anything)
----------, Aug 15, 2024

There is an issue in graves.yml that would cause an issue with graves not spawning because the format was incorrect in the configuration. This should now be fixed. There is a config version was bumped to 6 last update. If you have updated to 4.9.3.4, then copy the contents of grave.yml as it should fix the issue.
----------, Aug 12, 2024

There is an issue in graves.yml that would cause an issue with graves not spawning because the format was incorrect in the configuration. This should now be fixed. There is a config version was bumped to 6 last update. If you have updated to 4.9.3.4, then copy the contents of grave.yml as it should fix the issue.
----------, Aug 12, 2024

  • Added LuckPerms as a Permissions Provider
  • Added CoreProtect as a logging source for interactions (Requires API v9 or newer. API must be enabled in CoreProtect's configuration for this to function)
  • Citizens as a grave was improved
  • Graves Dump now checks Disk Space properly (as some may install on a separate drive from the boot drive)
  • Graves Dump now separates the config options.
  • Graves Dump will print out the plugin version for each plugin
  • Graves Dump will now detect if /reload was performed
  • Updated net.kyori.adventure-platform-bukkit to 4.3.4
  • Fix issue with Grave Zombies dropping heads when turning into drowned
  • Fix an issue with floating blocks when grave is looted.
  • Enabled GriefDefender as land protection (this is untested and if an issue occurs, make sure to disable it in config.yml)
  • Fixed Piston bug when placing a blocks in a 12 block radius in front of them.
  • Ensure temporarily chunk load task isn't overlapping when checking for chunks to load and drop graves contents.
  • Config Comments have been updated. Bumping config version to 6. You can check in Documentation to compare changes so you can migrate your old configurations
  • Fix where DustOption doesn't work in some cases (we will just not use them if that is the thing)
  • Particle Dust colors can now be done in hex format #rrggbb (yes, I just added hex color support :eek:. Legacy Color Codes still work, but hex will only work in 1.16 and newer.)
----------, Aug 12, 2024

  • Chunks where graves spawn will load and unload if the chunk isn't loaded. (Fixes Grave Item drops disappearing when not expected to)
  • Redone Permissions to use Vault, if installed. If vault is not installed or fails to load as a permission handler, it will now fall back to Bukkit's permission handler. (This will also be included in the /graves dump command)
  • Added H2 Database option (Keep note that this is still in testing and is not ready for production use. PRs are welcome)
----------, Aug 7, 2024

It seems that older versions were getting an issue because in 1.21, inventoryview was changed to an interface. This should fix the issues with spam and now compiles on 1.20.6 again.
----------, Aug 2, 2024

IF YOU ARE USING SKRIPT, YOU WILL NEED TO RE-DOWNLOAD TO FIX PARSING ISSUES. OTHER THAN THAT, NO NEED TO RE-DOWNLOAD 4.9.3.1 AGAIN
  • Fixed an issue with GravesOpenEvent and GravesCloseEvent issues for plugin devs (Entity was added back in and has been deprecated)
  • Re-written all Listeners (for maintainability and to narrow down issues)
  • Update dependencies
  • Added GraveTeleportEvent (Fires when a player teleports to their grave)
  • Added new permission graves.teleport.world.<world name> incase you want to disable graves teleports with graves in certain worlds. Granted by default.
----------, Aug 2, 2024

  • Fixed an issue with GravesOpenEvent and GravesCloseEvent issues for plugin devs (Entity was added back in and has been deprecated)
  • Re-written all Listeners (for maintainability and to narrow down issues)
  • Update dependencies
  • Added GraveTeleportEvent (Fires when a player teleports to their grave)
  • Added new permission graves.teleport.world.<world name> incase you want to disable graves teleports with graves in certain worlds. Granted by default.
----------, Aug 2, 2024

* Fixed an issue with GravesOpenEvent and GravesCloseEvent issues for plugin devs (Entity was added back in and has been deprecated)
* Re-written all Listeners (for maintainability and to narrow down issues)
* Update dependencies
----------, Aug 2, 2024

  • Fixed a bug with Graves timeouts when a grave is expired. (Also if plugins or skripts cancel the GravesTimeoutEvent, it will be set to a forever grave.)
  • Skript integration will only work on server startup (this fixes /graves reload failing when skript is detected, but to use skript implementation, you would have to restart the server)
  • Added GravesProtectionExpiredEvent (fires when graves protection is expired. Can be cancelled in your own plugins if you really like to)
  • Didn't mention last update, but Citizens support was added as of 4.9.2.8. Currently there is a bug with placement, but that will be fixed in a future version. You can check the documentation tab if you want to use Citizens as a grave.
  • SQLite database options were missing since the re-write to HikariCP, so added them back in :D
Event API related changes:
GraveCloseEvent and GraveOpenEvent has been moved from Entity to Player, so there may be breaking changes with these versions.
----------, Jul 31, 2024

  • Downgraded HikariCP back to 5.0.1 (fixes java.lang.UnsatisfiedLinkError)
  • Added Partial Skript Support (only for events)
  • Re-written all event classes
  • Reduced shading in favor of using spigot's library implementation
----------, Jul 30, 2024

  • Problematic items will not be saved to graves. (it will log the item and nbt data. This does not fix the using-converts-to bug, but is good for futures sake so this hopefully doesn't happen again with graves not generating.)
  • Added experimental PostgreSQL Support (if you find any bugs, report it in Discord. Must read below on how to use this)
  • Replaced hastebin with mclo.gs (hastebin now requires a bearer token and its easier to just log with something that isn't going to be a pain in the butt for most users. Config will allow the old dump method HASTEBIN, but if you want to update it for futures sake, you can change it to MCLOGS)
  • Fixed /graves dump not working on spigot. (shaded json library)
If you want to use PostgreSQL, you will need to update your config.yml manually to this:

Code (Text):
  ###########
  # Storage #
  ###########
  # Data storage system.
  storage:
    type: POSTGRESQL # MYSQL, MARIADB, POSTGRESQL and SQLITE, More storage types will be added in the future.
    sqlite: # Unless you know what you're doing leave options under sqlite default.
      journal-mode: "WAL" # https://www.sqlite.org/pragma.html#pragma_journal_mode
      synchronous: "OFF" # https://www.sqlite.org/pragma.html#pragma_synchronous
    mysql: # Unless you know what you're doing leave options under sqlite default.
      host: "localhost" # Host of the Database
      port: 3306 # Port for the Database (do not change unless you use a different port)
      username: "username" # Database Username. Make sure the user has access to the database.
      password: "password" # Database Password. case-sensitive
      database: "graves" # Database we should use.
      maxConnections: 10 # Max number of connections allowed to make to a database. Do not change unless you know what you are doing.
      maxLifetime: 1800000 # Max lifetime of a connection. DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING
      connectionTimeout: 30000 # How long before the connection times out. DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING. Only increase if your connection keeps timing out.
      useSSL: false # Should we use SSL? Unless you know what you are doing, leave this at false.
      allowPublicKeyRetrieval: false # Should we grab the public key? DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING
      verifyServerCertificate: false # Should we verify the server certificate? DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING
    postgresql:
      host: "localhost" # Host of the Database
      port: 3306 # Port for the Database (do not change unless you use a different port)
      username: "username" # Database Username. Make sure the user has access to the database.
      password: "password" # Database Password. case-sensitive
      database: "graves" # Database we should use.
      maxConnections: 10 # Max number of connections allowed to make to a database. Do not change unless you know what you are doing.
      maxLifetime: 1800000 # Max lifetime of a connection. DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING
      connectionTimeout: 30000 # How long before the connection times out. DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING. Only increase if your connection keeps timing out.
      ssl: false # Should we use SSL? Unless you know what you are doing, leave this at false.
      sslfactory: "com.ranull.graves.postgresql.ssl.NonValidatingFactory" # SSL Factory class. Shaded to com.ranull.graves.postgresql but you can use the direct class if you like, but it is not recommended.
      sslmode: "disable" # Options: disable, allow, prefer, require, verify-ca, verify-full
      sslrootcert: "/path/to/server.crt" # Server Root Certificate
      sslcert: "/path/to/client.crt" # SSL Certificate
      sslkey: "/path/to/client.key" # SSL Key
----------, Jul 28, 2024

This version should resolve an issue with queries executing once a database connection is closed, thus would spam console with errors.
----------, Jul 25, 2024

  • Added GraveAutoLootEvent and GraveZombieSpawnEvent
  • Shaded net.kyori to prevent conflicts with other plugins
  • Functional Version Update Checker
  • Fixed a bug with Particles not registering properly on certain forks
  • Graves Dump will now include OS, Java, RAM, and Disk information
  • You can now disable metrics (config version bumped to 5, your config will re-generate. Keep a backup of your configurations or you can compare configs and implement the necessary changes)
  • Error should no longer occur when completely emptying a grave in certain conditions (if you hit the time mark at the right time, it would error out)
----------, Jul 24, 2024

  • Fix an issue with /graves dump failing to run. (if it fails to upload to Hastebin, it will save a dump regardless)
  • Graves Dumps will now be saved in /plugins/GravesX/dump to keep the root directory clean
  • Prevent console spam in some instances when emptying a grave in some conditions
  • Document the entire plugin (you can read up on it in the source code. If you want to check events with your own plugins, it is documented in developers.md)
  • Fix an issue with Particles returning IllegalArgumentException on certain spigot/paper forks (Always make sure you are using the latest version as most fixes will occur when you update your server jar to the latest)
----------, Jul 23, 2024

This should prevent an issue on certain forks where Particle returns null with certain forks, like purpur.
----------, Jul 22, 2024

This will rename the folder Graves to GravesX in the plugins folder. No need to manually rename the folder.
----------, Jul 21, 2024

Resource Information
Author:
----------
Total Downloads: 13,897
First Release: Jul 21, 2024
Last Update: Dec 29, 2024
Category: ---------------
All-Time Rating:
17 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings