GriefPrevention3D

A fork of GriefPrevention that adds 3D subdivisions

File Details

GriefPrevention3D v18.1.3

  • R
  • Jun 16, 2026
  • 793.66 KB
  • 4
  • 26.1.2+44

File Name

GriefPrevention3D.jar

Supported Versions

  • 26.1.2
  • 26.1.1
  • 26.1
  • 1.21.5-Snapshot
  • 1.21.11
  • 1.21.10
  • 1.21.9
  • 1.21.8
  • 1.21.7
  • 1.21.6
  • 1.21.5
  • 1.21.4
  • 1.21.3
  • 1.21.2
  • 1.21.1
  • 1.21
  • 1.20.3-Snapshot
  • 1.20.5-Snapshot
  • 1.20.6
  • 1.20.5
  • 1.20.4
  • 1.20.3
  • 1.20.2
  • 1.20.1
  • 1.20
  • 1.19.4
  • 1.19.3
  • 1.19.2
  • 1.19.1
  • 1.19
  • 1.18.2
  • 1.18.1
  • 1.18
  • 1.17
  • 1.16
  • 1.15
  • 1.14
  • 1.13
  • 1.12
  • 1.11
  • 1.10
  • 1.9
  • 1.8.3
  • 1.8.1
  • 1.8

v18.1.3: Locale-based message localization and startup header system

GriefPrevention3D v18.1.3

Wiki: GriefPrevention3D Wiki

Features

Locale-based message localization

Messages are now loaded from YAML files based on the GriefPrevention.Locale config setting, replacing the single messages.yml approach.

File layout:

  • GriefPreventionData/messages_{locale}.yml — active locale files (e.g., messages_en.yml, messages_es.yml, messages_pt_BR.yml)
  • GriefPreventionData/Lang/ — reference copies extracted from JAR on every reload (users copy from here)
  • GriefPreventionData/messages.yml — legacy file, still supported as fallback

Priority order:

  1. messages_{locale}.yml matching config_locale — respects user's locale setting
  2. messages.yml — legacy fallback for migrated servers
  3. Auto-detect — scans for any messages_*.yml if config locale file is missing
  4. Extract from JAR — creates the file automatically if nothing exists

Auto-detection: If config_locale is set to en but only messages_es.yml exists, the plugin auto-switches to es and logs:

Locale 'en' didn't match provided messages_es.yml. Auto-switched to 'es'

Key merging: On every startup, missing keys from the JAR bundled version are merged into the user's locale file and saved, so new messages are automatically available after JAR updates.

Startup header with localized details

The server startup header now displays localized detail lines with consistent two-column alignment:

Platform: Paper 26.1.2
3D Subdivisions: ON        3D Admin Claims: ON
Nested Claims: OFF         Shaped Claims: OFF
Locale: es                 Messages loaded: 276
Storage: File              Claims Loaded: 0
  • Detail block generated in code via ${details} placeholder — consistent formatting across all languages
  • TextColor utility consolidates $/& color codes and &#RRGGBB/#RRGGBB hex to Minecraft legacy format
  • PlatformDetection.getServerVersion() shows actual server platform (e.g., "Paper 26.1.2") instead of boolean ON/OFF
  • Startup header locale matches config_locale (with fallback: pt_BRpt)

MessagesLoaded message

New MessagesLoaded enum constant outputs localized "Messages loaded: N" in the startup details via ${locale.info} placeholder.

Claim expiration permissions

Two new permissions added to plugin.yml:

  • griefprevention.checkclaimexpiry — allows players to check claim expiration status
  • griefprevention.dontexpire — prevents a player's claims from expiring

Compatibility

Category Support
Minecraft Versions 1.8.8 -> 26.1.x
Minimum Java Java 8
Bukkit API Target 1.13

Migration

No data migration is required. Existing messages.yml files continue to work as legacy fallback. To use localized messages, copy messages_{locale}.yml from GriefPreventionData/Lang/ to GriefPreventionData/ and set GriefPrevention.Locale in config.yml.