Skip to content

[2.7.0] better-GraveStones cleanup / DB keepalive / Locator-Bar update

Choose a tag to compare

@SLINIcraftet204 SLINIcraftet204 released this 03 May 07:53
c710fe7

Changed

  • Cleaned the plugin lifecycle in GravePlugin:
    • clearer storage initialization,
    • clean storage close on reload/disable,
    • separate listener/command registration,
    • safer reload flow.
  • Reworked MySqlGraveStorage:
    • no global static connection anymore,
    • validates the connection before SQL operations,
    • reconnects automatically if the DB server closed the idle connection,
    • async SELECT 1 keepalive task,
    • configurable keepalive interval in MySQL.yml,
    • safer table-prefix handling,
    • waypoint_entity_id column support.
  • Cleaned SerializationUtil with try-with-resources.
  • Added waypointEntityId persistence to YAML and MySQL storage.
  • Added LocatorBarManager for Minecraft 1.21.6+:
    • optional player waypoint colors,
    • deterministic player colors via UUID hash,
    • optional per-player color overrides by name or UUID,
    • optional grave waypoint markers via invisible marker ArmorStands,
    • normal grave color and near grave color,
    • near-distance glowing state,
    • stale marker cleanup when chunks load.

Locator-Bar notes

This version intentionally uses only colors. It does not require or configure resource-pack textures/styles.

Player color modes in config.yml:

colorMode: "vanilla"   # leave player colors untouched
colorMode: "fixed"     # use defaultColor for every player
colorMode: "uuid_hash" # calculate one stable color from each player's UUID

Graves use color normally and nearColor when a player enters nearGlowDistance.
A real separate golden border around the locator-bar icon is not available with pure server-side colors only, so the plugin switches the grave waypoint color to gold and can enable vanilla entity glow while nearby.

Enable the feature in config.yml under locatorBar.enabled and locatorBar.graves.enabled after your server is on Minecraft/Paper/Spigot 1.21.6+.

2026-05-02: Locator-Bar player colors adjusted

  • Removed texture/style based locator configuration completely.
  • Player UUID colors now use a fixed safe palette.
  • gray, dark_gray, gold, and yellow are reserved for grave markers and are not used by player UUID colors.
  • Player defaultColor and perPlayerColors ignore reserved grave colors as a safety net.

2026-05-02: UUID gradient style added

  • Added locatorBar.players.uuidHashStyle with solid and gradient.
  • solid keeps the previous stable UUID-to-color behavior.
  • gradient animates player waypoint colors through safe hex color pairs.
  • Gradient pairs are intentionally chosen so players do not become gray, dark gray, gold, or yellow.
  • Added locatorBar.players.uuidGradient.intervalTicks and steps for animation speed/smoothness.

2026-05-02: Grave waypoint marker protection

  • Grave locator ArmorStands are now treated as internal static marker entities.
  • Marker ArmorStands are configured as invisible, marker-sized, gravity-free, invulnerable, silent, non-collidable, non-pickup, persistent entities.
  • The locator tick now repairs marker state and position regularly.
  • Damage, fire/combustion, portal movement, and external teleports are cancelled for managed grave waypoint markers.
  • If a command/plugin still manages to kill the marker entity, the plugin clears drops/XP and recreates the marker automatically from the stored grave data.
  • Added locatorBar.graves.markerProtection config for enabling/disabling marker protection behavior.

Note: no Bukkit/Spigot plugin can make an entity absolutely immune to every possible server command or another plugin that force-removes entities after this plugin has handled events. The plugin therefore protects normal events and recreates missing/killed marker entities on the next repair cycle.

Full Changelog: https://github.com/CrayonSMP/Crayon-GraveStones/commits/2.7.0